設定動態 NAT 與 PAT
Configure Dynamic NAT and Port Address Translation (PAT)
比較動態一對一NAT與PAT,讓兩台內網主機共享外側位址。
基本拓撲 TOPOLOGY
原創示意圖 · 靜態拓撲設備與位址 ADDRESSING
先確認介面名稱,再開始設定| 設備 DEVICE | 介面 | IPv4 位址 | 子網路遮罩 | 預設閘道 |
|---|---|---|---|---|
| PC1 | Ethernet | 192.168.20.10 | 255.255.255.0 | 192.168.20.1 |
| PC2 | Ethernet | 192.168.20.20 | 255.255.255.0 | 192.168.20.1 |
| R1 | Gi0/0 inside | 192.168.20.1 | 255.255.255.0 | — |
| R1 | Gi0/1 outside | 203.0.113.2 | 255.255.255.0 | — |
| ISP | Gi0/0 | 203.0.113.1 | 255.255.255.0 | — |
| ISP | Loopback0 | 198.51.100.10 | 255.255.255.255 | — |
| Dynamic pool | 203.0.113.100–101 | 兩個global IPv4 | 255.255.255.0 | — |
| PAT | R1 Gi0/1 | 203.0.113.2 | overload | — |
查看線路對照表(4 條連線)
| 起點 | 終點 | 介面對照 |
|---|---|---|
| pc1 | sw1 | Ethernet ↔ Fa0/1 |
| pc2 | sw1 | Ethernet ↔ Fa0/2 |
| sw1 | r1 | Fa0/24 ↔ Gi0/0 · inside |
| r1 | isp | Gi0/1 ↔ Gi0/0 · outside |
這次練習,你會學到
- 用ACL選取NAT來源,不誤認為ACL已附著介面。
- 比較pool映射與interface overload。
- 觀察ICMP identifier/TCP port區別連線。
開始之前
- 具備本題涉及的 IPv4/IPv6 與子網路基礎,能在自己的隔離練習環境開啟 Console。
- 使用合法設備與軟體映像,先備份現有設定,介面名稱以自己的裝置為準。
適用環境與驗證狀態
ISR 1941 / IOS 15.x待驗證原創教案,尚未於實體設備驗證。依實際硬體、IOS/AireOS 版本與授權核對命令;介面名稱不可直接套用至正式設備。
循序操作 STEP BY STEP
在你自己的練習環境操作。命令複製不包含提示字元;所有輸出皆為示例。
01 建立隔離內外網基準
PC1/PC2經SW1同VLAN20接R1 inside。R1套以下設定,ISP另外依Discovery20步驟設定Gi0/0 203.0.113.1/24與Loopback0 198.51.100.10/32,或使用下一步ISP命令。
展開參考指令 R1 · 全域 / 介面
enable
configure terminal
interface GigabitEthernet0/0
ip address 192.168.20.1 255.255.255.0
ip nat inside
no shutdown
interface GigabitEthernet0/1
ip address 203.0.113.2 255.255.255.0
ip nat outside
no shutdown
exit
ip route 0.0.0.0 0.0.0.0 203.0.113.1
endPC1/PC2經SW1同VLAN20接R1 inside。R1套以下設定,ISP另外依Discovery20步驟設定Gi0/0 203.0.113.1/24與Loopback0 198.51.100.10/32,或使用下一步ISP命令。
查看預期結果 範例輸出,非真實執行
WAN到ISP可達;此時PC沒有NAT轉譯。02 建立外側終點
ISP不需知道192.168.20.0/24的回程,因其看到的是經轉譯的global位址。這不代表真正Internet可用。
展開參考指令 ISP · 介面設定
enable
configure terminal
interface GigabitEthernet0/0
ip address 203.0.113.1 255.255.255.0
no shutdown
interface Loopback0
ip address 198.51.100.10 255.255.255.255
endISP不需知道192.168.20.0/24的回程,因其看到的是經轉譯的global位址。這不代表真正Internet可用。
查看預期結果 範例輸出,非真實執行
外側Loopback0可供ping測試。03 測試動態pool NAT
本題pool有兩個位址,足以給兩台PC各一個global。NAT_SOURCE ACL只用來匹配來源,沒有ip access-group附著,因此不直接過濾封包。
展開參考指令 R1 · NAT設定
configure terminal
ip access-list standard NAT_SOURCE
permit 192.168.20.0 0.0.0.255
exit
ip nat pool LAB_POOL 203.0.113.100 203.0.113.101 netmask 255.255.255.0
ip nat inside source list NAT_SOURCE pool LAB_POOL
end本題pool有兩個位址,足以給兩台PC各一個global。NAT_SOURCE ACL只用來匹配來源,沒有ip access-group附著,因此不直接過濾封包。
查看預期結果 範例輸出,非真實執行
PC各自ping198.51.100.10後,分配不同global .100/.101(順序不保證)。04 記錄pool與翻譯欄位
同時維持兩台PC ping,查看inside local/global。動態pool未overload時可用地址耗盡會限制新映射;不把pool一個位址與多主機共享混為一談。
展開參考指令 R1 · 特權 EXEC
show ip nat translations
show ip nat statistics
show access-lists NAT_SOURCE同時維持兩台PC ping,查看inside local/global。動態pool未overload時可用地址耗盡會限制新映射;不把pool一個位址與多主機共享混為一談。
查看預期結果 範例輸出,非真實執行
pool使用量與inside local對應合理;命中來源ACL。05 在專用實驗R1切換PAT
停止兩台PC的流量。只在本題專用、沒有其他NAT使用者的R1可清除動態轉譯後切換;clear *會中斷其他session,正式設備不得直接套用。先清空動態項,移除pool規則,再用interface overload。 若 no ip nat pool LAB_POOL 被拒絕,先用 no ip nat pool ? 核對 IOS 語法,必要時填回原起迄位址與 netmask;切勿為清理未使用 pool 而重置設備。
展開參考指令 R1 · 專用實驗設備維護 / 全域
clear ip nat translation *
configure terminal
no ip nat inside source list NAT_SOURCE pool LAB_POOL
no ip nat pool LAB_POOL
ip nat inside source list NAT_SOURCE interface GigabitEthernet0/1 overload
end停止兩台PC的流量。只在本題專用、沒有其他NAT使用者的R1可清除動態轉譯後切換;clear *會中斷其他session,正式設備不得直接套用。先清空動態項,移除pool規則,再用interface overload。
查看預期結果 範例輸出,非真實執行
新流量使用203.0.113.2;兩PC可由port/identifier區分。06 驗證共享與復原
兩台PC再同時ping198.51.100.10,查看轉譯與統計。ICMP用identifier,TCP/UDP用port;顯示格式不同。復原先停止流量,移除本題PAT、ACL與inside/outside依原紀錄;要保留則保存。
展開參考指令 R1 · 特權 EXEC
show ip nat translations
show ip nat statistics
copy running-config startup-config兩台PC再同時ping198.51.100.10,查看轉譯與統計。ICMP用identifier,TCP/UDP用port;顯示格式不同。復原先停止流量,移除本題PAT、ACL與inside/outside依原紀錄;要保留則保存。
查看預期結果 範例輸出,非真實執行
兩PC inside local不同,inside global均為203.0.113.2,identifier/port可區別。確認你的設定 VERIFICATION
show ip nat translations預期狀態 PAT模式兩主機共用WAN global且可分辨連線。
ICMP identifier不應誤寫成TCP埠。
show ip nat statistics預期狀態 inside/outside與mapping符合模式。
先查路由再查NAT規則與來源ACL。
常見問題與排查
切換mapping提示正在使用
停止流量、確認專用設備與session範圍;正式環境採維護流程,不盲目clear all。
只有一台PC能通
查pool容量(未overload)、來源ACL、PC閘道與主機防火牆。
參考資料
依 CCNA v2.2 主題自行編寫之練習,非官方逐字教材。
發布版本 1 · 範例輸出供理解,指令尚待實機驗證。