オレンジのトップページ

2012年3月14日水曜日

FedoraとiPhoneのIPv6

Fedora16も何もしなくて繋がるけどデフォルトはEUI-64方式で毎回同じIPv6アドレスが割り当てられるので、RFC3041な一時IPv6アドレスに変更する

デフォルトはネットワークカードのMACアドレスから生成するEUI-64方式の毎回同じアドレスなので、RFC3041な一時IPv6アドレスに変更する手順はこちら。

/etc/sysctl.conf
カーネルパラメータを確認。値が2だと一時IPv6になる。

# sysctl -a | grep ipv6 | grep tempadd

net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
net.ipv6.conf.lo.use_tempaddr = -1
net.ipv6.conf.デバイス名.use_tempaddr = 0


今回全部のインターフェースカードで一時IPv6を有効にするので次のようにする。一時IPv6をインターフェースカードごとに有効・無効にしたい場合はデバイス名の行を使えばいい。この方法はBugzillaで紹介されていた。

https://bugzilla.redhat.com/show_bug.cgi?id=250919

/etc/sysctl.conf
net.ipv6.conf.default.use_tempaddr=2
net.ipv6.conf.all.use_tempaddr=2

#net.ipv6.conf.デバイス名.use_tempaddr=2


設定されたアドレスはこちら。1行目が一時IPv6、次がEUI-64方式IPv6、3行目がLAN内でのみ使えるリンクローカルアドレス。http://test-ipv6.jp/にアクセスして、一時IPアドレスになっていればOK。





iPhoneのIPv6

iOS5.01だと使えるようになっている。「IP6config」アプリをインストールすると一時IPv6アドレスが設定されているのがわかる。一行目がリンクローカルアドレス、2行目がEUI-64方式のアドレス、3行目が一時IPv6アドレス。









2012年3月12日月曜日

フレッツ光ネクストIPv6 IPoE接続(ネイティブ方式)開通してみた

フレッツ光ネクストでIPv6を使うには、2つの方式がある。IPoE(ネイティブ方式)とPPPoE(トンネル方式)。それぞれの方式の違いは例えばこのASCII.jpxTECHで説明されている。

もちろんキレイなのはIPoE(ネイティブ方式)だ。よし、仕組みはわかった。で、実際どうするのか?以下にうちで開通した手順を紹介。特別なものは何もいらないです。1日で開通。



IPv6 IPoE(ネイティブ方式)開通の手順


1.フレッツ光ネクストを引く
特に意識しなくても、NTT閉域網内のサーバに対してのみ通信できるIPv6が割り当てられる。オンラインでフレッツネクストのオプション変更ができるぐらい。

2.フレッツ・v6オプションを申し込む
http://flets-w.com/next/v6option/ からオンラインでブラウザで申し込める。工事費無料。申し込み後二−三時間待つとNTT閉域網内で相互に通信できるIPv6アドレスがPCには割り当てられる。友達とか会社で光ネクストの回線同士でリモートデスクトップとかできるし、IPv6を使ってVPNを張るなんてマニアックなこともできる。

3.プロバイダにIPv6を申し込む
プロバイダの対応によりますがうちでは1日ほどでインターネットリーチャブルなIPv6アドレスがPCには割り当てられました。プロバイダに申し込む時には、自分ちのフレッツネクストのNTT契約番号を提出する。IPv6を割り当ててくれるプロバイダは少ない。

うちでPCのネットワークカードに割り当てられているIPアドレスは、それぞれの段階で変わりました。
1.の光ネクスト開通状態で     2001:a5e0:・・・
2.の光ネクスト+v6オプションで  2001:a3e0:・・・
3.のプロバイダ手続き完了で    240b:・・・

この2001:a・・はNTT閉域網内で使ってるIPっぽい。




IPv6はNATしない
ルータがあってもなくても基本的にIPv6ではグローバルIPが直接PCに割り当てられる。



ホームゲートウェイとかルータの設定
何もしなくていい。一般家庭だとたいてい
・ひかり電話ありで「ホームゲートウェイ」がレンタルされている
・ひかり電話なしで「家庭用のブロードバンドルータ」を使っている

「ホームゲートウェイ」はデフォルトでIPv6のインターネットからLAN内部への通信がフィルタされているので安心できる。

「家庭用のブロードバンドルータ」は、WAN側とLAN側をブリッジしているだけ。なので、クライアント端末はインターネットとフィルタリング無しの危険な直結状態?
そこは安心、クライアント端末側でうまくやってくれてる。


Windows PCや、iPhone、iPadは一時IPv6アドレスを使う
Windows 7 /8 では24時間ほどで変化する一時IPv6アドレスを使うことでセキュリティを確保している。Vistaは?あとで調べたところ iPhoneとiPadも一時IPv6アドレスを使っていて安心だった。
Win7でipconfigを実行した結果がこちら。



IPv6は1つのネットワークアダプタに複数のアドレスを付けられるので、3つのアドレスが割り当てられてます。

1番目の 240b:で始まる 「IPv6アドレス」の下の何桁かは、ネットワークカードのMACアドレスから生成されていて、このアドレスは変わらない。
2番目の 240b: ・・・:397f  の「一時IPv6アドレス」が変わる。
3番目の fe80: で始まる「リンクローカルアドレス」は、ネットワークカードのMACアドレスから自動生成されてる。



http://test-ipv6.jp/にアクセスしてみる。

あなたのIPv6アドレスは・・・の値が、IPCONFIGで確認した 240b:・・・:397fの「一時IPv6アドレス」になっているのが見える。




ホームゲートウェイ(HGW)のIPv6機能

まずIPv6のフィルタ設定のデフォルトをキャプチャしたのがこれ。デフォルトで安心して使えるようになっている。インターネット側からのアクセスは禁止。西日本のNTTフレッツネクスト網内の相互通信が許可。


そしてHGWがリースしているDHCPv6。配下のPCなどにはHGWがIPv6をリースする。


OKこんな感じ!!





んじゃ次はYAMAHAのルータを使ってIPv6で遊んでみたいゾ!

IPsecが要らなければNVR500がお手頃でひかり電話も収容できる。IPsec要るならRTX810/1200。でもオクで買うんだとRTX1500が安いかなぁ。




ひかり電話契約が無しの場合の、YAMAHA設定(ヤマハ設定例のとおり)


ひかり電話無しだと、契約者宅には プリフィックス::/64のIPv6アドレスが割り当てられる。
この設定はONU直下のYAMAHAで使えた。RTX1200/1500/1100/1000で同じ。RAを使っている。

ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 dhcp service client ir=on
dns server dhcp lan2

ipv6 lan2 secure filter in 1010 1011 1012 2000
ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 106
ipv6 filter 1010 pass * * icmp6 * *
ipv6 filter 1011 pass * * tcp * ident
ipv6 filter 1012 pass * * udp * 546
ipv6 filter 2000 reject * * * * *
ipv6 filter 3000 pass * * * * *
ipv6 filter dynamic 100 * * ftp
ipv6 filter dynamic 101 * * domain
ipv6 filter dynamic 102 * * www
ipv6 filter dynamic 103 * * smtp
ipv6 filter dynamic 104 * * pop3
ipv6 filter dynamic 105 * * tcp
ipv6 filter dynamic 106 * * udp




以下実家にひかり電話を引いて繋いで検証してみた。
2013/05/14更新。




ひかり電話契約がありの場合で、ONU下にYAMAHAを付ける設定(ヤマハ設定例のとおり)




ひかり電話ありでは、契約者宅には /56のIPv6アドレスが割り当てられる。
NTTレンタルのHGW自体には、/56のプリフィックスとHGWのMACアドレスから生成されるEUI-64と言われるフォーマットでIPv6アドレスが割り当てられていた。デフォルトルートはNTT網にある上位NTT側ルータ。

そしてHGWは配下のPCなどのクライアントに対して、IPv6のDHCPサーバとして振る舞いIP割り当てを行う。HGW配下の通常のクライアントPCは プリフィックス::/64の中に存在する。
ここまで通常のNTTの準備したとおり、難しいことは何も考えなくて問題ない。


さてHGW配下にヤマハを繋いで設定例を入れると、HGWよりプリフィックス:10::/60として割り当てられた。ところがここで問題発生。ngn type・・・を指定したとたんYAMAHAはリブートを繰り返す。

どこか間違ってる???

仕方ないのでここでHGWのフタを外して、ONUとルータ部分をつないでいるケーブルを抜いて、スイッチングハブを使ってYAMAHA とHGWのルータ部分を無理やり並列につなぐ。

するとYAMAHAにはプリフィックス::1/64 のアドレスと、ゲートウェイとしてNTT側ルータが設定される。これは::1/64と設定しているから。::1/56で設定すれば/56になる。(もちろんHGWと同じように、YAMAHAにもMACアドレスから生成されるEUI-64形式のアドレスを設定しても良い。その場合 ipv6 lan1 address dhcp-prefix@lan2::1/64ではなく ipv6 lan1 address dhcp-prefix@lan2::/64 とすることになる。)

HGWとYAMAHAを並列に繋いでもIPが重なることは起こらない。ひかり電話も使えた。でもほかに問題が起きないかどうかは多分にあやしい。お互いのことを知らないので、YAMAHA配下のPCは、HGW配下のPCと通信できなくて悲しい。


そんなわけで前振りが長くなったけど設定はこちら。
この設定例はONU直下のヤマハで使えた。RAは使わない。
ちなみに設定例のLAN2とLAN1の設定を入れ替えればLAN1の4ポートをハブがわりに使えて便利。

ngn type lan2 ntt
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
dns server dhcp lan2あとのフィルタは同じ。






ひかり電話契約がありの場合で、HGW配下にYAMAHAをつけるときの設定


いろいろやってみてうまく動いたように見えた設定はこちら。
HGWのLANポートとヤマハのLAN1とをつなぐ。
動作としては、HGWはヤマハにプリフィックス:10::/60が割り当てようとするが、YAMAHAではプリフィックス::1/64を指定している。
そしてひかり電話ありでONU直下の場合に使えたdhcp-prefixではなく、ひかり電話なしでONU直下のようにra-prefixとしてRAを有効にするとヤマハのLANポートにIPv6のアドレスとデフォルトルートが設定されて外部と通信できた。

ip route default gateway (HGWのローカルIP)
ip lan1 address (適当なIP)/24
ipv6 lan1 address dhcp
ipv6 lan1 address ra-prefix@lan1::1/64
ipv6 lan1 dhcp service client ir=on

HGWのデフォルトのIPv6フィルタを有効・標準。のままにしておくと、インターネットからの通信は遮断されて、西日本のネクスト網内からのアクセスのみ有効になっているのでヤマハでフィルタはしないでもいいか。という選択肢もありか。







忘れないようにHGW配下にYAMAHAを置いた時のIPv6の動作をメモしておく。



ipv6 lan2 address ra-prefix@lan1::1/64 とした場合IP x:x:x:0::1/64 が設定される
GW HGWのリンクローカルアドレスが取得される


ipv6 lan2 address dhcp-prefix@lan1::1/64 とした場合
IP x:x:x:10::1/64 が設定される
GW 取得されない。ipv6 route default gateway dhcp lan1 としてもゲートウェイは取得されないし、HGWのリンクローカルアドレスを手動で ipv6 route deffault gateway x:x:x:x%1と指定しても外部と通信できない



ヤマハルータ上での動作チェックコマンド
show ipv6 address lan1
show ipv6 route
show status ipv6 dhcp




参考にしたヤマハの設定例ページはこちら。

フレッツ 光ネクストでインターネット接続(IPv6 IPoE)を使用するには、どうすればよいですか?
http://www.rtpro.yamaha.co.jp/RT/FAQ/FLETS-HIKARI-NEXT/index.html

ヤマハルータのIPv6関係コマンドの内容の説明はここを見る。

IPv6 コマンド仕様


http://www.rtpro.yamaha.co.jp/RT/ipv6/command.html


ヤマハRTシリーズ IPv6機能 クイックスタートガイド

http://www.rtpro.yamaha.co.jp/RT/ipv6/usage.html




まとめ

ふつうにHGWを使ったら、けっこううまくIPv6が使える仕組みになってる。