你是某公司的網絡管理員,公司辦公網需要接入互聯網,公司只向 ISP 申請了一條專線,該專線分配了一個公司 IP 地址,配置實現全公司的主機都能訪問外網。
技術原理
NAT 將網絡劃分為內部網絡和外部網絡兩部分,局域網主機利用 NAT 訪問網絡時,是將局域網內部的本地地址轉換為全局地址(互聯網合法的 IP 地址)後轉發數據包;
NAT 分為兩種類型:NAT(網絡地址轉換)和 NAPT(網絡端口地址轉換 IP 地址對應一個全局地址)。
NAPT:使用不同的端口來映射多個內網 IP 地址到一個指定的外網 IP 地址,多對一。
NAPT 採用端口多路複用方式。內部網絡的所有主機均可共享一個合法外部 IP 地址實現對 Internet 的訪問,從而可以最大限度地節約 IP 地址資源。同時,又可隱藏網絡內部的所有主機,有效避免來自 Internet 的攻擊。因此,目前網絡中應用最多的就是端口多路複用方式。
ISP(Internet Service Provider),互聯網服務提供商,即向廣大用戶綜合提供互聯網接入業務、信息業務和增值業務的電信運營商。ISP是經國家主管部門批准的正式運營企業,享受國家法律保護。
實驗步驟
新建 Packet Tracer 拓撲圖
(1)R1 為公司出口路由器,其與 ISP 路由器之間通過 V.35 電纜串口連接,DCE 端連接在 R1 上,配置其時鐘頻率 64000;
(2)配置 PC 機、服務器及路由器接口 IP 地址;
(3)在各路由器上配置靜態路由協議,讓 PC 間能相互 Ping 通;
(4)在 R1 上配置 NAPT。
(5)在 R1 上定義內外網絡接口。
(6)驗證主機之間的互通性。
實驗設備
<code>PC 2 臺;Server-PT 1 臺;Switch_2950-24 1 臺 Router-PT 2 臺;直通線;交叉線;DCE串口線 PC1 192.168.1.2 255.255.255.0 192.168.1.1 PC2 192.168.1.3 255.255.255.0 192.168.1.1 Server 200.1.2.2 255.255.255.0 200.1.2.1 R1 en conf t host R1 int fa 0/0 ip address 192.168.1.1 255.255.255.0 no shutdown int s 2/0 ip address 200.1.1.1 255.255.255.0 no shutdown clock rate 64000 R2 en conf t host R2 int s 2/0 ip address 200.1.1.2 255.255.255.0 no shutdown int fa 0/0 ip address 200.1.2.1 255.255.255.0 no shutdown R1 exit ip route 200.1.2.0 255.255.255.0 200.1.1.2 R2 exit ip route 192.168.1.0 255.255.255.0 200.1.1.1 end show ip route PC1 CMD ping 200.1.2.2 (success) Web 瀏覽器 http://200.1.2.2 (success) R1 int fa 0/0 ip nat inside int s 2/0 ip nat outside exit access-list 1 permit 192.168.1.0 0.0.0.255 ip nat pool jaking 200.1.1.3 200.1.1.3 netmask 255.255.255.0 #設置名稱為jaking的地址池,起始和終止IP都是200.1.1.3 ip nat inside source list 1 pool jaking overload (無 overload 表示多對多,有 overload 表示多對一) end show ip nat translations(無結果) PC1 Web 瀏覽器 http://200.1.2.2 (success) R1 show ip nat translations(有 1 個結果) PC2 Web 瀏覽器 http://200.1.2.2 (success) R1 show ip nat translations(有 2 個結果) /<code>
實戰演練
<code>R1 Continue with configuration dialog? [yes/no]: n Press RETURN to get started! Router>en Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#host R1 R1(config)#int fa 0/0 R1(config-if)#ip add 192.168.1.1 255.255.255.0 R1(config-if)#no shut %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up R1(config-if)#int s 2/0 R1(config-if)#ip add 200.1.1.1 255.255.255.0 R1(config-if)#no shut %LINK-5-CHANGED: Interface Serial2/0, changed state to down R1(config-if)#clock rate 64000 R1(config-if)# R2 Continue with configuration dialog? [yes/no]: n Press RETURN to get started! Router>en Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#host R2 R2(config)#int s 2/0 R2(config-if)#ip add 200.1.1.2 255.255.255.0 R2(config-if)#no shut %LINK-5-CHANGED: Interface Serial2/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up R2(config-if)#int fa 0/0 R2(config-if)#ip add 200.1.2.1 255.255.255.0 R2(config-if)#no shut %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up R2(config-if)# R1 R1(config-if)#exit R1(config)#ip route 200.1.2.0 255.255.255.0 200.1.1.2 R2 R2(config-if)#exit R2(config)#ip route 192.168.1.0 255.255.255.0 200.1.1.1 R2(config)#end R2# %SYS-5-CONFIG_I: Configured from console by console R2#show ip route Codes: C - connected, S - static, I - IGRP, 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, E - EGP i - IS-IS, 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 S 192.168.1.0/24 [1/0] via 200.1.1.1 C 200.1.1.0/24 is directly connected, Serial2/0 C 200.1.2.0/24 is directly connected, FastEthernet0/0 PC1 CMD ping 200.1.2.2 (success) PC>ipconfig IP Address......................: 192.168.1.2 Subnet Mask.....................: 255.255.255.0 Default Gateway.................: 192.168.1.1 PC>ping 200.1.2.2 Pinging 200.1.2.2 with 32 bytes of data: Request timed out. Reply from 200.1.2.2: bytes=32 time=24ms TTL=126 Reply from 200.1.2.2: bytes=32 time=25ms TTL=126 Reply from 200.1.2.2: bytes=32 time=20ms TTL=126 Ping statistics for 200.1.2.2: Packets: Sent = 4, Received = 3, Lost = 1 (25% loss), Approximate round trip times in milli-seconds: Minimum = 20ms, Maximum = 25ms, Average = 23ms PC>ping 200.1.2.2 Pinging 200.1.2.2 with 32 bytes of data: Reply from 200.1.2.2: bytes=32 time=25ms TTL=126 Reply from 200.1.2.2: bytes=32 time=20ms TTL=126 Reply from 200.1.2.2: bytes=32 time=23ms TTL=126 Reply from 200.1.2.2: bytes=32 time=25ms TTL=126 Ping statistics for 200.1.2.2: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 20ms, Maximum = 25ms, Average = 23ms /<code>
Web 瀏覽器
http://200.1.2.2 (success)
<code>PC2 CMD ping 200.1.2.2 (success) PC>ipconfig IP Address......................: 192.168.1.3 Subnet Mask.....................: 255.255.255.0 Default Gateway.................: 192.168.1.1 PC>ping 200.1.2.2 Pinging 200.1.2.2 with 32 bytes of data: Reply from 200.1.2.2: bytes=32 time=31ms TTL=126 Reply from 200.1.2.2: bytes=32 time=17ms TTL=126 Reply from 200.1.2.2: bytes=32 time=19ms TTL=126 Reply from 200.1.2.2: bytes=32 time=23ms TTL=126 Ping statistics for 200.1.2.2: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 17ms, Maximum = 31ms, Average = 22ms /<code>
Web 瀏覽器
http://200.1.2.2 (success)
<code>R1 R1(config)#int fa 0/0 R1(config-if)#ip nat inside R1(config-if)#int s 2/0 R1(config-if)#ip nat outside R1(config-if)#exit R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 R1(config)#ip nat pool jaking 200.1.1.3 200.1.1.3 netmask 255.255.255.0 R1(config)#ip nat inside source list 1 pool jaking overload R1(config)#end R1# %SYS-5-CONFIG_I: Configured from console by console R1#show ip nat translations R1# PC1 Web 瀏覽器 http://200.1.2.2 (success) R1 show ip nat translations(有 1 個結果) R1#show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 200.1.1.3:1026 192.168.1.2:1026 200.1.2.2:80 200.1.2.2:80 PC2 Web 瀏覽器 http://200.1.2.2 (success) R1 show ip nat translations(有 2 個結果) R1#show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 200.1.1.3:1026 192.168.1.2:1026 200.1.2.2:80 200.1.2.2:80 tcp 200.1.1.3:1024 192.168.1.3:1026 200.1.2.2:80 200.1.2.2:80 /<code>
總結
至此,用思科模擬器進行網絡端口地址轉換 NAPT 配置完畢。