第一次编辑
我将主机名改为 7 个字符。log.nmbd 中有关无法找到服务器的错误消失了
错误 - 在子网 192.168.1.143 上的工作组 WORKGROUP 中找不到服务器 MY-FILESERVER
现在我看到出现了一个新错误:
../source3/nmbd/nmbd_browsesync.c:251(domain_master_node_status_fail) domain_master_node_status_fail: Doing a node status request to the domain master browser for workgroup WORKGROUP at IP 192.168.1.143 failed. Cannot sync browser lists.
现在,当我从机器本身运行 smbtree 时,我只能看到一个共享文件夹。此外,在 log.smbd 中,我看到了以下行:
Samba 名称服务器 IDSHARE 现在是子网 192.168.1.143 上工作组 WORKGROUP 的本地主浏览器
我猜测问题在于子网是一个单独的 IP 地址,而不是一组地址。
初始帖子
我正在配置 Samba,但遇到了很多麻烦。运行时共享机器及其共享没有出现smbtree
。这是我第一次遇到这个问题,无法找出根源。所以我想你们中的一些人可以分享一些提示 ;)
在 Ubuntu 16.04 上,我安装了 Samba 4.3.9。重新启动 Samba 后, testparm
返回以下配置:
# Global parameters
[global]
netbios name = MY-FILESERVER
server string = %h server (Samba, Ubuntu)
server role = standalone server
security = USER
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[samba_test_folder]
comment = A test Samba share
path = /home/myname
read only = No
guest ok = Yes
现在,一旦我smbtree
从另一台机器运行,我就看不到实际的机器出现了。我看到局域网上的一些 Windows 机器和另一台 Samba 服务器,但不是我关心的那台。
错误日志
我检查了日志,发现下面log.nmbd
这一行出现了好几次:
[2016/08/29 16:08:34.969537, 0] ../source3/nmbd/nmbd_become_lmb.c:533(become_local_master_browser)
become_local_master_browser: Error - cannot find server MY-FILESERVER in workgroup WORKGROUP on subnet 192.168.1.143
这是我找到的主要线索。 的结果是否可能 hostname
必须与 netbios 服务器匹配? 我读到 netbios 仅使用 16 个或更少字符的名称(来源)。hostname
在我遇到问题的机器上,返回一个包含超过 16 个字符的名称。
检查正在运行的进程
我以为这可能是防火墙问题,但却iptables -L
返回了一个空的规则表。
我检查了进程是否在正常监听。我用nmap -PN 192.168.1.143
(使用本地 IP 地址) 扫描了端口,得到了:
PORT STATE SERVICE
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:13:72:D6:5A:BA (Dell ESG Pcba Test)
我仔细检查了机器本身netstat -plunt
,似乎确认了一切运行正常:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 4837/smbd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2335/sshd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 4837/smbd
udp 0 0 192.168.255.255:137 0.0.0.0:* 4789/nmbd
udp 0 0 192.168.1.143:137 0.0.0.0:* 4789/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 4789/nmbd
udp 0 0 192.168.255.255:138 0.0.0.0:* 4789/nmbd
udp 0 0 192.168.1.143:138 0.0.0.0:* 4789/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 4789/nmbd
发生故障的机器有固定的IP地址,并与 报告的MAC地址相匹配nmap
,单台机器运行时会响应这个IP nmap -sP 192.168.1.0/24
。
我远非 Samba 和 Linux 方面的专家,所以我可能错过了一些显而易见的东西。
答案1
看起来,当通过网络接口定义静态 IP 时,Samba 会遇到麻烦。 https://ubuntuforums.org/archive/index.php/t-844604.html
接口定义不明确,添加后网络 192.168.1.0它按预期工作,并且共享出现在smbtree
。