13-ネットワーク

頭文字D / 藤原文太風:PAT

藤原文太についてはこちら

頭文字D / 藤原文太風:PAT

PAT(Port Address Translation)の概要

【文太】
拓海、「NAT」と「ポートマッピング」は大分、扱えるようになってきたか?

【拓海】
まぁまぁかな。俺、この技、けっこー好きかも。

【文太】
そーか、そりゃよかった。じゃ、この手の話はPATで最後としようか。

【拓海】
前にも言ってたよな。その「PAT」っての。俺も調べてみたんだけど、ひとつのグローバルIPアドレスを使って、複数のローカルにある端末がインターネットにつなげるやつだろ?

【文太】
おー、いい線、いってんじゃねーか。じゃ、朝の配達先を増やしても大丈夫そうだな。

【拓海】
な、なんでだよ?!?配達は関係ねーだろ。

【文太】
そりゃ、ハチロク一台で、いろんな豆腐が、いろんな場所に行けるんだから、似たような話じゃねーか。

【拓海】
いや、例えが強引なんだよ。ったく、親父は走りと同じで、しゃべりもきついぜ。

【文太】
まぁ、そんな話は置いといて、PAT(ポートアドレス変換)についてだな。PATってのは、拓海が言ったように、複数の内部IPアドレスを1つの外部IPアドレスに変換する技術だ。この技術のおかげで、内部ネットワークの複数のデバイスが1つのグローバルIPアドレス(外部IP)を共有してインターネットにアクセスすることができるようになった。

どーして、それができるのか、だが、それは、ポート番号を利用して複数の接続を区別するからなんだ。

PATについて端的に言えば、「内部ネットワーク上の複数のデバイスが、1つのグローバルIPアドレスを使って同時にインターネットへアクセスするときに、各通信に異なるポート番号を割り当てて識別・変換する技術」ってことだ。

PATの設定手順(Ciscoルーター)

【文太】
次は、Ciscoルーターを使ったPATの設定だ。PAT(Port Address Translation)じゃ、基本的に、内部ネットワークの複数の端末が同時に外につながるってことを想定してる。

だから、複数の内部IPを準備して設定していくことになる。これには、ひとつの外部インターフェース(外部IP)に対して「overload」設定を行うことで片が付く。一般的ではないが、ダイナミックNATの設定時に利用したアドレスプールを利用することもある(後者は冗長な設定だからあまり好ましくない)。

前提構成

[PC群] ── [内部ネットワーク: 192.168.1.0/24] ── [Ciscoルーター:外部インターフェース(例: Serial0/0/0)] ── [インターネット]

前提条件

  • 内部ネットワーク:192.168.1.0/24
  • 外部IP(グローバルIP)はプロバイダから割り当て済み(例:203.0.113.1)
  • 内部側インターフェース:FastEthernet0/0(LAN)
  • 外部側インターフェース:Serial0/0/0(WAN)

Ciscoルーターにログイン

まずは、いつも通り、Ciscoルーターのコンソールにアクセスする。TelnetまたはSSHを使用してリモートアクセスするか、直接コンソールケーブルを使用してアクセスだ。

Router> enable

グローバルコンフィギュレーションモードに入る

ルーターにログインしたら、グローバルコンフィギュレーションモードに入る。

Router# configure terminal
Router(config)#

内部IP範囲を指定する(ACL)

ACL 1 に内部ネットワークを定義する。0.0.0.255 はサブネットマスク 255.255.255.0 をワイルドカードで指定したものだ。

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

PATを定義する(NAT設定)

ACL 1 で定義した内部ホストの通信を、Serial0/0/0 の外部IPアドレスを使ってPATを設定する。ここで「overload」がついていることで「PAT(ポートアドレス変換)」を有効化している。

Router(config)# ip nat inside source list 1 interface Serial0/0/0 overload

インターフェースのNAT方向を指定

Router(config)# interface FastEthernet0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# ip nat inside
Router(config-if)# no shutdown
Router(config-if)# exit

Router(config)# interface Serial0/0/0
Router(config-if)# ip address 203.0.113.1 255.255.255.0
Router(config-if)# ip nat outside
Router(config-if)# no shutdown
Router(config-if)# exit

NATテーブルの確認

設定が正しく行われたか確認するため、show ip nat translations コマンドを実行だ。このコマンドは、現在ルーターが行っているNAT変換を表示してくれるものだったな。覚えてるか?

Router# show ip nat translations

NATの動作状況確認

NATが正しく動作しているかの確認は:show ip nat statistics で行う。

PATの動作イメージはこんな感じだ。

内部IP(送信元)送信ポート変換後のIP(グローバル)割り当てポート
192.168.1.1012345203.0.113.130001
192.168.1.2012345203.0.113.130002

PAT利用時のセキュリティ注意点

  1. 外部からのアクセスは基本できない(=利点だが制限にもなる)
    • PATは内部→外部の通信に向いている。外部→内部の通信はポート開放(ポートフォワーディング)が必要だ。
    • この制限で、外部からの攻撃が届きにくくなる反面、特定のサービス(SSH、Webサーバーなど)を公開する設定は複雑になる。
  2. ポートスキャン耐性はあるが、ゼロじゃない
    • PATはランダムなポートを割り当てる。だからこそ、直接的な攻撃はされにくいが、NATテーブルを狙った攻撃やDoS(Denial of Service)のリスクは依然存在することになる。
  3. ログやトレーサビリティの課題
    • 内部ネットワークの全端末が同じグローバルIPで出ていくから、特定のユーザーを追跡しにくくなる。これは、セキュリティログやアクセス監査に注意が必要ってことにつながる。
  4. 一部プロトコルに非対応
    • FTP(アクティブモード)、SIP、IPSec みたいな、一部のポートやIP情報を埋め込むプロトコルは、PATでうまく動作しない場合がある。→ ALG(Application Layer Gateway)や特別なNAT設定が必要

PAT利用時のパフォーマンス注意点

  1. ルーターへの負荷
    • PATは通信ごとにポート番号の変換テーブルを管理する必要がある。裏を返せば、NATテーブルのサイズやCPU使用率が増加するってことだ。
    • 高トラフィック環境では、性能劣化やNATテーブルの枯渇が起こり得る。
  2. ポート枯渇
    • PATは 1つのIP × 65535個のポート番号で通信を識別するが、実際には動的ポート(49152~65535)しか使えないことが多い。それを超えると同時接続数が制限される。
    • 例:NATセッション数が上限に達すると新しい接続ができなくなる。
  3. 通信遅延の可能性
    • NAT処理によるパケットの再書き換えはわずかとはいえ、通信レイテンシ(遅延)を増加させる要因になる。→特にVoIPやリアルタイム通信では影響が出やすい。

Ciscoルーターで PAT(Port Address Translation)の設定を行う手順は以上だ。

今日はここまでだ。下にITスクール情報を置いておく。俺は現役の時は夢の中でも秋名の山を走ってた。知識ってのは一日やそこらじゃ身にならね。負けんなよ。

「2025年版」 最新おすすめ ITスクール情報 | 現役エンジニア&プログラミングスクール講師2025年 最新 ITスクール情報です。Winスクール、インターネット・アカデミー、DMM WEBCAMP、テック・アカデミー、Aidemy  Premium、スキルアップAIといった人気スクール、注目度が急上昇中のスクールを掲載しています。...
【最大70%OFF】AI×IoTを本気で学ぶなら今がチャンス!python AI IoTを学ぶならインターネット・アカデミー『Reスキル通学講座』(経済産業省から認定を受けた講座)認定数が日本一!AI・IoT関連の最先端スキルを受講料が最大『70%OFF』で学べる。Reスキル講座で身に着けることのできるスキルは経済産業省が策定する「ITスキル標準(ITSS)」のレベル4の水準となります。レベル4水準のIT人材の年収平均は『726.1万円』と高く、これからIT分野のスキルを新しく身に着けたい方、さらなるスキルアップ・年収アップを目指したいIT職の方まで、魅力的な講座となっています。...
【現役エンジニアが本音で解説】おすすめのITスクール「Winスクール」はこんな人にぴったり!ITスクールの選び方を説明しています。もっとも譲れない条件を基にしてスクールを選び、学びたい教科を学ぶことをお勧めします。ページ下部に「おすすめ求人サイト」について情報を掲載中。...
RELATED POST