頭文字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.10 | 12345 | 203.0.113.1 | 30001 |
192.168.1.20 | 12345 | 203.0.113.1 | 30002 |
Ciscoルーターで PAT(Port Address Translation)の設定を行う手順は以上だ。
今日はここまでだ。下にITスクール情報を置いておく。俺は現役の時は夢の中でも秋名の山を走ってた。知識ってのは一日やそこらじゃ身にならね。負けんなよ。


