NAT
Network Address Translation
網絡地址轉換- -公有ip和私有ip互換
【NAT功能】
NAT不僅能解決了IP地址不足的問題,而且還能夠有效地避免來自網絡外部的攻擊,隱藏並保護網絡內部的計算機。把內網的私有地址轉換爲外網的公有地址。使得內部網絡上的(被設置爲私有IP地址的)主機可以訪問Internet
【NAT分類】
NAT可以分爲Basic NAT和PAT
- Basic NAT只轉換IP,不映射端口
- PAT除了轉化IP,還做端口映射,可以用於多個內部地址映射到少量(甚至一個)外部地址
【NAT術語】
- 內部本地地址(inside local address)
局域網內部主機的地址,即私有地址 - 內部全局地址(inside global address)
內部本地地址被NAT路由器轉換後的地址,通常是一個可路由的公網地址 - 外部全局地址(outside global address)
是與內部主機通信的目標主機的地址,通常是一個可路由的公網地址 - 外部本地地址(outside local address)
是目標主機可路由的公網地址被轉換的地址,通常是內部私有地址
總結起來就一句話:
在邊界路由器上,流量從內部去往外部時,將數據包中的源ip地址進行修改(內部本地改爲內部全局);流量從外部進入內部時,修改目標ip地址(外部全局修改爲外部本地)
【NAT配置詳解】
1)一對一 (靜態)
r2(config) ip nat inside source static 192.168.1.2 12.1.1.2
2)一對多 (動態) PAT
端口地址轉換- -將多個私有ip地址轉換爲同一共有ip地址,依賴數據包中的端口號來進行區分
先使用ACL定義感興趣流量- -那些私有ip地址需要被轉換
r2(config) access-list 1 permit 192.168.1.0 0.0.0.255
r2(config) access-list 1 permit 192.168.2.0 0.0.0.255
r2(config) ip nat inside source list 1 interface fastEthernet 1/0 overload
本地 全局 負載
3)多對多 (靜態或動態)
r2(config) access-list 2 permit 192.168.0.0 0.0.255.255 定義內部本地地址範圍
r2(config) ip nat pool xxx 12.1.1.2 12.1.1.10 netmask 255.255.255.0 定義內部全局地址範圍
r2(config) ip nat inside source list 2 pool xxx overload 配置多對多NAT
在配置多對多NAT時,是否攜帶overload將決定爲靜態或動態多對多;
不攜帶---靜態多對多 最先來的邊界路由器上的數個私有ip地址與這數個公有ip地址形成一對一;
攜帶----動態多對多 循環佔用每個公有ip地址進行PAT;
4)端口映射
r2(config) ip nat inside source static tcp 192.168.1.100 80 12.1.1.2 80
本地 全局
通過外部訪問12.1.1.2,同時目標端口爲80時,目標ip地址就一定被轉換爲192.168.1.100,端口號80
r2(config) ip nat inside source static tcp 192.168.1.200 80 12.1.1.2 8080
通過外部訪問12.1.1.2同時目標端口爲8080時,目標ip地址就一定被轉換爲192.168.1.200,端口號80
切記:一旦進行NAT配置,就必須定義邊界路由器上各個接口的方向
r2(config) interface fastEthernet 1/0
r2(config-if) ip nat outside
r2(config-if) exit
r2(config) interface fastEthernet 0/0
r2(config-if) ip nat inside
r2(config-if) exit
r2(config) interface fastEthernet 0/1
=r2(config-if) ip nat inside