Kotaです。さて、IPv6接続その2です。
今回は早速IPv4ネットワークから、、
LinuxルーターでHE(Hurricane Electric)へのトンネルを掘ってIPv6の利用をします!!
その前に!前回のおさらい!
前回IPv6の基本をおさらいしますと、、
IPv6はIPv4と違いCIDR等がなく、ネットワーク部は固定長で64bit
つまり
2001:470:8644:0001:64c3:beff:fe17:c8bc/64
だと
ネットワーク部 アドレス /プレフィックス
となります
- ネットワーク部はIPv4で言うサブネットマスクのような性質をもち
- アドレス部分はMACアドレスにFFFEを足して自動生成
- 0で左から始まる部分は省略でき、0が8個ならんでるような部分は::で省略可能
- fe80はルーターを超えない
こんな感じでした
Hurricane Electric
Hurricane Electricについて
Hurricane Electricは、次世代型インターネットプロトコル IPv6における、専用サーバーやダイレクトインターネット接続、Webホスティングサービスに特化し、グローバルに展開をするリーディングカンパニーです。Hurricane Electricは、複数のOC192sやOC48s、Gigabit Ethernet(ギガビットイーサネット)を有するグローバルネットワークを運営しています。
Hurricane Electricは1994年に創設者であり代表者でもあるマイク・レイバーによって創業されました。今日では、インターナショナル・ネットワークの運営および、20万平方フィートからなるフレモントの2つの設備を含む複数のデータセンターを保有しています。
IPv6関係のピアリング、プロバイダでは最大手ではないでしょうか。
このHEはIPv6トンネルを無料で卸してくれます。
普通にアカウントを取れば/64のアドレス(これだけでIPv4全体の二乗倍w)
さらに申請すると/48をくれます(/64が65000個相当wwwww)
このHEにまずは登録して、Create Regular Tunnelします。
エンドポイントのv4アドレスが表示されますのでそのままコピペでいいでしょう。
続いて経路が選べますがちなみにウチの環境ではLA経由が最短でした。
特別な理由がない限り作成画面でオススメされたものを使えば問題ないでしょう。
トンネルの作成が終わったらCisco/ScreenOS/BSD/Linuxでのトンネル設定例が見れます!なんて親切!
トンネルの作成
だがLinuxでHEのiproute2などで例通りやっても、
再起動したときトンネルがUPしないのでここはCentOS/Redhat流にいきましょう。
詳細は/usr/share/doc/initscripts-8.45.30/sysconfig.txtをみてもらうとして
まずは、、/etc/sysconfig/networkに以下を書き足します
1 2 |
IPV6FORWARDING=yes IPV6_DEFAULTDEV=sit1 |
次にトンネル、sit1の設定です。/etc/sysconfig/network-scripts/ifcfg-sit1に
1 2 3 4 5 |
DEVICE=sit1 ONBOOT=yes IPV6INIT=yes IPV6TUNNELIPV4=HE V4 ADDR IPV6ADDR=IPv6 Router ADDR |
あとはeth0などにv6アドレスを振るなら、、/etc/sysconfig/network-scripts/ifcfg-eth0は
1 2 3 4 5 6 7 8 9 |
TYPE=Ethernet DEVICE=eth1 ONBOOT=yes HWADDR=MAC ADDR BOOTPROTO=none NETMASK=V4 MASK IPADDR=V4 ADDR IPV6INIT=yes IPV6ADDR=/64 PREFIX ADDR |
とかやっておきましょう。
IPv6のForward設定は
net.ipv6.conf.default.forwardingですが、/etc/sysconfig/networkでIPV6FORWARDING=yesにしているので自動でforwardingされます。
あとは、、ルーター自身がRAを受けるとアレなので
/proc/sys/net/ipv6/conf/all/accept_raを0にするんですが、、
IPV6FORWARDING=yesにした場合書かなくても自動でIPV6_ROUTER=yesになっているのでRAは無視される設定になっています。
Router Advertisement(radvd)
さて、ここでIPv4にない要素、RAを吐くRouter Advertisement、つまりルータ広告をするdaemonを導入します
1 |
yum install radvd |
標準リポジトリに入っているので余裕でした
設定は/etc/radvd.confで行いますがいじる所は
- デバイス名
- 広告するprefix
この二点だけです。以下はほとんどデフォです。
1 2 3 4 5 6 7 8 9 10 11 12 |
interface eth1 { AdvSendAdvert on; MinRtrAdvInterval 30; MaxRtrAdvInterval 100; prefix V6:Prefix::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr off; }; }; |
あとはservice network restartしてみましょう。
んでもって
- ping6 ipv6.2ch.net
- ping6 www.iij.ad.jp
- ping6 ipv6.google.com
とかしてみましょう。設定が間違っていなければpingの応答があるはずです
クライアントからIPv6で接続してみる
radvdも動かしているので既に2001::のアドレスが端末に振られているはずです。
ipv6対応サイトが見れるはずですよ
どうでしたか??
http://test-ipv6.com/でも10点評価のテストが可能!
セキュリティの確保
勘の良い方ならもう気づいてるかもしれません。
この端末に当てられるIPv6アドレスはIPv4で言うグローバルと同一です。
Linuxだとip6tablesで適切にフィルタリングを行いましょう!
あと、MacOSXの場合MACアドレスがだだ漏れるので気になる方は
/etc/sysctl.confにnet.inet6.ip6.use_tempaddr=1を記入しておきましょう。
(RFC3041、ステートレスアドレス自動設定のプライバシー拡張)
さらにIPv6に対応させる
レジストラのNSレコードにIPv6のアドレスも併記する
AAAAレコードをDNSに追加する
HEのRDNS Delegation NSにIPv6アドレスを指定して逆引きに対応する
とかもあります
ちなみにNSレコードにAAAAが入るとhttp://sixy.ch/にピックアップされるようですね。
このページがバッチリでてます
さらにv6のお勉強におすすめ
クイズ形式、実践方式を混ぜたIPv6のテストがhttp://ipv6.he.net/certification/から受けれます。
Newbie → Enthusiast → Administrator → Professional → Guru → Explorer → Sage
とドンドンレベルが上がっていきます。
実際にV6に対応したドメインが必要だったり、
IPv6でのTracerouteが必要だったり問題に工夫がこなされてて素晴らしい!!僕は今はこんな感じです。
ここでSageまで行ければそこそこIPv6の基礎は理解出来るんではないか、、な?
まとめ
IPv6特集、いかがでしたでしょうか?
はっ!!IPv6?廃れるってww失笑!!って方も多いかと思いますが、
- DNSルートサーバーがIPv6対応になりました
- ISPルーターとかでないPCなどの端末のほとんどはv6対応です。(iPadやiPhoneでさえIPv6が使えます)
- JPRS、JPNIC、ICANN、IANA、Google、Youtubeの一部などはIPv6対応サイト
こんだけ潜在的に普及したIPv6、今更他プロトコルがやってきてかっさらう、、なんて事はほぼもうないでしょう。
こちらの資料でも書かれていますがIPv6の醍醐味は、、そう!
接続機器同士の双方向性の回復!これに他なりません。
そういう意味ではクラウド利用は狭い範囲で見ればNAT越えの技術という事になります。
NATの無いアドレスを持つ機器同士の相互接続性を復活させるためのIPv6、、
やっと真のインターネットが始まるかも、、??しれませんね!