9) NAT・IPマスカレードについて
第9回は、主にプライベートIPアドレスとグローバルIPアドレスの変換に使用され、セキュリティー効果を高めるIPアドレスやポート番号の変換技術「NAT・IPマスカレード」についてです。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供
NAT・IPマスカレードについて
NAT (Network Address Translation) やIPマスカレードは、IPアドレスやポート番号を変換する技術であり、主にプライベートIPアドレスをインターネット上で用いられるグローバルIPアドレスに変換するために利用されます。
NATやIPマスカレードおよび後述のNAPTは、それぞれ下記の機能を有します。
- NAT (Network Address Translation)
NATとは、IPアドレスを識別して別のIPアドレスに変換する技術です。 NATによる変換を行った場合、変換後のIPアドレスとポート番号が一定のため、複数のホストから同時にローカル外 (主にインターネット) のネットワークに接続できません。 - NAPT (Network Address Port Translation)
NAPTとは、IPアドレスに加えてポート番号の識別や変換をする技術です。
NAPTによる変換の場合、変換後のポート番号がホスト毎にユニークに割り当てられるため、複数のホストから同時にローカル外ネットワーク (主にインターネット) に接続できます。
NAPTという名前は、NATとの区別のために言われ始めたものですが、機能的にはNAPTでありながらNATと呼ばれている例 (ブロードバンドルーターの「NAT機能」など) があります。 - IPマスカレード
IPマスカレードは、NAPTの実装の1つです。
NAPTはLinuxでの実装が一般的なため、NAPTより、その実装名である「IPマスカレード」という呼び方の方が広く普及しています。
ネットワークアドレス変換による効果について
NATやNAPT (IPマスカレード) による変換により、様々な効果を得ることができます。以下、NAPT (IPマスカレード) による変換を「ネットワークアドレス変換」と表記します。
ネットワークアドレス変換には、以下の主なメリット・デメリットが挙げられます。
1. メリット
- 内部ネットワークからインターネットへの接続
ネットワークアドレス変換は、主にプライベートIPアドレスをグローバルIPアドレスに変換し、プライベートネットワーク上のホストがインターネットに接続できるようにする事が目的です。
この機能により、プライベートIPアドレスを持ったホスト自身が、グローバルIPアドレスを持たずにインターネット接続することができます。 - グローバルIPアドレスの共有利用
現在一般的に使用されているIPv4形式のIPアドレス (0.0.0.0~255.255.255.255) は、約43億個しか存在しえない一方、インターネットに接続されるホストが著しく増えているため、IPアドレスの枯渇が懸念されるようになりました。
そこで、ローカル・ネットワーク内のホストにはそれぞれプライベートIPアドレスを割り当て、インターネットに接続するときだけグローバルIPアドレスを使用する事を目的に、プライベートIPアドレスとグローバルIPアドレスの変換するNAT技術が開発されました。
ネットワークアドレス変換は、複数のホストが1つのグローバルIPアドレスでインターネットに接続できる技術であるため、グローバルIPアドレス節約の手助けとなっております。 - 外部ネットワークから内部IPアドレスを隠す事によるセキュリティー強化
ネットワークアドレス変換によりIPアドレスが変換されるため、外部ネットワークから、変換される前のIPアドレスを特定することはできません。また特別な設定をしない限り、通常は外部ネットワークから内部ネットワークに接続する事もできません。
また、ネットワークアドレス変換の際にパケットフィルタリングを実装する事ができるため、簡易的なファイアウォールの一種として、セキュリティー効果を高める事も可能です。 - 同じネットワークアドレスを持つ異なるネットワーク同士での通信
同じネットワークアドレスを持った、別々のプライベートネットワークのホスト同士で通信を行う際、双方のネットワーク上でネットワークアドレス変換を行い、内部ホストのIPアドレスを別のIPアドレスに変換することで、競合を避けることができます。
2. デメリット
- P2P (*1) による通信障害
外部ネットワークから内部ネットワークやホストに直接アクセスできないというネットワークアドレス変換のセキュリティー的なメリットは、ホスト同士で双方向に通信を行うP2P (*) ネットワークを遮断する可能性があり、通信障害の発生原因となります。
ネットワークアドレス変換を行う機器で特別な設定をしない限り、通常では外部ネットワークから内部ネットワークに接続できません。
上記、外部ネットワークから内部ネットワークへの接続を実現することを一般的に「NAT越え」と言われています。 - ネットワークアドレス変換非対応のアプリケーションプロトコル
ネットワークアドレス変換は、通信パケットのIPヘッダーに記述されているアドレス情報を変換しますが、FTPやSIP (*2) など一部のアプリケーションでは、通信パケットのヘッダー部分ではなく、データ部分にアドレス情報が記述されているため、ネットワークアドレス変換できない場合があります。このような場合、Linuxのiptablesなどに実装されているConnection Tracking機能のような、接続追跡を行って対処する技術を使用する事で解決できます。
(*1) P2P (Peer to Peer) とは、定まったクライアント、サーバーを持たず、ネットワーク上の他のコンピューターに対してクライアントとして、或いは、サーバーとして動作するようなコンピューターの集合によって形成されるネットワークの形態の一つです。
また、P2Pネットワーク上にあるコンピューターを一般的に「ノード」と表現します。
(*2) SIP (Session Initiation Protocol) とは、2つ以上のクライアント間でセッションを確立するための IETF (The Internet Engineering Task Force: インターネットで利用される技術の標準化を策定する組織) 標準の通信プロトコルです。
次回は、ネットワーク回線に障害が発生した場合、最新の状況で一番近い経路を選択するようにルーティングテーブルを自動更新し、ルーティングテーブル管理負荷軽減を手助けする「ダイナミックルーティング (動的なルーティング情報変更)」についてです。
関連キーワード


