我为 samba 客户端尝试了以下 iptables 规则,它们奏效了。请注意,INPUT、OUTPUT 和 FORWARD 的策略都设置为 DROP
iptables -A OUTPUT -m state --state NEW,ESTABLISHED -p udp --dport 137 -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED -p udp --dport 138 -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED -p tcp --dport 139 -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED -p tcp --dport 445 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
为什么我们只需要 samba 客户端的 OUTPUT 规则?为什么我们不需要 INPUT 规则来为传入的数据包打开这些端口?
另一个问题:链名在内部是否带有任何方向的意义,或者它们只是便于理解的助记符?
iptables:
-------------
# Generated by iptables-save v1.4.7 on Wed Aug 28 …Run Code Online (Sandbox Code Playgroud)