Ubuntu 16.04 でIPv6を設定しようとしてハマった話
結論からいうと↓のスタティックルートがいけなかったんですけどね。
com1.hatenablog.jp
設定は /etc/network/interfaces に記述する
auto enp0s8 iface enp0s8 inet static address 10.0.0.203 netmask 255.255.255.0 post-up route add -net 172.16.0.0 gw 10.0.0.201 netmask 255.255.255.0 dev enp0s8 iface enp0s8 inet6 static address fd00::203/64 netmask 64 post-up route -A inet6 add fd01::/64 gw fd00::201
なぜハマったのか
冒頭にも書きましたがスタティックルートの書き方に問題がありました。
/etc/network/if-up.d/static-routes
にスタティックルートを書いてしまうと、/etc/network/interfaces
に設定したIPv6の設定が反映されなくなってしまうようです。
/etc/network/interfaces
にIPv6の設定を記述してネットワークをリスタートすればIPv6アドレスが反映されます。
$ ifconfig enp0s8 enp0s8 Link encap:イーサネット ハードウェアアドレス 08:00:27:d6:a1:81 inetアドレス:10.0.0.203 ブロードキャスト:10.0.0.255 マスク:255.255.255.0 inet6アドレス: fe80::a00:27ff:fed6:a181/64 範囲:リンク inet6アドレス: fd00::203/64 範囲:グローバル UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:257 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:423 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:33678 (33.6 KB) TXバイト:41334 (41.3 KB)
/etc/network/if-up.d/static-routes
にスタティックルートを記述してネットワークをリスタートしまうと反映されていたIPv6アドレスが消えてしまうようです。
IPv6の設定をいくらググっても同じような設定しかでてこなくて(設定自体は間違っていないので当然ですがw)、原因は他にあった。というお話でした。