NURO光のHGW NSD-G1000TにDMZでルーターをぶら下げつつIPv6を使う話

弊宅ではNURO光とフレッツ光の2本のファイバーを引き込んで光回線を使っています。
メインの回線は2GbpsのNURO光です。
FWとかVMのソフトウェアルーターとかを無視した概念図は、以下のような感じです。

network_1.png

2.5GbEが使えるHGWのNSD-G1000Tは、配下のルーターをDMZに指定すると、配下のルーターでIPv6リレーを有効にしてもIPv6がまともに使えない不具合を抱え続けています。
なので、メインルーターはIPv6リレーごと無効化して、パブリックIPv6が降ってこないようにしていました。

ところが、先日AWSがIPv4に課金するリリースを出したので、IPv6を使えるようにする必要が出てきました。

新着情報 – パブリック IPv4 アドレスの利用に対する新しい料金体系を発表 / Amazon VPC IP Address Manager が Public IP Insights の提供を開始 | Amazon Web Services ブログ
https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/

で、NSD-G1000TのようにMLDスヌーピング的な制限をかけている場合には、同じポートに繋がるようにスイッチを追加して、ndppdndp-proxyで無理矢理ネットワークに参加する方法があります。
つまり、こんな感じ。

network_2.png

この状態で試してみると、パブリックIPv6が割り当たっても、IPv6で通信できる場合とできない場合がありました。
ちゃんとパケットを眺めていないので、ガチャになっている原因はイマイチ不明です。
少なくとも、NSD-G1000Tのファームウェアv1.0.27とQHora-301Wと(ちょっと弄った)ndp-proxyの組み合わせではダメなようです。

一旦立ち返ってNSD-G1000Tに直接接続してIPv6のフィルターの挙動を確認してみます。
AWS LightsailのパブリックIPv6から確認した結果、ICMPは通していますが、TCPとUDPは弾いていました。
つまり、最低限のフィルターは効いているので、IPv6だけ直通でも問題なさそうです。

最終的に、こうなりました。

network_3.png

この場合、

  • IPv4: QHora-301WからDHCPv4で配布される
    • 内向きの通信: DMZのQHora-301Wに流れ、ポートフォワードされたりブロックされたりする
    • 外向きの通信: デフォルトゲートウェイのQHora-301Wを経由する
  • IPv6: NSD-G1000TからRA+ステートレスDHCPv6で設定される
    • 内向きの通信: 前述
    • 外向きの通信: NSD-G1000Tを経由する

のような挙動になります。

CleanShot_2023-08-12_08-47-02.png