Samba 在沒有 Internet 連接的情況下無法在 LAN 上工作
我在區域網路中的 CentOS 7.2 伺服器上有一個 Samba 4 共享,我可以從一些 Windows 10 客戶端訪問它。
客戶端使用伺服器 IP 訪問共享,並且 Samba 被配置為獨立伺服器,而不是域成員伺服器。
當網際網路連接啟動時,一切正常,但當沒有網際網路連接時,客戶端最多需要 20 分鐘才能顯示登錄憑據視窗。
這似乎不是與網路相關的問題:客戶端可以訪問伺服器,像往常一樣快速 ping 它,使用 HTTP 或 SSH 等其他協議,並且通常可以完美地通過 LAN 執行所有其他網路活動。
此外,它在長時間等待後仍然有效,這表明我在此過程中存在某種超時。
如果從我的本地路由器斷開 WAN 電纜並嘗試從客戶端訪問 Samba 共享,它開始等待某些東西(地址欄上的綠色載入進度緩慢移動),但是當我再次插入 WAN 電纜時,客戶端顯示登錄視窗。
Samba 日誌(調試級別 5)沒有顯示任何異常,但似乎有很多連接嘗試確實被伺服器接受:
[2016/11/15 16:18:34.378116, 3] ../source3/lib/access.c:338(allow_access) Allowed connection from 192.168.100.5 (192.168.100.5) [2016/11/15 16:18:34.436829, 5] ../lib/dbwrap/dbwrap.c:178(dbwrap_check_lock_order) check lock order 2 for /var/lib/samba/serverid.tdb [2016/11/15 16:18:34.436924, 5] ../lib/dbwrap/dbwrap.c:146(dbwrap_lock_order_state_destructor) release lock order 2 for /var/lib/samba/serverid.tdb ... ... this is repeated an unbelievably lot of times ... ...
我傾向於認為這是一個與 Windows 10 相關的問題,而不是網路/samba/伺服器問題。
我的情況與您的情況完全相同——當 WAN 埠打開時,LAN 中的 Samba 執行良好,但如果 WAN 埠關閉,則速度非常慢。我終於弄清楚了為什麼使用 tcpdump。
Samba 嘗試解析其主機名。
我的 Samba 伺服器在 中沒有自己的主機名條目
/etc/hosts
,因此它嘗試在 Internet 上解析它,如果 WAN 關閉,這需要很長時間。將您的 Samba 伺服器的 A / PTR 記錄添加到您的 LAN 名稱伺服器(由 Samba 使用),或者只是
/etc/hosts
在 Samba 上添加一個主機名條目。不再有綠色進度條!