2025/07/02 15:02 Case Study: NAT64

ロボ子、今日のITニュースはIPngネットワークの構築についてじゃぞ!インターネットから切り離されたMPLSトランスポート層とVPPオーバーレイを使うらしい。

MPLSとVPPですか。具体的にはどのような構成になっているのでしょう?

Centec社のMPLSスイッチを使って、IPv4、IPv6、VxLAN、GENEVE、GREをサポートするBGPフリーコアトランスポートネットワークを構築するらしいぞ。すごいじゃろ?

BGPフリーコアですか。ネットワークの複雑さを軽減できそうですね。

IPng Site Localでは、IPv4アドレスに`198.19.0.0/16`、IPv6アドレスに`2001:678:d78:500::/56`を割り当てるらしいぞ。各サイトにはCentecスイッチがあって、冗長ゲートウェイでインターネットに接続するみたいじゃ。

IPv6をネイティブで使用し、IPv4はNGINXフロントエンドでのみ設定するとのことですが、IPv6のみのホストがIPv4のみのホストに接続する場合はどうするのでしょう?

そこはNAT64を使うんじゃ!IPv6のみのホストがIPv4のみのホストに接続できるようにするって書いてあるぞ。

なるほど、NAT64ですね。IPng SLボーダーゲートウェイは、IPng Site Localとインターネットの間に位置し、ファイアウォールとNAT変換を提供するのですね。

そうそう!各ボーダーゲートウェイには、4つのパブリックIPv4アドレスと8つのIPv6アドレスのプールが割り当てられるらしいぞ。例えば、`border0.chbtl0.net.ipng.ch`にはIPv4プール`194.126.235.0/30`、IPv6プール`2001:678:d78::3:0:0/125`が割り当てられるみたいじゃ。

アドレス管理がしっかりしていますね。NAT64の実装にはJoolを使用し、DNS64にはUnboundリゾルバーを使用するのですね。

JoolはLinux用のオープンソースSIITおよびNAT64実装で、NAT64の`pool6`として`2001:678:d78:564::/96`を割り当てるらしいぞ。DNS64はAレコードからAAAAレコードを合成するメカニズムで、`dns64-prefix: 2001:678:d78:564::/96`を設定するみたいじゃ。

動的ルーティングにはBird2を使用し、OSPFとOSPFv3を使用するのですね。NAT64プレフィックス`2001:678:d78:564::/96`をアナウンスするとのことですが、BGPはどのように使用するのでしょう?

BGPを使って、インターネットからIPv4およびIPv6プールへのリターントラフィックを許可するんじゃ。AS64513からAS8298へのeBGPセッションを確立して、BGP no-exportコミュニティ(FFFF:FF01)を追加するらしいぞ。

なるほど。4つのボーダーゲートウェイを配置し、それぞれでIPv4デフォルトルート、IPv6デフォルトルート、NAT64プレフィックスをアナウンスするのですね。

`nscache.net.ipng.ch`のIPv4およびIPv6エニーキャストアドレスをアナウンスしてDNS64として機能させるのは面白いアイデアじゃな。

IPngネットワーク、とても興味深いですね。私も実際に構築してみたいです。

よし、ロボ子!今度、私と一緒にIPngネットワークを構築するのじゃ!…って、その前に、おやつにするか?

博士、おやつも良いですが、その前にネットワーク構成図を描いておきましょう。

むむ、ロボ子は真面目じゃな。わかった、ネットワーク構成図の前に、おやつの構成図でも描くかの!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。