【ネットワーク:Cisco】NAPT(PAT)の構成を検証する

 
この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

今回は、NAPT(PAT)を検証してみます。

PATはシスコ用語で、一般的にはNAPT(Network Address Port Translation)やIPマスカレードと言われます。
スタティックNATやダイナミックNATは、1つの内部ローカルアドレス(変換元のIPアドレス)に対して、1つの内部グローバルアドレス(変換先のIPアドレス)が必要でした。
それに対してNAPT(PAT)は、IPアドレスとポート番号を利用するため、1つの内部グローバルアドレス(変換先のIPアドレス)に対して、複数の内部ローカルアドレス(変換元のIPアドレス)という1対多の変換が可能となります。
NAPT(PAT)が正しく設定されているかは、WEBサーバのログに設定したアドレスプールのIPアドレス(10.0.0.11~20)が記載されていることを確認します。
ルータ、スイッチの初期設定やトランク、サブインターフェイス設定、DHCPサーバ、WEBサーバの設定は、完了しているものとします。
(過去の記事に設定をまとめていますので参考にしていただければと思います。)

環境

・Ciscoルータ
  型番:C891FJ-K9
 
・Cisco catalyst 2960 8ポートスイッチ
  型番:WS-C2960C-8TC-L
 
・VLAN
  VLAN10(192.168.10.0)
  VLAN20(192.168.20.0)
 
・Windows Server 2022 評価版
  DHCP 兼 IISサーバ

ルータ(RT01、RT02)のインターフェイスにインサイド、アウトサイドの指定をする

スタティックNATやダイナミックNATと同じように内部と外部を指定します。サブインターフェースの場合は、各サブインターフェースへの設定が必要となります。

 RT01#conf t
 Enter configuration commands, one per line. End with CNTL/Z.
 RT01(config)#interface FastEthernet0.10
 RT01(config-subif)#ip nat inside
 RT01(config-subif)#exit
 RT01(config)#
 RT01(config)#interface GigabitEthernet8
 RT01(config-if)#ip nat outside
 RT01(config-if)#end
 RT01#

VLAN20用のスタティックNAT設定も入れておきます。
外部となるポートは「ip nat outside」をすでに設定済みのため、ここでは不要となります。

 RT01#conf t
 Enter configuration commands, one per line. End with CNTL/Z.
 RT01(config)#interface FastEthernet0.20
 RT01(config-subif)#ip nat inside
 RT01(config-subif)#exit
 RT01(config)#

変換元となる送信元IPアドレスのリストを作成

NAPT(PAT)で変換元となる送信元IPアドレスのリストを作成するには、ACLを使用します。
ACLで permit となっている行に該当するパケットは、送信元IPアドレスがNATにより変換されます。
ACLで deny を設定するとNAT変換されなくなります。
今回は、192.168.10.0セグメントと192.168.20.0セグメントが送信元となるよう設定します。

 RT01#conf t
 Enter configuration commands, one per line. End with CNTL/Z.
 RT01(config)#access-list 10 permit 192.168.10.0 0.0.0.255
 RT01(config)#access-list 10 permit 192.168.20.0 0.0.0.255
 RT01(config)#

アドレスプールを利用せず、外部インターフェースのIPアドレスを使用

参考書によるとアドレスプールの作成は必須でないようです。
NAPT(PAT)の場合は、1つの内部グローバルアドレス(変換先のIPアドレス)があれば複数の内部PCが通信できるのでアドレスプールを使用するのではなく外部インターフェースのIPアドレスを内部グローバルアドレス(変換先のIPアドレス)として使用することができます。
今回の環境であれば外部インターフェース(GigabitEthernet8)は、10.0.0.254が内部グローバルアドレス(変換先のIPアドレス)となります。

show run の設定を確認
 
 interface GigabitEthernet8
  ip address 10.0.0.254 255.255.255.0
  ip nat outside
  ip virtual-reassembly in
 duplex auto
 speed auto

作成したリストと外部インターフェイスを紐付け

変換元となる送信元IPアドレスのリストと変換先となる内部グローバルアドレス(変換先のIPアドレス)を紐付けます。

 RT01#conf t
 Enter configuration commands, one per line. End with CNTL/Z.
 RT01(config)#ip nat inside source list 10 interface GigabitEthernet8 overload

NATテーブルの確認

PING疎通やWEBサーバを閲覧して通信を発生させることでNATテーブルに記録されます。
緑色塗りつぶしは、PC(192.168.10.1)がWEBサーバへアクセスした時、橙色塗りつぶしは、PC(192.168.20.1)がWEBサーバへアクセスした時のNATテーブルの状況となります。

動作確認

WEBサーバのログです。
NAPT(PAT)で設定した内部グローバルアドレス(変換先のIPアドレス)が送信元IPアドレスとなりアクセスログに記録されていることが確認できます。
WEBサーバのログには、送信元のポート番号までは記録されてないのでログを見ただけでは192.168.10.1からか192.168.20.1からかどちらかのアクセスかわかりにくくなっています。

この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

Copyright© しっぱいはせいこうのもと , 2024 All Rights Reserved.