始まり
前回自宅の環境でIPv4の勉強をしたのに続き、IPv6通信の勉強のため、自宅でIPv6通信を実現させることにした。
RTX830は一度初期化して、IPv6通信の設定を実施する。
結論(分かったこと)
IPv6通信は、通信回線の種別によっても設定が変わることやPCの設定も必要など想像以上に考えることが多かった。
そのため、初めはAIに頼らず進めていたが、1日以上格闘して動かなかったためギブアップ。
最終的にAIと相談して対応した。
AIが無い時代に設定をされた方はとても凄い、、、泣
構成
設定内容
今回の「NURO光+NSD-G1000T(ホームルーター)+RTX830」で必要になった設定内容は、以下になります。
# LAN2:NSD-G1000TからRAでIPv6情報を取得
ipv6 lan2 address auto
# LAN2で受信したRAのプレフィックスをLAN1で使用
# 実際に広告するためには、ipv6 interface rtadv send コマンドの設定が必要
# ra-prefixでRA広告(RAプロキシ)の設定をする
ipv6 prefix 1 ra-prefix@lan2::/64
# LAN1側RTX830のIPv6アドレスをRA広告により取得する
ipv6 lan1 address ra-prefix@lan2::1/64
# LAN1配下のPCへRAを送信
ipv6 lan1 rtadv send 1
# LAN1側でDHCPv6サーバーを動作
# 後で確認したところ、設定なしでも通信できた(RA広告のため、DHCP不要)
# ipv6 lan1 dhcp service server
# RAプロキシ環境で下流端末のNDを上流側へ反映
# IPv6ではNeighbor Discovery(ND)機能を使用しアドレスを解決しています
ipv6 nd ns-trigger-dad on
# DNS
# GoogleのDNSサーバーを指定
dns server 2001:4860:4860::8888
# 保存
save
今回、自力で進めていた時に出なかったコマンドが
ipv6 nd ns-trigger-dad on
です。
RA広告を流すことは意識していましたが、ND機能についての勉強が抜けており、下部側(PC側)からの通知について全く意識できていませんでした。
そのため、RTX830のWAN /LANのアドレスは取得できているが、PCから意図する通信ができないという現象が発生しました。
(インターネットへの ping6 が100% loss)
ipv6 nd ns-trigger-dad on を追加して PCを再接続したことで、上部側のNeighbor Discoveryが成立し、Ping6が確認できました。
途中、DHCPv6方式も試しましたが、
NSD-G1000T側からRTX830へのDHCPv6-PDが成立せず、
LAN2 [client]
state: solicit
となってしまったため、最終的には DHCPv6-PDではなくRAプロキシ方式で構築しています。
まとめ
今回の検証結果から、設定の役割をまとめると
「NSD-G1000TからLAN2でRAを受信 → そのプレフィックスをLAN1へRAで展開 → ns-trigger-dad でNDを補助 → RTX830をDNSリレーとして利用」
という構成になっています。
複雑な構成でないにも関わらず、時間を潰してしまい、一から設定内容を調べて設定することの難しさを知りました。
(実機を弄り倒すのは楽しかったけど)
次回は動的ルーティングなどもにもチャレンジしていきたいです。
