ss 端口监听为 9000 , iptables 放行 9000 后, telnet 测试 9000 正常,但是 ss 连接超时,当 service iptables stop
关闭后, ss 连接正常,应该就是 iptables 规则导致,但是又无法找到具体那条规则有问题。完整规则如下:
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:syn-flood - [0:0]
-A INPUT -p udp -m state --state NEW -m udp --dport 9000:9999 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9000:9999 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 20000:50000 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 20000:50000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT
-A INPUT -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
-A syn-flood -j REJECT --reject-with icmp-port-unreachable
COMMIT
再次说明一下,端口 telnet 是正常的,但是 ss 无法使用,关闭 iptables 后正常。
アウトバウンドルールを見てください