概要
Firewalldでserviceやportで通信を許可してもIPv4は通信できてIPv6何故か通信ができないってことがある。
原因はIPv6で利用するICMPv6パケット通信がFirewalldで破棄されているためであり、これを許可すれば通信できるようになる。
説明は必要ない人向け
以下のコマンドを一行ずつ入力する。
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p icmpv6 --icmpv6-type 128 -j DROP
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 1 -p icmpv6 -j ACCEPT
permanentなのでreloadする。
firewall-cmd --reload
ちょっと詳しい説明
1行目
ICMPv6の中のType128 Echo RequestをDROP(破棄)する。
pingを許可する場合は入力する必要は無い。
2行目
ICMPv6の全ての通信をACCEPT(許可)する。