一天又一天,我的 Samba 共享(Debian 8,当前 Samba 4.1.17)不再出现在 Windows 网络邻居(Win 10)中。几天前,仍然可以通过在地址栏中输入 \\servername 来访问它,但现在不再可能了。
但是,仍然可以通过在地址行中输入 \\192.168.200.10(服务器 ip)来访问共享,因此服务正常运行,防火墙允许流量进入等。
由于我没有更改任何配置,我猜是某个更新破坏了某些东西。我尝试了所有能找到的方法来修复这个问题,但都没有成功。
现在的问题是:我怎样才能使服务器像以前一样出现在网络邻居中,并使其再次可以通过主机名访问?让家人总是输入 IP 很困难。
编辑:重新安装每个远程连接到 samba 的软件包并复制粘贴配置后,我可以通过 \\SERVER\share 访问共享,但服务器仍然没有出现在网络邻居中。
以下是 smb.conf 和 iptables 配置:
smb.conf:
[global]
domain master = yes
preferred master = yes
local master = yes
wins support = yes
os level = 255
workgroup = WORKGROUP
netbios name = SERVER
security = user
guest ok = yes
guest account = nobody
map to guest = bad user
name resolve order = bcast lmhosts host wins
# disable printer stuff
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
[Share]
path = /path/to/share
force user = nobody
read only = No
create mask = 0777
force create mode = 0777
directory mask = 02777
force directory mode = 02777
browseable = yes
public = yes
iptables 配置:
root@SERVER:/etc/samba# iptables -L -n -v
Chain INPUT (policy ACCEPT 2070 packets, 209K bytes)
pkts bytes target prot opt in out source destination
463 83236 fail2ban-owncloud tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
463 83236 fail2ban-apache-nohome tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
463 83236 fail2ban-apache-modsecurity tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
463 83236 fail2ban-apache-overflows tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
463 83236 fail2ban-apache-noscript tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
1519 117K fail2ban-ssh-ddos tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
1519 117K fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
600 47664 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:137 state NEW,ESTABLISHED
46 10365 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:138 state NEW,ESTABLISHED
18 1983 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:139 state NEW,ESTABLISHED
73360 99M ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445 state NEW,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1605 packets, 284K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- * eth0 0.0.0.0/0 0.0.0.0/0 udp spt:137 state ESTABLISHED
11 2310 ACCEPT udp -- * eth0 0.0.0.0/0 0.0.0.0/0 udp spt:138 state ESTABLISHED
17 1964 ACCEPT tcp -- * eth0 0.0.0.0/0 0.0.0.0/0 tcp spt:139 state ESTABLISHED
83301 26M ACCEPT tcp -- * eth0 0.0.0.0/0 0.0.0.0/0 tcp spt:445 state ESTABLISHED
Chain fail2ban-apache-modsecurity (1 references)
pkts bytes target prot opt in out source destination
463 83236 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-apache-nohome (1 references)
pkts bytes target prot opt in out source destination
463 83236 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-apache-noscript (1 references)
pkts bytes target prot opt in out source destination
463 83236 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-apache-overflows (1 references)
pkts bytes target prot opt in out source destination
463 83236 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-owncloud (1 references)
pkts bytes target prot opt in out source destination
463 83236 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-ssh (1 references)
pkts bytes target prot opt in out source destination
1519 117K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-ssh-ddos (1 references)
pkts bytes target prot opt in out source destination
1519 117K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
smbd 和 nmbd 正在运行:
root@SERVER:/etc/samba# pgrep -l mbd
5999 smbd
6000 smbd
6023 nmbd
6024 nmbd
这
smbclient -L localhost
产量
SERVER Samba 4.1.17-Debian
Workgroup Master
--------- -------
WORKGROUP SERVER
因此看起来该服务器已被正确选举为主服务器。
答案1
听起来像是 DNS 问题。这更像是一种黑客式的解决方法,但您可以做的是在 HOSTS 文件(在 下%SystemRoot%\System32\drivers\etc\hosts
)中添加一个条目,将 IP 地址映射到主机名。只需添加一个新行,其中包含 IP_ADDRESS HOSTNAME(例如:192.168.200.10 servername)。这将允许您的计算机将 servername 解析为 ip 地址。这不是理想的选择,因为您必须对所有计算机执行此操作,并且每当服务器的 ip 更改时,您还必须更新 hosts 文件。同时,您可以检查路由器设置,看看是否可以手动为服务器分配主机名。