IPv6 の ICMPv6 と pf ではまったはなし。

IPv6 理解した。って言えるようになりたい。

FreeBSD のサーバの設定をしていて、pf を使うと IPv6 で SSH が通らなくなってて、ちょっと不便だったので本腰を入れて調べてみたら通さなないといけないパケットを落としてたという、まあよくありがちが話なんだけど、ちょっとぐぐってみた限りではわからなかったのでここに記録しておく。 わかってしまえば「ああ、なるほどねー」という話だったのだが。

IPv6 で通信をするさいには ICMPv6 の 134,135,136 を通さないと通信できなくなってしまうため、SSHのみならず、その他すべての通信に支障がでるのでありました。 結果として

pass in inet6 proto ipv6-icmp icmp6-type 134 pass in inet6 proto ipv6-icmp icmp6-type 135 pass in inet6 proto ipv6-icmp icmp6-type 136
を /etc/pf.conf に追加してあげれば通るようになる。 パケットの気持ちになって考えるのはむずかしいのう。

参考URL:02-06 IPv6では重要な役割を担うICMPv6とリンクローカルアドレス https://www.vwnet.jp/IPv6ImplementationGuide/02/02-06.htm

タグ: FreeBSD IPv6 Pf Pf.conf Sshd