【NAT変換 / NAPT変換】の意味、目的、種類、仕組み、セキュリティについて

NATとは

NAT(読み方:なっと)とは、Network Address Translationの略で、送信元、もしくは宛先のIPアドレスを、あらかじめ決められたルールに従い別のIPアドレスに変換する機能です。ルータやファイアウォール、回線負荷分散装置などのNW機器に実装されます。(L3スイッチには実装されていないことが多いです)

プライベートIPアドレスは色々な家庭や企業で利用されているため、インターネット上ではルート情報はありません。

宛先がグローバルIPであっても送信元IPがプライベートIPの場合は返りの通信の宛先がプライベートIPとなりますが、インターネット上にはルートが無く、返りのパケットが破棄されてしまいます

そのため、社内ネットワークや家庭ネットワーク等のローカルエリアネットワークとインターネットの境界にNATルータを設置し、送信元のプライベートIPとグローバルIPをうまく変換してくれるため、通信ができるのです。

元々は枯渇し始めたIPを節約する技術ですが、グローバルIPを隠す、という意味で、セキュリティの向上にもなります

NATの使い方

主な使い道は大きく3つあります。

1. プライベートIPアドレスを使っているNWから、インターネットに出るとき

送信元IPアドレスをプライベートIPアドレスからグローバルIPアドレスに変換します。これにより、インターネットからの戻りの通信経路を確保できます。

2. 企業内に立ち上げたプライベートIPアドレスのサーバを外部に公開するとき

宛先IPアドレスをグローバルIPアドレスからプライベートIPアドレス(サーバのIPアドレス)に変換します。これにより、グローバルIPを効率的に使うことができます。

3. 企業内でIPアドレスが重複してしまったとき

制約あり。お奨めできませんが、一時的な対応としてはあり。

Case.1 プライベートIPアドレスを使っているNWから、インターネットに出るとき

現状、ほとんどの家庭、企業がこのパターンに当てはまります。

NATの中でも、NAPTPAT[Network Address Port Translation](PAT[Port Address Translation]やNATオーバーロード、IPマスカレード等とも言います)という機能を利用します。

単純にNATと言うと、IPアドレスを1対1で変換する仕組みになりますが、グローバルIPアドレスが1つだけしか 割り当てられていない場合、複数PCで見ることができません。

そこで NAPT が出てきます。NAPT は IPアドレスとTCP/UDPのポート番号をペアで1対1に変換します

例えば、PC#1とPC#3がそれぞれ、インターネット上のYahoo!のWebサーバ(182.22.25.124)を閲覧するときを考えます。

まず、利用するグローバルIPアドレスですが、通常はISPからPPPoE等でルータのWANインタフェースに払い出される/32のIPアドレス を利用します。ここでは仮に20.20.20.20としています。

PC#1(IPアドレス:192.168.1.31 TCP送信元ポート:30001番)から、WebサーバA(IPアドレス:182.22.25.124 TCP宛先ポート:80番) に通信する途中、ブロードバンドルータのNAT機能により、ISPから割り当てられている唯一のグローバルIPアドレス20.20.20.20に変換されます。 その際、単にIPアドレスを変換するだけでなく、TCP送信元ポート番号を30001番から適当なポート番号、例えば50001番に変換します。

また、それと同時にPC#3(IPアドレス:192.168.1.33 TCP送信元ポート:30003番)から、WebサーバB(IPアドレス:20.20.20.20  TCP宛先ポート:80番)に通信するとします。端末Aと同様、送信元IPアドレスを20.20.20.20に変換され、同時にTCP送信元ポート番号を 30003番から適当なポート番号、例えば50003番に変換します。ただし、端末Aが使っている50001番は使わないようにします。

これにより、戻りのパケットが来た時に、どちらのPCのIPアドレスに変換すればよいかが分かるようになります

このように、IPアドレスとポート番号のペアで変換を行なうことで、1つのグローバルIPアドレスを共有して インターネット閲覧をすることが可能になります

Case.2 企業内に立ち上げたプライベートIPアドレスのサーバを外部に公開するとき

例えばグローバルIPアドレスを4つしか持っていない企業で、社内外に公開するWebサーバを立ち上げたケースを考えてみましょう。 4つしかないグローバルアドレスを直接割り当ててしまうと、EthernetとIPの組合せでは必ずネットワークアドレスと ブロードキャストアドレスで2つ消費してしまい、残り2つしかグローバルアドレスが使えなくなってしまいます。

NATを使うと、EthernetインタフェースにIPを振らずに済むため、4つ全てグローバルIPアドレスを使うことができます。

具体的な構成例として、下記の図を参照下さい。

154.3.2.1というグローバルアドレスは、物理的には設定せず、NATする機器(図ではファイアウォール)の NAT Poolに設定する、という点に注意。

Case.3 企業内でIPアドレスが重複してしまったとき

ここでは詳しくは触れませんが、例えば192.168.1.0/24というアドレスが2箇所に 存在してしまった場合、ルーティングでどちらの方向に向ければ良いか分かりません。

そういった場合は、片方を172.16.1.0/24というアドレスに対応させてしまう方法があります。 ただし、1対1で設定をしなければならないので、そのセグメントに20台の端末があれば、20個のNAT設定をする必要があります。

(例)
192.168.1.1 ⇔ 172.16.1.1
192.168.1.8 ⇔ 172.16.1.8
192.168.1.12 ⇔ 172.16.1.12
192.168.1.17 ⇔ 172.16.1.17
192.168.1.18 ⇔ 172.16.1.18
・・・

シェアする

  • このエントリーをはてなブックマークに追加

フォローする