smbclient -L //hostname
当防火墙启用时,我无法连接到 Windows 计算机上的文件共享。
无论我使用的是 ufw(允许传出流量并使用默认配置回复)还是 iptables(我允许传出流量并使用 回复iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
),都会发生这种情况。
但是,smbclient -L //ip-address
无论防火墙是否启用,它都可以工作。
我还在 Ubuntu 上运行的 Samba 服务器上测试了这一点,smbclient -L //hostname
当启用防火墙时它仍然不起作用,但smbclient -L //ip-address
无论防火墙是否启用它都可以工作。
作为参考,以下是我在测试期间使用的 iptables 规则:
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -d 224.0.0.251/32 -p udp -m udp --dport 5353 -j ACCEPT
COMMIT
答案1
我遇到了类似的问题:我没有安装 samba,但我想用 smbclient 浏览网络,但我的网络中找不到服务器,但关闭防火墙后,我可以看到所有服务器。
经过搜索,我发现 ufw(我的防火墙)没有加载 nf_conntrack_netbios_ns 模块。
我编辑了文件 /etc/default/ufw,在 IPT_MODULES= 行中添加了模块,并重新启动了防火墙没有开放任何端口好了,我可以浏览我网络中的 Samba 共享了:)
更多人遇到了这个问题,并且在 ufw 中发现了一个与此相关的 bug:https://bugs.launchpad.net/ufw/+bug/360975
希望这可以帮助。
答案2
关闭防火墙;您已经阻止了另一台机器试图告诉您其名称的 SMB 数据包。