HOME > コンテンツリスト > ラボ・シナリオ for CCNA > [ < 前へ 次へ > ]

NATを理解する

NAT (Network Address Translation) はインターネットへの接続口で使用し、社内で使用しているプライベートアドレス (ローカルアドレス) をインターネットで使用しているグローバルアドレスに変換し、インターネットで使用できないプライベートアドレスを持つ社内PCをインターネットにアクセスできるようにするための技術です。

※ インターネットの接続口で使用することが最も多いのでこのように書きましたが、NAT はパケット内のアドレス変換を行う技術ですので、実際には、インターネットの接続口だけでなく、社内 LAN 内のアドレス変換にも使われます。



インターネットへの接続口で使われる NAT の形態には、大別して次の3つがあります。
スタティック NAT1つのグローバルアドレスと1つのプライベートアドレスを1対1でマップするように登録します。社内に外部公開用の Web サーバーなどを設置する場合に役立ちます。これをやることによって、インターネット側から社内の Web サーバーにアクセスすることができるようになります。
ダイナミック NAT複数のグローバルアドレスを予め登録し、プライベートアドレスを持つ社内のPCはインターネットに接続する時に、登録済みのグローバルアドレスの中の1つのアドレスを使ってインターネットに接続します。接続している時にしかそのグローバルアドレスは使用しないので、グローバルアドレスを複数台の社内PCで共用して使用できます。どのグローバルアドレスが使われるかは事前には決まっておらず、接続時に動的に決まります。
PAT / IPマスカレードダイナミック NAT の一形態ですが、ダイナミック NAT では複数台の社内 PC が複数のグローバルアドレスを共用するのに対して、PAT では複数台の社内 PC が1つのグローバルアドレスの異なるポート番号を共用して使用します。これは一般的にIPマスカレードとか、NAPT (Network Address Port Translation) とか、PAT (Port Address Translation) と呼ばれていますが、Cisco では NAT オーバーロード (オーバーローディング) もしくは PAT と呼んでいます。

社内のネットワーク (ローカルネットワーク) にグローバルアドレスを使用していれば NAT は必要ありません。

しかし、現在 IPv4 アドレスは枯渇しており、プロバイダから社内の全ての PC に割り当てられるだけのグローバルアドレスがもらえることはまずありません。そのため、インターネットで使用できないが自由に使えるプライベートアドレスを社内で使用し、インターネットとの接続口で、インターネットで使用できるグローバルアドレスに変換してインターネットとの通信を行うのが一般的です。



どうせ NAT で変換するのであれば、適当なグローバルアドレス (プロバイダから割り当てられたわけではないグローバルアドレス) を使って、NAT でプロバイダから割り当てられたグローバルアドレスに変換して、インターネットに接続してもいいの?
ってことをたまに聞きますが、もちろん可能です。ただ、メリットは全くないので、素直にプライベートアドレスを使用しましょう。



※ このシナリオではわかりやすいように内部のアドレスをプライベートアドレスと記載している箇所が多いのですが、一般的な NAT の説明では内部のアドレスをローカルアドレス (プライベートアドレスとは限定していない) と記載していることが多いと思います。

パケットには必ず
「送信元IPアドレス」「宛先 (送信先) IPアドレス」が書かれており、
これで、「誰から」「誰宛て」のパケットかがわかるようになっています。



● 内部ネットワークから外部ネットワークへ
社内のローカルネットワークからインターネットへパケットを転送する時は、NAT ルータで「送信元IPアドレス」をプライベートアドレスからグローバルアドレスに変換します。



● 外部ネットワークから内部ネットワークへ
インターネットから社内のローカルネットワークへパケットを転送する時は、NAT ルータで「宛先IPアドレス」をグローバルアドレスからにプライベートアドレス変換します。



● ルータ内部での NAT の処理場所

パケットが Inside から Outside に流れる場合は、ルーティングの後で NAT 処理が行われます。



パケットが Outside から Inside に流れる場合は、ルーティングの前に NAT 処理が行われます。