細かい設定までできてパワフルなUniFi製品ですが、IPv6まわり(特に日本国内の環境)についてはまだ対応が十分でないところがあります。いくつか設定をすることでIPv6でネット環境に接続できたので、その設定内容をご紹介します(23年5月現在の情報です)。
やりたいこと
フレッツ光クロスで貸与されるHGW(XG-100NE)をそのまま利用し、その配下に接続されたUniFi Dream Machine SEやさらにその配下の機器からDHCPv6-PDで割り振られたIPアドレスを使ってIPv6対応ウェブサイトに接続する、というのが目標です。
もちろん、IPv4なウェブサイトにもIPv4 over IPv6で接続します。
環境・スペック
光回線・プロバイダ
- ドコモ光10ギガ(フレッツ光クロスの光コラボ)
- ドコモnet
- IPoE接続
- IPv4 over IPv6はOCNバーチャルコネクト(MAP-E)
機材
- ホームゲートウェイ:XG-100NE
- ファームウェアバージョン:02.00.0005
- IPv6ファイアウォール機能:有効(デフォルトのまま)
- UniFi OSコンソール:UniFi Dream Machine SE
- UniFi OS 3.1.8 (Early Access)
- UniFi Network 7.4.155 (Early Access)
接続はこうです(IPv4なアドレスの振り方は混乱を避けるためデフォルト設定のままです)。
XG-100NEとは10Gbpsで接続したかったため、10G SFP+ to 10GbE RJ45モジュールをSFP+ポートに挿入しています。これがeth9(Port 10)になります。2.5Gbpsで接続する場合にはeth8(Port 9)になりますが、設定としては特に変わりません。
設定
UniFi Networkの設定をいくつか行います。
Internet
UDM SEではPort 9とPort 10でWANの冗長構成をとることができます。現在接続されているポートについて、以下のような設定を行いました。
下の方にあるIPv6まわりを
- IPv6 Connection: DHCPv6
- Prefix Delegation Size: 60
としています。
Networks
192.168.0.0/24のネットワークの設定を行います。
IPv6まわりを以下のように設定しています。
- IPv6 Interface Type: Prefix Delegation
- Router Advertisement (RA): Enable
- RA Priority: High
- DHCPv6 Range:
- Start: ::2
- Stop: ::7d1
- DHCPv6/RDNSS DNS Control
- Autoでも良さそうですがGoogleのDNSサーバを指定しています。
つながらない→トラブルシュート
いくつかブログを拝見すると、すべき設定はこれだけのようなのですが、繋がりません…。IPv6アドレスがそもそもデバイスに割り当てられていません。
DHCPv6-PDが委譲されていない
参考にさせていただいたのがQiitaのこちらの記事です。
XG-100NEのWebコンソールに「DHCPv6サーバ払い出し状況」という画面があるのですが、アサインテーブルが空っぽです。そもそも、UDM-SEに委譲されていないようです。
記事中の「ファイアーウォールルールを定義」を参考に、設定を行います。
記事と全く同じように設定しています。
SourceのIPv6 Address GroupとDestinationのPort GroupはProfilesのIP Groupsで設定します。
これでどうなったかXG-100NE側でもう一度確認…といきたいところですが、UDM-SEのDHCPv6-PD関連のプロセス(ubios-odhcp6c-script)を立ち上げ直したいので、上の方で設定したPrefix Delegation Sizeを60 -> 59で保存し、また59 -> 60に変更して保存します。
そしてXG-100NEの画面をみると…
IPv6プレフィックスが、MACアドレスに割り当てられていることがわかります。このMACアドレスはeth9のものです。めでたい。
IPv6接続先がプライマリだとうまくいかない?
これでうまくいくかと思ったのですが、この状態だとUDM-SE配下の機器から外部にIPv6で通信できないようです。
動作確認のために、XG-100NEから来ているケーブルをeth8とeth9に何度か入れ替えていたのですが、空っぽのeth8(Port 9)をプライマリにしておき、eth9(Port 10)をセカンダリの状態にしておいて、eth9側にXG-100NEからのケーブルを接続する(常にフェイルオーバー状態になる)と、IPv6で安定的に通信できることに気づきました…。
これは、
- 外部と通信するには何故かセカンダリになければいけない(今の状況) あるいは
- 外部と通信するには何故かeth8がプライマリになければいけない
のいずれかの可能性があります。
そこで、XG-100NEからのケーブルをeth8に接続して試してみたのですが、こんどはeth8をセカンダリにしないとIPv6での疎通ができませんでした。にわかには信じ難いので是非ご覧の方には追試していただきたいところです。ただ、UDM-SEをお持ちの方でどうにもつながらないと言う方は諦める前にセカンダリで動かすことを試してみていただければと思います。
というわけで、もやっとするものの、今は常にフェイルオーバー状態で動かしています。
その他のファイアウォール系の設定は必要なし
Qiitaの記事では、Guest v6 local に icmpv6のRS,NS,NAを通すといった記載があるのですが、上記のバージョンでは必要ないようです。
以前は私もQiitaの記事を参考に設定していたのですが、このブログ記事を書くにあたって無効化してみたところ、そのままでも問題なく繋がっているため、おそらく不要です。
まとめ
こちらの設定で、IPv6アドレスが各クライアントに付与され、IPv6なウェブサイトにも問題なく接続できるようになっています(一応ブログもIPv6対応してます)。UniFiはどうもまだIPv6回りは苦手な印象です…。
とはいえ、XG-100NE配下でIPv4の二重ルータ環境であっても5Gbpsくらいは速度が出るので、IPv6での通信が必須という方でなければ急いで行う必要はないかもしれません。
UniFiでは今後DS-Liteなどの日本のIPoE環境に対応していくようなのでこの情報は過渡的なものと思いますが、フレッツ光クロス環境下での情報はまだあまり多くないので、IPv6での接続が必要な方にお役に立てば幸いです。
備考:上記の対応を行なって疎通させたことをUniFiにチケットを投げてみました。
コメント
同じような構成を考えておりまして、参考にさせて頂いています。ありがとうございます。
光電話の有無でipv6周りに少し変化があるようなのですが、光電話は契約されていますでしょうか?
差し支えなければご教示いただけると助かります。
コメントありがとうございます。
フレッツ光クロス(10G)に関しては2023/5/31からひかり電話に対応したようですね!
上記の記事は、「ひかり電話契約なし」での設定になります。
フレッツ光ネクストの場合には、「ひかり電話契約あり」にしないとDHCPv6-PDが有効にならないようですので、
フレッツ光ネクストのひかり電話契約「あり」時の設定=フレッツ光クロスのひかり電話契約「なし」の設定
と考えれば良いようです。
フレッツ光クロス+ひかり電話契約「あり」の設定については、まだ情報がなく正確なことは言えないのですが、同様に使えるのではないか…とは思っています。
ご参考になれば幸いです。
ご返信頂きありがとうございます。
当方もひかり電話なしで考えており、Hiroaki様と同じ設定でいけそうです!
記事の方参考にさせて頂きます!
ご参考になれば幸いです!
記事の最後にサポートにチケットを投げた旨記載していますが、最近返信があり、将来のバージョンでファイアーウォールの設定を修正する対応をとってもらえるとのことでした。
どのタイミングでリリースされるかはわかりませんが、オフィシャルで対応となればより安心できると思います。
アップデートが分かり次第、こちらの記事でも追記しようと思います。