在我之前的分享中提到,我們在家裡或者公司内部使用的IP位址是私有位址。這些位址在internet網中也就是公網中是不合法的位址,也就是說你如果使用一個私網位址是不可能登入到internet中浏覽資訊的。那麼為什麼我們的終端(電腦、手機)在家裡或者公司中卻可以登入到internet中浏覽網頁,觀看視訊呢?其實,這裡面我們用到了NAT技術(Network Address Translation)網絡位址轉換技術。把我們的終端擷取的私有位址,轉換成公司的合法外網共有位址,進而進行網絡資料交換。
NAT的實作方式有三種,即靜态轉換Static Nat、動态轉換Dynamic Nat和端口多路複用OverLoad。
1、靜态轉換:是指将内部網絡的私有IP位址轉換為公有IP位址,IP位址對是一對一的,是一成不變的,某個私有IP位址隻轉換為某個公有IP位址。借助于靜态轉換,可以實作外部網絡對内部網絡中某些特定裝置(如伺服器)的通路。
2、動态轉換:是指将内部網絡的私有IP位址轉換為公用IP位址時,IP位址是不确定的,是随機的,所有被授權通路上Internet的私有IP位址可随機轉換為任何指定的合法IP位址。也就是說,隻要指定哪些内部位址可以進行轉換,以及用哪些合法位址作為外部位址時,就可以進行動态轉換。動态轉換可以使用多個合法外部位址集。當ISP提供的合法IP位址略少于網絡内部的計算機數量時。可以采用動态轉換的方式。
3、端口多路複用(Port address Translation,PAT):是指改變外出資料包的源端口并進行端口轉換,即端口位址轉換(PAT,Port Address Translation).采用端口多路複用方式。内部網絡的所有主機均可共享一個合法外部IP位址實作對Internet的通路,進而可以最大限度地節約IP位址資源。同時,又可隐藏網絡内部的所有主機,有效避免來自internet的攻擊。是以,目前網絡中應用最多的就是端口多路複用方式。
以上資訊摘自百度百科
在我們的日常工作中,通常一個公有的IP位址是很珍貴的,ISP也不會随意的發放。是以如果沒有特殊業務需求,通常公司或者組織隻會申請一個公網IP位址。是以在實際的應用環境種使用最多的是第3種,端口多路複用PAT,也就是一種多對一的轉換。
我們這裡就看一下,這種多對一的PAT轉換是怎樣在網絡裝置中進行設定的。
本例使用的Cisco的網絡裝置,模拟平台為GNS3.
通常進行NAT轉換的裝置是網絡的邊界裝置,如路由器或防火牆,本例進行NAT轉換的裝置是路由器R1.
邏輯拓撲:
PC1:192.168.10.2
PC2:192.168.20.2
R1和CoreSwitch之間運作OSPF路由協定
R1(公司或組織的外網路由器):
F1/0 口為内網接口ip 10.10.10.2/30
S0/0 口為外網internet接口 ip 202.10.10.2/30 這個是公網IP,也就是你們公司或組織向ISP申請的外網位址。
ISPRouter:S0/0 接口位址202.10.10.1/30
配置内容:
1.R1 的端口IP配置:
interface Serial0/0
description to internet
ip address 202.10.10.2 255.255.255.252
interface FastEthernet1/0
no switchport
ip address 10.10.10.1 255.255.255.252
2.ISPRouter的端口IP配置:
interface Serial0/0
ip address 202.10.10.1 255.255.255.252
3.CoreSwitch的端口IP配置
interface FastEthernet1/0
ip address 10.10.10.2 255.255.255.252
這樣基礎的端口都已經配置完成,下面我們配置CoreSwitch和R1之間的路由打通。
1.CoreSwitch的OSPF配置如下:
router ospf 10
router-id 1.1.1.1
log-adjacency-changes
network 10.10.10.0 0.0.0.3 area 0
network 192.168.10.0 0.0.0.255 area 0
network 192.168.20.0 0.0.0.255 area 0
2.R1 的OSPF配置如下:
router ospf 10
router-id 2.2.2.2
log-adjacency-changes
redistribute connected subnets — 此指令是把R1直連的網段重釋出到OSPF中即202.10.10.0/30
network 10.10.10.0 0.0.0.3 area 0
CoreSwitch 的路由表:
CoreSwitch#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.77.0/24 is directly connected, Vlan77
C 192.168.10.0/24 is directly connected, Vlan10
C 192.168.20.0/24 is directly connected, Vlan20
10.0.0.0/30 is subnetted, 1 subnets
C 10.10.10.0 is directly connected, FastEthernet1/0
202.10.10.0/30 is subnetted, 1 subnets
O E2 202.10.10.0 [110/20] via 10.10.10.1, 00:00:03, FastEthernet1/0 – 這條就是R1重釋出到OSPF的路由資訊
至此CoreSwitch和R1之間的路由已經連通。
CoreSwitch#ping 202.10.10.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.10.10.2, timeout is 2 seconds:
!!!
注意:在R1中,作為公司或組織的邊界路由器,這裡定要有一條預設路由指向網關(ISP路由器),否則上internet的流量是無法轉發去internet中的。
R1(config)#ip route 0.0.0.0 0.0.0.0 202.10.10.1
好了,下面我們進行NAT的配置。
1.在R1中配置ACL ,比對可以進行NAT轉換的内網位址清單。
2.在R1中配置NAT的出口端口
3.在R1中的S0/0和F1/0 分别配置NAT的outside和inside
那麼我們來看一下具體的配置:
① 配置ACL – 這裡隻允許192.168.10.0/24的網段IP位址可以轉換成公網IP
ip access-list standard permitinternet
permit 192.168.10.0 0.0.0.255
② 開啟在R1 的S0/0端口的NAT的PAT設定
全局模式下:ip nat inside source list permitinternet interface Serial0/0 overload
切記一定要跟上關鍵字overload,這樣才能開啟多對一的PAT轉換。
③ 分别在S0/0和F1/0端口開始NAT
R1(config)#int s0/0
R1(config-if)#ip nat outside
R1(config-if)#int fa1/0
R1(config-if)#ip nat inside
這樣所有的配置都已經完成,我們來看一下效果,
1.PC1 是在Vlan10 中也就是192.168.10.0/24的網絡中,我們來ping一下internet 202.10.10.1
可以看到是可以通路internet的,那麼它到底有沒有進行位址轉換呢?我們來在R1上通過show ip nat translations
指令檢視一下。
我們可以看到192.168.10.2 被轉化成了公網位址202.10.10.2 與202.10.10.1進行資料交換,說明我們NAT 已經轉化成功,PC可以通路internet了。
那麼我麼在來看一下PC2 在Vlan20 192.168.20.0/24的網絡中主機可否通路internet呢?
很明顯,PC2所在網段192.168.20.0/24并不能通路internet。
是以我們看到我們可以通過NAT,來控制那些網段或者主機可以通路internet,進而進行流量和帶寬的限制。把那些需要通路internet的流量或主機放過。
怎麼樣了解了麼?這裡在複習一下幾個NAT的關鍵點。(僅針對Cisco網絡裝置)
1.NAT應用的地點是網絡的邊界裝置(路由器或防火牆)
2.配置ACL,來控制需要轉換的位址清單。
3.将NAT應用到外網出口,并在最後添加關鍵字overload。
4.将NAT功能應用到端口中,對内和對外。