![見出し画像](https://assets.st-note.com/production/uploads/images/104245000/rectangle_large_type_2_25009cb37d3d2c40a6cc9328ca885adf.png?width=800)
【Cisco】 NATの設定
NAT
NAT(Network Address Translation)は、ネットワークアドレスの変換技術で、プライベートIPアドレスとパブリックIPアドレス間で変換を行い、内部ネットワークのデバイスがインターネット上のリソースにアクセスできるようになる。
スタティックNAT
プライベートIPアドレスとパブリックIPアドレスを1対1で関連付ける方式で、特定の内部ネットワークデバイスに固定のパブリックIPアドレスが必要な場合に使われる。
ダイナミックNAT
プライベートIPアドレスとパブリックIPアドレスを動的に関連付ける方式で、内部ネットワークデバイスがインターネットにアクセスする際に利用可能なパブリックIPアドレスプールからIPアドレスが割り当てられる。
一般的な企業ネットワークで使われる。
PAT
NATの一種で、複数のプライベートIPアドレスを1つのパブリックIPアドレスにマッピングするが、トランスポート層のポート番号を使って、個々のデバイスやセッションを識別する。これにより、限られたパブリックIPアドレスを効率的に利用できる。
作業ログ
設定例
スタティックNAT
! ルータに入る
enable
configure terminal
! 内部インターフェイス(Fa0/0)の設定
interface FastEthernet0/0
ip address 192.168.0.1 255.255.255.0
ip nat inside
exit
! 外部インターフェイス(Fa0/1)の設定
interface FastEthernet0/1
ip address 172.16.0.1 255.255.255.0
ip nat outside
exit
! 端末1のスタティックNAT設定
ip nat inside source static 192.168.0.5 10.0.0.1
! 設定を保存
write memory
exit
ip address 192.168.0.1 255.255.255.0: 内部インターフェイスにIPアドレス(192.168.0.1)とサブネットマスク(255.255.255.0)を設定します。
ip nat inside: このインターフェイスをNATの内部インターフェイスとして設定します。
ip address 172.16.0.1 255.255.255.0: 外部インターフェイスにIPアドレス(172.16.0.1)とサブネットマスク(255.255.255.0)を設定します。
ip nat outside: このインターフェイスをNATの外部インターフェイスとして設定します。
ip nat inside source static 192.168.0.5 10.0.0.1: 端末1のプライベートIPアドレス(192.168.0.1)をパブリックIPアドレス(10.0.0.1)にスタティックNATで関連付けます。
設定確認
show ip nat statistics
show ip nat statistics
------------------------------------------------------------
Total active translations: 1 (1 static, 0 dynamic; 0 extended)
Outside interfaces:
FastEthernet0/1
Inside interfaces:
FastEthernet0/0
Hits: 1234 Misses: 0
CEF Translated packets: 1234, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list 1 interface FastEthernet0/1 refcount 2
この例では、1つのアクティブな変換があり(1つのスタティックNATエントリ)、ヒット数(NAT変換が成功したパケット数)が1234、ミス数(NAT変換が失敗したパケット数)が0です。CEF(Cisco Express Forwarding)で変換されたパケット数も1234で、CEFで転送が中断されたパケット数は0です。また、有効期限が切れた変換は0。
show ip nat translations
show ip nat translations
------------------------------------------------------------
Pro Inside global Inside local Outside local Outside global
--- 10.0.0.1 192.168.0.1 --- ---
スタティックNAT設定が使用されており、内部のローカルアドレス(192.168.0.1)が外部のグローバルアドレス(10.0.0.1)に変換されている
debug ip nat
debug ip nat
------------------------------------------------------------
%IPNAT-6-CREATED: icmp 192.168.0.1:1 10.0.0.1:1 10.0.0.10:1
ICMP(例: ping)通信がスタティックNAT変換を通じて行われていることが示されています。ただし、実際にこの出力を得るためには、デバッグ中に実際に通信が発生している必要があります。
ダイナミックNAT
! ルータに入る
enable
configure terminal
! 内部インターフェイス(Fa0/0)の設定
interface FastEthernet0/0
ip address 192.168.0.1 255.255.255.0
ip nat inside
exit
! 外部インターフェイス(Fa0/1)の設定
interface FastEthernet0/1
ip address 172.16.0.1 255.255.255.0
ip nat outside
exit
! アドレスプールの設定
ip nat pool NAT_POOL 172.16.0.2 172.16.0.5 netmask 255.255.255.0
! アクセスリストの設定
access-list 1 permit 192.168.0.0 0.0.0.255
! ダイナミックNAT設定
ip nat inside source list 1 pool NAT_POOL
! 設定を保存
write memory
exit
ip address 192.168.0.1 255.255.255.0: 内部インターフェイスにIPアドレス(192.168.0.1)とサブネットマスク(255.255.255.0)を設定します。
ip nat inside: このインターフェイスをNATの内部インターフェイスとして設定します。
ip address 172.16.0.1 255.255.255.0: 外部インターフェイスにIPアドレス(172.16.0.1)とサブネットマスク(255.255.255.0)を設定します。
ip nat outside: このインターフェイスをNATの外部インターフェイスとして設定します。
ip nat pool NAT_POOL 172.16.0.2 172.16.0.5 netmask 255.255.255.0: NAT_POOLという名前のアドレスプールを作成し、範囲を172.16.0.2から172.16.0.5まで、サブネットマスクを255.255.255.0に設定します。
access-list 1 permit 192.168.0.0 0.0.0.255: アクセスリスト1を作成し、192.168.0.0/24のプライベートアドレス範囲を許可します。
ip nat inside source list 1 pool NAT_POOL: アクセスリスト1に一致する内部IPアドレスを、NAT_POOLから割り当てられるパブリックIPアドレスにダイナミックNATで変換するよう設定します。
設定確認
show ip nat statistics
show ip nat statistics
------------------------------------------------------------
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Outside interfaces:
FastEthernet0/1
Inside interfaces:
FastEthernet0/0
Hits: 0 Misses: 0
CEF Translated packets: 0, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list 1 pool NAT_POOL refcount 0
pool NAT_POOL: netmask 255.255.255.0
start 172.16.0.2 end 172.16.0.5
type generic, total addresses 4, allocated 0 (0%), misses 0
この例では、アクティブな変換が0であり、ダイナミックNAT設定が表示されています。アクセスリスト1とNAT_POOLが関連付けられており、NAT_POOLには4つのアドレスが含まれています(172.16.0.2から172.16.0.5)。現時点では、割り当てられたアドレスは0で、ミスも0。
show ip nat translations
show ip nat translations
------------------------------------------------------------
Pro Inside global Inside local Outside local Outside global
--- 172.16.0.2 192.168.0.5 10.0.0.10 10.0.0.10
--- 172.16.0.3 192.168.0.10 10.0.0.10 10.0.0.10
最初の変換では、内部アドレス192.168.0.5が外部アドレス172.16.0.2に変換されています。また、外部ネットワーク上の宛先アドレスは10.0.0.10です。
2つ目の変換では、内部アドレス192.168.0.10が外部アドレス172.16.0.3に変換されています。同様に、外部ネットワーク上の宛先アドレスは10.0.0.10です。このような出力は、NATが機能しており、内部ネットワークから外部ネットワークへの通信が正常に行われていることを示しています。
debug ip nat
debug ip nat
------------------------------------------------------------
%IPNAT-6-CREATED: icmp 192.168.0.5:1 172.16.0.2:1 10.0.0.10:1
%IPNAT-6-CREATED: icmp 192.168.0.10:2 172.16.0.3:2 10.0.0.10:2
この例では、2つのNAT変換が作成されました。最初の変換では、内部アドレス192.168.0.5のICMPパケットが、外部アドレス172.16.0.2に変換され、宛先アドレス10.0.0.10に送信されました。2つ目の変換では、内部アドレス192.168.0.10のICMPパケットが、外部アドレス172.16.0.3に変換され、同じく宛先アドレス10.0.0.10に送信されました。
PAT
! ルータに入る
enable
configure terminal
! 内部インターフェイス(Fa0/0)の設定
interface FastEthernet0/0
ip address 192.168.0.1 255.255.255.0
ip nat inside
exit
! 外部インターフェイス(Fa0/1)の設定
interface FastEthernet0/1
ip address 172.16.0.1 255.255.255.0
ip nat outside
exit
! アクセスリストの設定
access-list 1 permit 192.168.0.0 0.0.0.255
! NAPT設定
ip nat inside source list 1 interface FastEthernet0/1 overload
! 設定を保存
write memory
exit
ip address 192.168.0.1 255.255.255.0: 内部インターフェイスにIPアドレス(192.168.0.1)とサブネットマスク(255.255.255.0)を設定します。
ip nat inside: このインターフェイスをNATの内部インターフェイスとして設定します。
ip address 172.16.0.1 255.255.255.0: 外部インターフェイスにIPアドレス(172.16.0.1)とサブネットマスク(255.255.255.0)を設定します。
ip nat outside: このインターフェイスをNATの外部インターフェイスとして設定します。
access-list 1 permit 192.168.0.0 0.0.0.255: アクセスリスト1を作成し、192.168.0.0/24のプライベートアドレス範囲を許可します。
ip nat inside source list 1 interface FastEthernet0/1 overload: アクセスリスト1に一致する内部IPアドレスを、外部インターフェイス(FastEthernet0/1)のIPアドレスにNAPTで変換するよう設定します。overloadキーワードは、複数の内部IPアドレスを1つの外部IPアドレスにマッピングするために使用されます。
設定確認
show ip nat statistics
show ip nat statistics
------------------------------------------------------------
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Outside interfaces:
FastEthernet0/1
Inside interfaces:
FastEthernet0/0
Hits: 0 Misses: 0
CEF Translated packets: 0, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list 1 interface FastEthernet0/1 refcount 0
外部インターフェースにはFastEthernet0/1、内部インターフェースにはFastEthernet0/0が設定されています。また、NAT変換に成功したパケット数と失敗したパケット数はどちらも0です。さらに、CEFによるNAT変換済みパケット数とCEFによる未処理パケット数も0であり、期限切れのNAT変換は存在しません。動的マッピングでは、ACL(access-list 1)とインターフェース(FastEthernet0/1)の情報が表示されており、現在この動的マッピングを使用している変換の数は0です。
show ip nat translations
show ip nat translations
------------------------------------------------------------
Pro Inside global Inside local Outside local Outside global
--- 172.16.0.2 192.168.0.5 10.0.0.10 10.0.0.10
--- 172.16.0.3 192.168.0.10 10.0.0.10 10.0.0.10
最初の変換では、内部アドレス192.168.0.5が外部アドレス172.16.0.2に変換されています。また、外部ネットワーク上の宛先アドレスは10.0.0.10です。
2つ目の変換では、内部アドレス192.168.0.10が外部アドレス172.16.0.3に変換されています。同様に、外部ネットワーク上の宛先アドレスは10.0.0.10です。このような出力は、NATが機能しており、内部ネットワークから外部ネットワークへの通信が正常に行われていることを示しています。
debug ip nat
debug ip nat
------------------------------------------------------------
%IPNAT-6-CREATED: icmp 192.168.0.5:1 172.16.0.2:1 10.0.0.10:1
%IPNAT-6-CREATED: icmp 192.168.0.10:2 172.16.0.3:2 10.0.0.10:2
92.168.0.5からのICMPパケットが外部アドレス172.16.0.1とポート番号10001にNAPTされ、外部ネットワーク上の10.0.0.10に送信されています。また、192.168.0.10からのICMPパケットが外部アドレス172.16.0.1とポート番号10002にNAPTされ、外部ネットワーク上の10.0.0.10に送信されています。
コマンドの意味
show ip nat statistics
NAT(Network Address Translation)の統計情報を表示するために使用されます。これには、アクティブな変換数、成功および失敗したパケット数、インターフェース情報、期限切れの変換数などが含まれます。
show ip nat translations
現在アクティブなNAT変換を表示するために使用されます。これには、内部および外部のグローバルおよびローカルアドレスが表示されます。また、このコマンドは、NAT変換が正しく機能しているかどうかを確認するのに役立ちます。
debug ip nat
NATプロセスをリアルタイムでトラブルシューティングおよび監視するために使用されます。このコマンドは、NAT変換の作成、削除、エラーなどの詳細な情報を提供します。ただし、このコマンドはルーターのリソースを消費するため、通常の運用中には使用しない
よろしければサポートお願いします!よりいい情報を発信します。