前言

最近在配置ip6tables的时候,发现并不能完全照搬iptables(ipv4)用的方法到ip6tables上。
允许SSH(22)端口tcp协议后再进行全DROP,SSH直接下机了…tcping也不通
经过Google等查证后,发现icmpv6是ipv6中重要的一环
若将icmpv6全部DROP后 TCPv6也无法建立连接

原本的配置

1
2
ip6tables -I INPUT -p tcp --dport 22 -j ACCEPT
ip6tables -P INPUT DROP

改进后

1
2
3
4
5
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
ip6tables -I INPUT -p icmpv6 --icmpv6-type 128 -j DROP
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -I INPUT -p tcp --dport 22 -j ACCEPT
ip6tables -P INPUT DROP

这样同时做到了禁ping也不影响TCPv6建立连接~