6to4をNAT越しに使う(基本原理編)
SINETで使えないと実用度6割減な気がするけど。
リレールータの所在
まず、ネットワークの最寄に6to4リレールータが有るかどうかをチェックしないといけない。これは、tracert 192.88.99.1(Windowsの場合)とかtraceroute 192.88.99.1(他のOS)で調べられることが多い。
うちはDION(現au one net)なので、近所にある。
tracert 192.88.99.1 Tracing route to 192.88.99.1 over a maximum of 30 hops 1 2 ms 1 ms 2 ms 192.168.0.238 2 7 ms 6 ms 6 ms 192.168.1.237 3 18 ms 17 ms 23 ms Z214001.ppp.dion.ne.jp [210.224.214.1] 4 19 ms 19 ms 19 ms 221.119.64.1 5 20 ms 19 ms 19 ms d-az56.line.neweb.ne.jp [211.134.168.221] 6 24 ms 63 ms 90 ms otecbb301.kddnet.ad.jp [210.155.124.193] 7 19 ms 19 ms 19 ms otejbb203.kddnet.ad.jp [203.181.97.145] 8 33 ms 62 ms 19 ms ix-ote207.kddnet.ad.jp [118.155.197.6] 9 21 ms 20 ms 20 ms 192.88.99.1 Trace complete.
しかし、近所に無いケースも有る(例 : 電通大)
tracepath 192.88.99.1 (中略) 3: uec-gate-po2.cc.uec.ac.jp (130.153.25.10) 6.968ms 4: tokyo2-dc-RM-GE-6-3-5-104.sinet.ad.jp (150.99.198.253) 6.363ms asymm 5 5: tokyo1-dc-RM-AE-0-11.sinet.ad.jp (150.99.203.13) 8.352ms asymm 6 6: nyc-gate1-RM-P-7-0-0-11.sinet.ad.jp (150.99.203.58) 199.986ms asymm 7 7: Abilene-NY.gw2.sinet.ad.jp (150.99.200.194) 200.094ms asymm 8 8: so-0-0-0.0.rtr.wash.net.internet2.edu (64.57.28.11) 205.227ms asymm 9 9: so-0-0-0.0.rtr.atla.net.internet2.edu (64.57.28.6) 218.674ms asymm 10 10: ge-0-3-0.110.rtr.ll.indiana.gigapop.net (149.165.254.20) 233.816ms asymm 11 11: ge-0-1-0.1.rtr.ictc.indiana.gigapop.net (149.165.254.25) 233.857ms asymm 12 12: rtr3.ul.indiana.gigapop.net (149.165.255.129) 234.396ms reached Resume: pmtu 1500 hops 12 back 244
192.88.99.1を名乗るホストは世界中に分散してるので、自分の利用しているネットワーク事業者がどの192.168.88.99.1を知っているかでたどり着くマシンは異なる(いわゆるanycast)。
設定不要または設定が容易なケース
設定の概要
実例(OpenWrtの場合)
Windowsは設定手順がいろいろとややこしいので、まずはLinuxで。。
うちのグローバルIPアドレス(wiki.osdev.info)から計算した6to4アドレスは2002:d2e0:d624:だった。アドレスは:2/64にしてみた。
上の2〜3に相当するのがこれ。
#!/bin/sh ip tunnel add ttl 50 mode sit remote 192.88.99.1 ifconfig sit1 add 2002:d2e0:d624::2 ifconfig sit1 up ifconfig br-lan add 2002:d2e0:d624:eeee::2/64 route -A inet6 add 2000::/3 gw ::192.88.99.1 dev sit1
4のポート開放は、常識的なシチュエーションではOpenWrtそのものでダイアルアップしてるわけだから要らないけど、
iptables -t nat -A prerouting_wan -p ipv6 -j DNAT --to 192.168.0.91 (←上の設定をしたLinuxホストのLAN側アドレス) iptables -A forwarding_wan -p ipv6 -j ACCEPT
のようになる。