RTシリーズのNATとIPマスカレードに関するFAQ
NAT使用時のTCPパケットはどう処理されますか?
| 最終変更日 | 2022/Dec/28 |
| 文書サイズ | 31KB |
NAT使用時のTCPパケットはどう処理されますか?
[ 目次 ]
[ パケットが外側(インタフェース側)へ出てゆく (OUT方向) ]
テーブルに従って、NATの変換処理をする。
テーブルに新規登録して、NATの変換処理をする。
[ パケットが外側(インタフェース側)から入ってくる (IN方向) ]
テーブルに従って、NATの変換処理をする。
捨てる。
[ NAT変換 ]
グローバルアドレス空間 プライベートアドレス空間
┣━━━━━━┫ ┠──────┨
IP(G1) IP(G2) IP(P2) IP(P1)
┏━━━━━┓ ┏━━━━━━━━━┓ ┏━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃
┃ ┠←←←←←←┨ ┌ ┠←←←←←←┨ ┃
┃IPホスト#A┃ ┃ │ NAT ┃ ┃IPホスト#B┃
┃ ┠→→→→→→┨ └ ┠→→→→→→┨ ┃
┃ ┃ ┃仮面 ┃ ┃ ┃
┗━━━━━┛ ┗━━━━━━━━━┛ ┗━━━━━┛
プライベートアドレス機器がグローバルアドレス機器と通信をしようとしたとき、 NATは、プライベートアドレス機器にグローバルアドレスの 仮面(マスカレード)を被せる。
[ TCP/ECHOプロトコル(RFC862/STD20)のNATの変換例#1 ]
+-------------+
| IPホスト#A | (TCP/ECHOサーバ)
+------+------+
| 133.176.200.47 133.176.200.0/24
-------+-----------------------------------
| 133.176.200.67
+------+------+
| RT(A) | (ダイヤルアップ・サーバ)
+-------------+
: 01/Celery
: ISDN擬似交換機またはISDN回線
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
:
: 02/Tomato
+-------------+ (133.176.200.68)
| RT(B) | (端末型ダイヤルアップ) ↑ NAT
+------+------+ 192.168.0.1-192.168.0.254
| 192.168.0.1 192.168.0.0/24
-------+-----------------------------------
| 192.168.0.2
+------+------+
| IPホスト#B | (TCP/ECHOクライアント)
+-------------+
isdn local address 01/Celery ip lan address 133.176.200.67/24 ip lan proxyarp on pp select anonymous ip pp remote address pool 133.176.200.68 133.176.200.69 pp auth request chap-pap pp auth username test-user test-password ppp ipcp msext on pp enable anonymous
isdn local address 02/Tomato ip lan address 192.168.0.1/24 pp select 1 isdn remote address call 01/Celery ip pp route add net default 1 pp auth accept chap pap pp auth myname test-user test-password nat use on ppp ipcp ipaddress on ppp ipcp msext on pp enable 1
ip filter 1 pass-log * * * * * isdn local address 01/Celery ip lan address 133.176.200.67/24 ip lan proxyarp on ip lan secure filter in 1 ip lan secure filter out 1 pp select anonymous ip pp remote address pool 133.176.200.68 133.176.200.69 ip pp secure filter in 1 ip pp secure filter out 1 pp auth request chap-pap pp auth username test-user test-password ppp ipcp msext on pp enable anonymous syslog notice on
ip filter 1 pass-log * * * * * isdn local address 02/Tomato ip lan address 192.168.0.1/24 ip lan secure filter in 1 ip lan secure filter out 1 pp select 1 isdn remote address call 01/Celery ip pp route add net default 1 ip pp secure filter in 1 ip pp secure filter out 1 pp auth accept chap pap pp auth myname test-user test-password nat use on ppp ipcp ipaddress on ppp ipcp msext on pp enable 1 syslog notice on
isdn local address 01/Celery ip lan address 133.176.200.67/24 ip lan proxyarp on pp select anonymous ip pp remote address pool 133.176.200.68 133.176.200.69 pp auth request chap-pap pp auth username test-user test-password ppp ipcp msext on pp enable anonymous
isdn local address 02/Tomato ip lan address 192.168.0.1/24 nat descriptor type 1 nat pp select 1 isdn remote address call 01/Celery ip pp route add net default 1 pp auth accept chap pap pp auth myname test-user test-password ip pp nat descriptor 1 ppp ipcp ipaddress on ppp ipcp msext on pp enable 1
| アドレス名 | IPアドレス |
|---|---|
| IP(G1) | 133.176.200.47 |
| IP(G2) | 133.176.200.67 (133.176.200.68) |
| IP(P1) | 192.168.0.2 |
| IP(P2) | 192.168.0.1 |
| ホスト名/機能名 | 機能 | ポート番号 |
|---|---|---|
| IPホスト#A | ECHOサーバ | 7(listen) |
| IPホスト#B | ECHOクライアント | 1024 |
IP(G1) IP(G2) IP(P2) IP(P1)
┏━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━┓
┃IPホスト#A┠←←←←←←┨ NAT ┠←←←←←←┨IPホスト#B┃
┗━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━┛
7 6 5 4 3 2 1
| プトロコル | 送信先/Destination | 送信元/Source | 位置 | ||
|---|---|---|---|---|---|
| IPアドレス | ポート番号 | IPアドレス | ポート番号 | ||
| IP/TCP | 133.176.200.47 | 7 | 192.168.0.2 | 1024 | 2 |
| ↓継承↓ | ↓書き換え↓ | ↓継承↓ | 4 | ||
| 133.176.200.47 | 7 | 133.17.200.68 | 1024 | 6 | |
IP(G1) IP(G2) IP(P2) IP(P1)
┏━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━┓
┃IPホスト#A┠→→→→→→┨ NAT ┠→→→→→→┨IPホスト#B┃
┗━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━┛
1 2 3 4 5 6 7
| プトロコル | 送信元/Source | 送信先/Destination | 位置 | ||
|---|---|---|---|---|---|
| IPアドレス | ポート番号 | IPアドレス | ポート番号 | ||
| IP/TCP | 133.176.200.47 | 7 | 133.176.200.68 | 1024 | 2 |
| ↓継承↓ | ↓書き換え↓ | ↓継承↓ | 4 | ||
| 133.176.200.47 | 7 | 192.168.0.2 | 1024 | 6 | |
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃# pp select 1 ┃pp1# show nat address ┃ グローバル プライベート TTL(秒) ┃ ipcp/133.176.200.68 192.168.0.2 - ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃# show nat descriptor interface bind ┃NATディスクリプタ番号 OuterType Type ┃--------------------- --------- ---- ┃ 1 addresses NAT ┃PP[01](1) ┃Binding:1 PP:1 LAN:0 TUNNEL:0 ┃--------------------- --------- ---- ┃Defined NAT Descriptor:1 ┃# ┃# show nat descriptor address ┃参照NATディスクリプタ : 1, 適用インタフェース : PP[01](1) ┃ 外側アドレス(Outer) 内側アドレス(Inner) TTL(秒) ┃ ipcp/133.176.200.68 192.168.0.2 - ┃# ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| グローバルアドレス | プライベートアドレス | TTL |
|---|---|---|
| ipcp/133.176.200.68 | 192.168.0.2 | - |
[ TCP/ECHOプロトコル(RFC862/STD20)のNATの変換例#2 ]
ECHOサーバとECHOクライアントの位置がNAT処理に対して、 #1の場合と位置が反対であるとき。
+-------------+
| IPホスト#A | (TCP/ECHOクライアント)
+------+------+
| 133.176.200.47 133.176.200.0/24
-------+-----------------------------------
| 133.176.200.67
+------+------+
| RT(A) | (ダイヤルアップ・サーバ)
+-------------+
: 01/Celery
: ISDN擬似交換機またはISDN回線
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
:
: 02/Tomato
+-------------+
| RT(B) | (端末型ダイヤルアップ…NAT)
+------+------+
| 192.168.0.1 192.168.0.0/24
-------+-----------------------------------
| 192.168.0.2
+------+------+
| IPホスト#B | (TCP/ECHOサーバ)
+-------------+
#1のconfigと同じ
サーバへの要求: 外側→内側(IN方向)
| プトロコル | 送信元/Source | 送信先/Destination | ||
|---|---|---|---|---|
| IPアドレス | ポート番号 | IPアドレス | ポート番号 | |
| IP/TCP | 133.176.200.47 | 1024 | 133.176.200.68 | 7 |
| ↓継承↓ | ↓書き換え↓ | ↓継承↓ | ||
| 133.176.200.47 | 1024 | 192.168.0.2 | 7 | |
サーバからの応答: 内側→外側 (OUT方向)
| プトロコル | 送信先/Destination | 送信元/Source | ||
|---|---|---|---|---|
| IPアドレス | ポート番号 | IPアドレス | ポート番号 | |
| IP/TCP | 133.176.200.47 | 1024 | 192.168.0.2 | 7 |
| ↓継承↓ | ↓書き換え↓ | ↓継承↓ | ||
| 133.176.200.47 | 1024 | 133.17.200.68 | 7 | |
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃# pp select 1 ┃pp1# show nat address ┃ グローバル プライベート TTL(秒) ┃ ipcp/133.176.200.68 192.168.0.2 - ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃# show nat descriptor interface bind ┃NATディスクリプタ番号 OuterType Type ┃--------------------- --------- ---- ┃ 1 addresses NAT ┃PP[01](1) ┃Binding:1 PP:1 LAN:0 TUNNEL:0 ┃--------------------- --------- ---- ┃Defined NAT Descriptor:1 ┃# ┃# show nat descriptor address ┃参照NATディスクリプタ : 1, 適用インタフェース : PP[01](1) ┃ 外側アドレス(Outer) 内側アドレス(Inner) TTL(秒) ┃ ipcp/133.176.200.68 192.168.0.2 - ┃# ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| グローバルアドレス | プライベートアドレス | TTL |
|---|---|---|
| ipcp/133.176.200.68 | 192.168.0.2 | - |
[ TCP/ECHOプロトコル(RFC862/STD20)のNATの変換例#3 ]
+-------------+
| IPホスト#A | (TCP/ECHOサーバ)
+------+------+
| 133.176.200.47 133.176.200.0/24
-------+-----------------------------------
| 133.176.200.67
+------+------+
| {LAN2] | (133.176.200.68)
| RT | ↑ NAT
| [LAN1] | 192.168.0.2
+------+------+
| 192.168.0.1 192.168.0.0/24
-------+-----------------------------------
| 192.168.0.2
+------+------+
| IPホスト#B | (TCP/ECHOクライアント)
+-------------+
ip lan1 address 192.168.0.1/24 ip lan2 address 133.176.200.67/24 ip lan2 nat descriptor 1 nat descriptor type 1 nat nat descriptor address outer 1 133.176.200.68 nat descriptor address inner 1 192.168.0.2 nat descriptor static 1 1 133.176.200.68=192.168.0.2
ip filter 1 pass-log * * * * * ip lan1 address 192.168.0.1/24 ip lan2 address 133.176.200.67/24 ip lan2 secure filter in 1 ip lan2 secure filter out 1 ip lan2 nat descriptor 1 nat descriptor type 1 nat nat descriptor address outer 1 133.176.200.68 nat descriptor address inner 1 192.168.0.2 nat descriptor static 1 1 133.176.200.68=192.168.0.2 syslog notice on
| アドレス名 | IPアドレス |
|---|---|
| IP(G1) | 133.176.200.47 |
| IP(G2) | 133.176.200.67 (133.176.200.68) |
| IP(P1) | 192.168.0.2 |
| IP(P2) | 192.168.0.1 |
| ホスト名/機能名 | 機能 | ポート番号 |
|---|---|---|
| IPホスト#A | ECHOサーバ | 7(listen) |
| IPホスト#B | ECHOクライアント | 1024 |
IP(G1) IP(G2) IP(P2) IP(P1)
┏━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━┓
┃IPホスト#A┠←←←←←←┨ NAT ┠←←←←←←┨IPホスト#B┃
┗━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━┛
7 6 5 4 3 2 1
| プトロコル | 送信先/Destination | 送信元/Source | 位置 | ||
|---|---|---|---|---|---|
| IPアドレス | ポート番号 | IPアドレス | ポート番号 | ||
| IP/TCP | 133.176.200.47 | 7 | 192.168.0.2 | 1024 | 2 |
| ↓継承↓ | ↓書き換え↓ | ↓継承↓ | 4 | ||
| 133.176.200.47 | 7 | 133.17.200.68 | 1024 | 6 | |
IP(G1) IP(G2) IP(P2) IP(P1)
┏━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━┓
┃IPホスト#A┠→→→→→→┨ NAT ┠→→→→→→┨IPホスト#B┃
┗━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━┛
1 2 3 4 5 6 7
| プトロコル | 送信元/Source | 送信先/Destination | 位置 | ||
|---|---|---|---|---|---|
| IPアドレス | ポート番号 | IPアドレス | ポート番号 | ||
| IP/TCP | 133.176.200.47 | 7 | 133.176.200.68 | 60001 | 2 |
| ↓継承↓ | ↓書き換え↓ | ↓継承↓ | 4 | ||
| 133.176.200.47 | 7 | 192.168.0.2 | 1024 | 6 | |
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃# show nat descriptor interface bind ┃NATディスクリプタ番号 OuterType Type ┃--------------------- --------- ---- ┃ 1 addresses NAT ┃LAN2(1) ┃Binding:1 PP:0 LAN:1 TUNNEL:0 ┃--------------------- --------- ---- ┃Defined NAT Descriptor:1 ┃# ┃# show nat descriptor address ┃参照NATディスクリプタ : 1, 適用インタフェース : LAN2(1) ┃ 外側アドレス(Outer) 内側アドレス(Inner) TTL(秒) ┃ 133.176.200.68 192.168.0.2 - ┃# ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| 外側アドレス | 内側アドレス | TTL |
|---|---|---|
| 133.176.200.68 | 192.168.0.2 | - |
[ TCP/ECHOプロトコル(RFC862/STD20)のNATの変換例#4 ]
ECHOサーバとECHOクライアントの位置がNAT処理に対して、 #3の場合と位置が反対であるとき。
+-------------+
| IPホスト#A | (TCP/ECHOクライアント)
+------+------+
| 133.176.200.47 133.176.200.0/24
-------+-----------------------------------
| 133.176.200.67
+------+------+
| {LAN2] | (133.176.200.68)
| RT | ↑ NAT
| [LAN1] | 192.168.0.2
+------+------+
| 192.168.0.1 192.168.0.0/24
-------+-----------------------------------
| 192.168.0.2
+------+------+
| IPホスト#B | (TCP/ECHOサーバ)
+-------------+
#3のconfigと同じ
サーバへの要求: 外側→内側(IN方向)
| プトロコル | 送信元/Source | 送信先/Destination | ||
|---|---|---|---|---|
| IPアドレス | ポート番号 | IPアドレス | ポート番号 | |
| IP/TCP | 133.176.200.47 | 1024 | 133.176.200.68 | 7 |
| ↓継承↓ | ↓書き換え↓ | ↓継承↓ | ||
| 133.176.200.47 | 1024 | 192.168.0.2 | 7 | |
サーバからの応答: 内側→外側 (OUT方向)
| プトロコル | 送信先/Destination | 送信元/Source | ||
|---|---|---|---|---|
| IPアドレス | ポート番号 | IPアドレス | ポート番号 | |
| IP/TCP | 133.176.200.47 | 1024 | 192.168.0.2 | 7 |
| ↓継承↓ | ↓書き換え↓ | ↓継承↓ | ||
| 133.176.200.47 | 1024 | 133.17.200.68 | 7 | |
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃# show nat descriptor interface bind ┃NATディスクリプタ番号 OuterType Type ┃--------------------- --------- ---- ┃ 1 addresses NAT ┃LAN2(1) ┃Binding:1 PP:0 LAN:1 TUNNEL:0 ┃--------------------- --------- ---- ┃Defined NAT Descriptor:1 ┃# ┃# show nat descriptor address ┃参照NATディスクリプタ : 1, 適用インタフェース : LAN2(1) ┃ 外側アドレス(Outer) 内側アドレス(Inner) TTL(秒) ┃ 133.176.200.68 192.168.0.2 - ┃# ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| 外側アドレス | 内側アドレス | TTL |
|---|---|---|
| 133.176.200.68 | 192.168.0.2 | - |
[ 関連情報 ]
[ FAQ for RT-Series ]
[ FAQ for NAT / files / TCP/IP / IPsec ]