没有互联网连接的Samba不能在局域网上工作

我在我的局域网中的CentOS 7.2服务器上有一个Samba 4共享,我从一些Windows 10客户端访问。
客户端使用服务器IP访问共享,并将Sambaconfiguration为独立服务器,而不是域成员。

当互联网连接启动时,一切正常,但是当没有互联网连接时,客户端需要20分钟才能显示login凭证窗口。

它似乎不是一个networking相关的问题:客户端可以到达服务器,像往常一样平稳,使用其他协议,如HTTP或SSH,并通常在LAN上完美地执行其他任何networking活动。
而且,经过长时间的等待,这个事实表明我在这个过程中有某种超时。

如果断开WAN电缆与本地路由器的连接并尝试从客户端访问Samba共享,则开始等待(地址栏上的绿色加载进度缓慢移动),但是一旦我再次插入WAN电缆,客户端显示login窗口。

Samba日志(debugging级别5)没有显示任何exception,但似乎有很多服务器确实接受的连接尝试:

[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相关的问题,而不是networking/桑巴/服务器之一。

我和你的情况完全相同 – 在WAN端口启动的情况下,局域网中的Samba可以正常工作,但是如果WAN端口closures,那么速度会很慢。 我终于弄清楚为什么用tcpdump。

Samba尝试parsing其主机名。

我的Samba服务器在/etc/hosts中没有自己的主机名,因此它试图在Internet上parsing它,如果WANclosures,这需要很长时间。

将Samba服务器的A / PTRlogging添加到您的局域网名称服务器(由Samba使用),或者将主机名添加到Samba上的/etc/hosts中。 没有更多的绿色进度条!

您使用IP地址挂载共享的事实并不意味着没有涉及名称parsing。
有反向名称parsing这样的事情。
当客户端试图根据IP来确定服务器的FQDN时,就会发生这种情况。 (想想dig -x ipaddress那种交易)

对于一个快速testing,我build议在客户端C:\Windows\system32\drivers\etc\hosts文件中添加一些共享的IP地址的名称,看看是否有帮助。
你可以在https://support.rackspace.com/how-to/modify-your-hosts-file/find详细的例子。

您也可以在客户端安装wireshark,并在出现问题时捕获networkingstream量。 然后通过端口53(DNS)过滤。 你应该看看是否有任何反向名称parsing。

这似乎是一个DNS相关的问题:客户端或服务器正在解决(或反向parsing)其他机器,这导致超时/慢速连接。 由于许多路由器支持DNS转发,请尝试以下操作:

  • 在您的路由器上设置Google的DNS(8.8.8.8和8.8.4.4)
  • 在客户端和服务器上,将路由器的内部IP地址设置为网关和DNS
  • 断开WAN电缆并重新尝试连接

这会改变什么吗?