あなたのIPv4アドレス:
オペレーティングシステム:
プロバイダー:

CGNATとは?共有IPとポートフォワーディング

キャリアグレードNAT(CGNAT)は、インターネットプロバイダーのネットワーク内で行われるIPv4アドレスの変換です。これにより、複数の契約者が1つのパブリックIPv4アドレスを共有できます。送信方向の接続は通常どおり使えることが多いものの、自宅のサーバーへの外部からのアクセスは、プロバイダーが対応する仕組みを用意していなければ使えない場合があります。

CGNATと自宅のルーターの違い

自宅のルーターは、192.168.1.20のような端末のアドレスをすでに自分の外部アドレスに変換しているかもしれません。CGNATでは、プロバイダーがその外部アドレスをさらに共有のパブリックIPv4アドレスへと変換します。つまり、リモートのサーバーと自宅の端末の間に、変換テーブルが2つ存在することになります。利用者が設定できるのは自宅側のテーブルだけで、ルーターのポートフォワーディングのルールによって、プロバイダーの機器に対応するルールを作ることはできません。この追加の層はWebを閲覧している間は気づかないこともありますが、誰かが自宅に接続しようとすると大きな問題になります。

CGNATかどうかを調べる方法

ルーターのステータス画面で、外部側インターフェースのIPv4アドレスを確認します。それを2IPのIPアドレス検索で表示されるアドレスと比べてください。両者が異なり、VPNや2台目の家庭用ルーターでは説明がつかない場合は、プロバイダー側で変換が行われている可能性があります。プロバイダーは100.64.0.0/10をよく使います。これは100.64.0.0から100.127.255.255までの共有アドレス空間で、RFC 6598で定義されており、RFC 1918のプライベートアドレスのブロックとは別物です。ただし、事業者は別のアドレス計画を使うこともできるため、この範囲でないからといってCGNATではないとは言い切れません。

ポートチェックが失敗する理由

ローカルでの確認ではアプリケーションが待ち受けているのに、外部からのポートチェックでは到達できないことがあります。CGNATでは、外部から届いたパケットはまずプロバイダーの共有アドレスに到着し、プロバイダーはどの契約者に届けるべきかを知るための対応付けを必要とします。CGNATのせいにする前に、実際のサービス、そのTCPまたはUDPのポート、自宅のファイアウォール、ルーターのルールを確認しましょう。VPN、クラウドのプロキシ、追加のルーターでも似たような症状が出ることがあります。ポートチェックはあくまで1つの観測結果にすぎず、アプリケーションの健全性をすべて確かめるテストではありません。

プロバイダーに相談できる選択肢

パブリックIPv4アドレスと外部からの接続を利用できるか、そのアドレスが固定か動的かを問い合わせてみましょう。通信の両端がIPv6に対応していれば、ファイアウォールのルールを慎重に絞ったうえで、IPv6でサービスを公開できるかもしれません。アプリケーションによっては、代わりに中継サーバーへ保護された送信接続を張る方式をとるものもありますが、その場合は信頼性やセキュリティ上の考慮点が増えます。ポートテストを成功させるためだけに、端末全体を外部に公開してはいけません。CGNATだからといって、通常のインターネット接続に問題があるわけではありません。また、CGNATによって契約者の身元がプロバイダーから隠れるわけでもありません。