我在 Fedora 14 上运行 389 Directory Server。当我使用 ldapsearch 从 localhost 连接到 myserver.com:389 时,它工作正常。当我使用 ldapsearch 从网络上的另一台计算机连接到 myserver.com:389 并且我在服务器上运行 iptables 时,ldapsearch 无法连接到服务器。当我关闭服务器上的 iptables 时,另一台计算机上的 ldapsearch 会连接到服务器。
我的iptables文件如下:
*filter
:INPUT ACCEPT [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 -p tcp -m tcp --dport 443 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 389 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 389 -m state --state NEW,ESTABLISHED -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p tcp -m tcp --sport 389 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -p udp -m udp --sport 389 -m state --state ESTABLISHED -j ACCEPT
COMMIT
我应该如何修复我的 iptables 以便可以运行 LDAP?
答案1
您需要重新排序规则
-A INPUT -j REJECT --reject-with icmp-host-prohibited
在允许行之前
-A INPUT -p tcp -m tcp --dport 389 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 389 -m state --state NEW,ESTABLISHED -j ACCEPT
将“-A INPUT -j REJECT -reject-with icmp-host-prohibited”移至我提到的 ACCEPT 行下方,然后重新加载防火墙。
您可以尝试 iptables-save > 防火墙
编辑文件防火墙,按照我的建议移动行,保存,退出
iptables-restore < 防火墙
瞧。