ip6tables: ipv6-icmp vs icmp
资料来源 https://www.jethrocarr.com/2013/02/09/ip6tables-ipv6-icmp-vs-icmp/
ICMP 是一种控制协议,通常被称为“ping”[但Ping是ICMP执行的功能之一,还有很多其他的功能,包括MTU发现和连接拒绝消息]。
IPv6 在很大程度上依赖于 ICMP。MTU通知是由ICMP协议执行的,MTU的大小设置不合适会阻止ICMP,会收到MTU通知并且失去了连接到远程站点。
关于ICMP的在防火墙上的设置规则
IPV4
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
IPv6
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p icmp -j ACCEPT
ip6tables -A INPUT -j REJECT --reject-with icmp6-adm-prohibited
需要注意下面的两条 ipv6 的,规则都被接受,但是第二条起作用
ip6tables -A INPUT -p icmp -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
相关的协议说明 /etc/protocols ,因为icmp是内核理解的有效协议,虽然ip6tables中不起作用,但仍然被ip6tables执行。
也可以使用 icmpv6
cat /etc/protocols | grep icmp
icmp 1 ICMP # internet control message protocol
ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6
资料来源 https://www.jethrocarr.com/2013/02/09/ip6tables-ipv6-icmp-vs-icmp/
ICMP 是一种控制协议,通常被称为“ping”[但Ping是ICMP执行的功能之一,还有很多其他的功能,包括MTU发现和连接拒绝消息]。
IPv6 在很大程度上依赖于 ICMP。MTU通知是由ICMP协议执行的,MTU的大小设置不合适会阻止ICMP,会收到MTU通知并且失去了连接到远程站点。
关于ICMP的在防火墙上的设置规则
IPV4
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
IPv6
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p icmp -j ACCEPT
ip6tables -A INPUT -j REJECT --reject-with icmp6-adm-prohibited
需要注意下面的两条 ipv6 的,规则都被接受,但是第二条起作用
ip6tables -A INPUT -p icmp -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
相关的协议说明 /etc/protocols ,因为icmp是内核理解的有效协议,虽然ip6tables中不起作用,但仍然被ip6tables执行。
也可以使用 icmpv6
cat /etc/protocols | grep icmp
icmp 1 ICMP # internet control message protocol
ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6