IPv6 対応の途中
By takagiwa on Tuesday, November 3 2020, 21:44 - Permalink
VPS で時々 IPv6 対応にチャレンジしているんだけれど、なかなかうまくいかない。
北米のある VPS
以前 ipfw を使っても通っていた。pf に移行する予定で、ただ他で通らなくなっているので、設定は考え直す必要あり。
日本のある VPS (1)
accept_rtadv でアドレスはとれているようで、それで取得した IPv6 アドレスにも ping6 はできるけれど、外のサーバーには ping6 が通らない。ipfw の内容は北米のものとほぼ同じだったけれど……。
この VPS は IPv4 アドレスを追加していて、VPS の会社の都合、その追加分のアドレスは、インタフェース付きで追加されていた。その追加されたインタフェースに IPv6 アドレスが割り振られていなかった。
元々のインタフェースは使っていなかったものの、IPv6 アドレスを割り振ったら使えるようになった。ipfw を有効にしても動いている。
日本のある VPS (2)
accept_rtadv ではアドレスが取れない。
アサインされているはずの範囲で手動でアドレスを設定すると、外のサーバーに対する ping6 で
ping6: sendmsg: Permission denied
というエラーになる。けど結局 pf のせいらしい。pf を切って手動で設定したら通った。
hostname="XXXXXXXX" keymap="jp.kbd" ifconfig_vtnet0="inet XXX.XXX.XXX.XXX netmask 255.255.254.0" ifconfig_vtnet1="down" ifconfig_vtnet2="down" defaultrouter="XXX.XXX.XXX.XXX" #ipv6_enable="YES" #ipv6_gateway_enable="NO" ##ipv6_ifconfig_vtnet0="XXXX:XXXX:XXX:XXXX:XXX:XXX:XXX:XXX prefixlen 64" ifconfig_vtnet0_ipv6="XXXX:XXXX:XXX:XXXX:XXX:XXX:XXX:XXX prefixlen 64" ##ipv6_defaultrouter="XXXX::1%vtnet0" ipv6_defaultrouter="XXXX::1%vtnet0" #ipv6_activate_all_interfaces="YES" ipv6_network_interfaces="vtnet0" #ifconfig_vtnet0_ipv6="inet6 accept_rtadv"
欧州の VPS
自分自身には ping6 できるものの、外に対してはやはり Permission denied になる。pf を切ると通るようになる。
TODO
全ての VPS で pf に移行するつもりなので、IPv6 対応のルールを設定すればなんとか。