Networking

iptables 不允許 ssh

  • October 20, 2014

這是我的 iptable 配置。但是我無法通過這些規則與 ssh 連接。我究竟做錯了什麼?我想阻止來自 xxxx ip 地址的 ssh 以外的所有流量。

iptables -F
iptables -X

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -p tcp -s x.x.x.x --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP

iptables -L 輸出

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  x.x.x.x        anywhere             tcp dpt:ssh state NEW,ESTABLISHED
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

您可能錯過了發布您的配置的一部分:

Chain INPUT (policy DROP)
Chain FORWARD (policy DROP)
Chain OUTPUT (policy DROP)

所以你所有的預設策略都是DROP

預設情況下,您正在丟棄通過您的 NIC 的所有輸出流量……

/sbin/iptables -I OUTPUT -p tcp -d x.x.x.x --sport 22 -m state --state ESTABLISHED -j ACCEPT

引用自:https://serverfault.com/questions/638407