当启用防火墙时,如何使用 smbclient 通过主机名连接到 Windows 共享?

当启用防火墙时,如何使用 smbclient 通过主机名连接到 Windows 共享?

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 数据包。

相关内容