長谷川 泰右 NTTデータ関西テクシス 技術部 技術支援担当

NATなどでプライベートから社外へアクセス

 各企業内のパソコンは別の企業内のパソコンと通信をする必要はないが,インターネット上のグローバル・アドレスを設定されたWWWサーバーなどとは通信を行いたい。では,プライベート・アドレスが設定されている社内のPCからインターネット上のホストへは,どのようにして通信を行えば良いのだろうか。

 そこで利用されるのが,「NAT(Network Address Transfer)」や「IPマスカレード(IP Masquerade)」と呼ばれるアドレス変換の技術である。これらを利用すると,プライベート・アドレスを設定された社内のPCからインターネット上のサーバーへ通信する際には,その通信がアドレス変換機能を持った装置(ルーターやファイアウオール)を通過する時に,プライベート・アドレスがグローバル・アドレスに変換される。

図8●NATの仕組み
 例えば図8[拡大表示]のようなネットワークにおいて,「192.168.20.10」というプライベート・アドレスが設定された社内PCからインターネット上のWWWサーバー(グローバル・アドレスは「210.0.0.1」)へアクセスする場合を考えてみよう。  

 PCから送信されるIPパケットのIPヘッダーの送信元IPアドレスには「192.168.20.10」が,あて先IPアドレスには「210.0.0.1」が入る(図8(1))。それが社外に出るためにルーター(またはファイアウオール)に渡されると,そこで送信元IPアドレスが,グローバル・アドレスである「200.0.0.1」に書き換えられ(同(2)),そのIPパケットがインターネットに送出される(同(3))。パケットを受け取ったWWWサーバーは,要求されたコンテンツを,IPヘッダーに入っている送信元IPアドレス(「200.0.0.1」)に向けて送り返す(同(4))。ルーターは,そのコンテンツは元々の送信元である「192.168.20.10」へ返すべきであるということを知っているので,あて先IPアドレスを書き換え(同(5)),社内PCへ送ってやるのである(同(6))。

 もしアドレス変換を行っていなければWWWサーバーに届いたパケットの送信元IPアドレスにはプライベート・アドレスが入っていることになる。WWWサーバーは,このプライベート・アドレスに向けてコンテンツを返そうとするのだが,このIPアドレスはインターネット上では有効なアドレスではないため,インターネット上のルーターは社内のPCまでコンテンツのデータを含むパケットを中継することができない。

 NATの仕組みによって社内PCはWWWサーバーにアクセスできるが,逆に,社内ネットワークに設置したプライベート・アドレスを設定したWWWサーバーに対して,インターネットからグローバル・アドレスを用いてアクセスさせることも可能になる。

1対多変換を行うIPマスカレード

 NATではIPアドレスを1対1で変換するが,複数のアドレスから1つのアドレスへ変換を行うことをIPマスカレードと呼ぶ*10。IPマスカレードを利用することによって複数のプライベート・アドレスが1つのグローバル・アドレスへ集約される形になり,グローバル・アドレスの消費を抑えることができる。

 現場では,プライベート・アドレスを割り当てた社内PCからインターネットへアクセスする場合などにはIPマスカレードを用い,プライベート・アドレスのWWWサーバーをグローバル・アドレスに対応付けする場合などにはNATを用いることが多い。