tunnelを使った方法ではありません。あしからず。
光プレミアムで使うTIPSです。vlan構成になっていますが、物理NICで別れている場合も同じ方法が使えます。
ご自宅にどうぞ。幸せになれるに違い有りません:P
別途、IPv6ルータが有り、インターネットへの到達性があるネットワークと、フレッツ光プレミアムにも同時に接続した場合、IPv6のマルチホーム環境となる。同時に接続した場合、スタティックルートを書き、両方のネットワークを使う方法を紹介する。
|v6 default | CTU(hikariP) 2001:a000::/21 / 2001:0d70::/30 +----+-----------+-----+ |(eth0.20) (eth0.11) | | Linux 2.6.x (debian) | +----------------------+
dev | addr | 備考 |
eth0.20 | 2001:200:564::80:ffff | native -> インターネット |
eth0.11 | 2001:a092:c0c0::80:ffff | native -> 地域IP網。closed |
デフォルトではRAを受け取る設定になっている為、
# netstat -rn -net6
でルーティング情報を調べることができる。 最後の方に存在している
::/0 fe80::200:87ff:fe8d:e678 UGDA 1024 106 0 eth0.11 ::/0 fe80::21c:c4ff:fe5f:3802 UGDA 1024 1 0 eth0.20
値を見ればよい
# ping6 -I eth0.11 fe80::200:87ff:fe8d:e678 # ping6 -I eth0.20 fe80::21c:c4ff:fe5f:3802
raを受け取らない
# echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
redirectを許可
# echo 1 > /proc/sys/net/ipv6/conf/all/accept_redirects
ipv6 rorwardingを無効(必要な場合のみ。今回の用途では不要)
# echo 0 > /proc/sys/net/ipv6/conf/all/forwarding
# ip -6 addr add 2001:a092:c0c0::80:ffff/64 dev eth0.11 # ip -6 addr add 2001:200:564::80:ffff/64 dev eth0.20
# ifconfig eth0.20 add 2001:200:564::80:ffff/64 でも、同様のことができる
# route -A inet6 add 2001:a000::/21 gw fe80::200:87ff:fe8d:e678 dev eth0.11 # route -A inet6 add 2001:0d70::/30 gw fe80::200:87ff:fe8d:e678 dev eth0.11 # route -A inet6 add default gw fe80::21c:c4ff:fe5f:3802 dev eth0.20
インターネットへの到達性があるか確認
# traceroute6 www.nic.ad.jp
地域IP網へ到達性があるか確認
# traceroute6 ctu.fletsnet.com
もっときれいな方法が有るかもしれませんが、今回は次のように設定。
vi /etc/network/interface
auto eth0.11 eth0.20 iface eth0.11 inet6 static address 2001:a092:c0c0::80:ffff/64 netmask 64 up route -A inet6 add 2001:a000::/21 gw fe80::200:87ff:fe8d:e678 dev eth0.11 up route -A inet6 add 2001:0d70::/30 gw fe80::200:87ff:fe8d:e678 dev eth0.11 iface eth0.20 inet6 static address 2001:200:564::80:fff/64 netmask 64 up route -A inet6 add default gw fe80::21c:c4ff:fe5f:3802 dev eth0.20
※ RedhatLinuxやCentOS、Fedoraは、書き方わかりません。強引に、コマンド類をrc.localに書けば、起動時は動くでしょう(知っている人追記募集)
<ぼそ>
っていうか、IPv6はnetmaskではなく、prefixrenなんだけどな…
</ぼそ>