CGNAT:その概要とVPNユーザーが注意すべき理由

ポートフォワーディングを設定しようとしたのに、何をやっても機能しなかった経験はありませんか?その原因はCGNATにあるかもしれません。これはISPによって行われるネットワーク上の意思決定のひとつで、表からは見えないものの、インターネットの使い方に非常に現実的な影響を与えます。

CGNATとは何か

キャリアグレードNAT(Large-Scale NATまたはCGNとも呼ばれます)は、枯渇しつつあるIPv4アドレスを節約するためにインターネットサービスプロバイダーが使用する手法です。各顧客に固有のパブリックIPアドレスを割り当てる代わりに、ISPは1つのパブリックIPを多数の顧客に同時に割り当てます。外部から見ると、数十から数百もの家庭が同一のIPアドレスを共有しているように見えます。

これはひとつの住所を持つアパートのようなものです。建物自体はひとつのパブリックアドレスを持っていますが、内部には多数の部屋があります。郵便物(インターネットトラフィック)は建物に届き、内部のシステムがそれを正しい部屋へ振り分けます。CGNATはその振り分けシステムであり、ISPレベルでより大規模に機能しています。

CGNATの仕組み

ほとんどのホームルーターがすでに実行している標準的なNATは、プライベートローカルIP(192.168.x.xなど)をルーターのパブリックIPに変換します。CGNATはこの上にさらにレイヤーを追加します。ルーターには100.64.0.0/10の範囲内のプライベートIP(CGNATのために専用に予約されたもの)が割り当てられ、ISP自身のシステムがそれをひとつの共有パブリックIPアドレスに変換します。

経路は次のようになります:

デバイス → ホームルーターNAT → ISPのCGNATシステム → パブリックインターネット

この二重NATの構成が多くのトラブルを引き起こします。送信したリクエストに対するレスポンスは受け取れます。システムが送信接続を追跡しているためです。しかし、外部から開始された着信接続には行き先がありません。CGNATシステムは、突然の着信リクエストをどの顧客に届ければよいのかを判断できないのです。

CGNATがVPNユーザーに与える影響

CGNATはVPNのパフォーマンスや機能に直接影響するいくつかの実際的な問題を引き起こします。

ポートフォワーディングがほぼ不可能になります。 ホームサーバー、ゲームサーバー、または外部デバイスからの接続を必要とするサービスの運用は、CGNATによってブロックされます。ISPのCGNATレイヤーが前面に存在するため、ホームルーターで設定したポートフォワーディングのルールは効果を持ちません。

ピア・ツー・ピア接続の品質が低下します。 トレントの利用、直接ピア接続によるゲーム、WebRTCベースのアプリケーションはいずれもCGNAT環境下では不安定になります。これらの技術はネットワーク外部からの到達性に依存していますが、CGNATはそれを妨げます。

共有IPによる評判の問題が生じます。 数百のユーザーが1つのパブリックIPを共有しているため、そのうちの誰かがスパムや不正行為を行うと、そのIPがブラックリストに登録される可能性があります。共有している全員が影響を受け、ウェブサイトへのアクセス拒否、CAPTCHA、アカウントのフラグ付けといった問題が発生します。

自宅でのVPNホスティングがブロックされます。 旅行中に自宅ネットワークへ接続できるよう、WireGuardOpenVPNサーバーを自宅でセルフホストしたい場合、CGNATが着信VPN接続を完全にブロックします。

VPNが役立つ場合(とその限界)

商用VPNサービスを使用することで、CGNATによる多くの問題を回避できます。VPNに接続すると、トラフィックはVPNプロバイダーのサーバーを経由して送出されます。このサーバーは実際にルーティング可能なパブリックIPアドレスを持っているため、共有IPの問題を回避し、より直接的なインターネット接続を復元します。

一部のVPNプロバイダーはポートフォワーディングをオプション機能として提供しており、VPNトンネルを通じた着信接続を可能にします。これはCGNATが引き起こした問題をそもそもの原因から解決します。また、共有IPの評判問題が影響している場合は、VPNプロバイダーからの専用IPアドレスも有効な解決策となります。

ただし、特定のポートフォワーディング機能が有効化・設定されていない限り、VPNは着信接続に対するCGNATの問題を自動的に解決するわけではありません。

大局的な視点

CGNATはIPv4アドレスの枯渇を受けて生まれました。根本的な解決策はIPv6であり、地球上のすべてのデバイスに固有のアドレスを提供するだけの十分なアドレス空間を持っています。多くのISPが徐々にIPv6の展開を進めていますが、普及が完全になるまでの間、CGNATは一般的な回避策であり続けます。そして技術的な知識を持つユーザーにとっては、依然として悩みの種となっています。