NAT基本概念
- 定義:網絡地址轉換(Network Address Translation,NAT)是一種將私有(保留)地址轉化為合法公網 IP 地址的轉換技術,它被廣泛應用于各種類型 Internet 接入方式和各種類型的網絡中。
- 作用:
– 解決 IP 地址短缺問題 :由于 IPv4 地址資源有限,使用私有 IP 地址的內部網絡通過 NAT 可以共享少量的公網 IP 地址訪問互聯網。
– 增強網絡安全性:NAT 隱藏了內部網絡的真實 IP 地址,外部網絡無法直接訪問內部網絡的主機,從而在一定程度上保護了內部網絡的安全。
NAT 工作原理
- 地址轉換過程:
– 當內部網絡的主機向外部網絡發送數據包時,NAT 設備會將數據包的源 IP 地址從私有 IP 地址轉換為公有 IP 地址,并記錄這個轉換關系(通常記錄在 NAT 轉換表中)。
– 當外部網絡的主機響應數據包返回時,NAT 設備根據轉換表將目的 IP 地址從公有 IP 地址轉換回私有 IP 地址,然后將數據包轉發給內部網絡的主機。 - NAT 轉換表
NAT 轉換表是 NAT 設備維護的一個記錄,用于存儲內部私有 IP 地址與外部公有 IP 地址之間的映射關系。它包含了源 IP 地址、目的 IP 地址、源端口號、目的端口號以及轉換后的地址和端口信息。
NAT 類型
- 靜態 NAT(Static NAT)
原理:將一個私有 IP 地址固定地映射到一個公有 IP 地址。這種映射是一對一的,并且是永久的。
應用場景:常用于需要向外部網絡提供服務的內部服務器,如 Web 服務器、郵件服務器等,使得外部網絡可以通過固定的公網 IP 地址訪問內部服務器。 - 動態 NAT(Dynamic NAT)
原理:將多個私有 IP 地址映射到一組公有 IP 地址池中的一個可用地址。當內部主機需要訪問外部網絡時,NAT 設備從地址池中動態分配一個可用的公網 IP 地址進行轉換。
應用場景:適用于內部網絡主機數量較多,但同時訪問外部網絡的主機數量相對較少的情況,可以有效利用公網 IP 地址資源。 - 網絡地址端口轉換(NAPT,Network Address Port Translation)
原理:也稱為端口多路復用,它將多個私有 IP 地址映射到一個公有 IP 地址,通過不同的端口號來區分不同的內部主機。這樣多個內部主機可以同時使用同一個公網 IP 地址訪問外部網絡。
應用場景:是最常用的 NAT 類型,廣泛應用于家庭和企業網絡中,通過一個公網 IP 地址滿足大量內部主機訪問互聯網的需求。 - Easy IP
原理:是一種特殊的 NAPT 方式,它直接使用接口的公網 IP 地址進行地址轉換,無需配置專門的地址池。當接口的 IP 地址發生變化時,NAT 轉換會自動使用新的 IP 地址。
應用場景:適用于使用動態獲取公網 IP 地址的場景,如 ADSL 撥號上網。
NAT 服務器(NAT Server)
原理:將內部服務器的特定服務端口映射到公網 IP 地址的相應端口,使得外部網絡可以通過公網 IP 地址訪問內部服務器的特定服務。
應用場景:常用于將內部的 FTP 服務器、Web 服務器等服務發布到公網,讓外部用戶可以訪問這些服務。
NAT 的優缺點
- 優點
節省 IP 地址資源:通過 NAT 可以使用私有 IP 地址構建內部網絡,大大節省了公網 IP 地址的使用。
增強網絡安全性:隱藏內部網絡的真實 IP 地址,減少了外部網絡對內部網絡的直接攻擊。 - 缺點
增加網絡延遲:NAT 設備需要對數據包進行地址轉換,這會增加一定的處理時間,導致網絡延遲。
影響某些應用程序的正常運行:一些基于 IP 地址進行通信的應用程序,如 IPsec VPN、某些 P2P 應用等,可能會受到 NAT 的影響而無法正常工作。
NAT 配置注意事項
- ACL 的使用:在配置 NAT 時,通常需要使用訪問控制列表(ACL)來指定哪些內部 IP 地址可以進行地址轉換。ACL 的配置要準確,否則可能會導致部分內部主機無法訪問外部網絡。
- 端口映射的正確性:在配置 NAT Server 時,要確保端口映射的正確性,包括協議類型(TCP 或 UDP)、公網端口和內部端口的對應關系等。
- 地址池的管理:對于動態 NAT 和 NAPT,要合理管理地址池,確保地址池中有足夠的可用地址,避免出現地址耗盡的情況。
實驗拓撲
實驗需求
- 按照圖示配置 IP 地址
- 私網 A 通過 R1 接入到互聯網,私網 B 通過 R3 接入到互聯網
- 私網 A 內部存在 Vlan10 和 Vlan20,通過 R1 上單臂路由訪問外部網絡
- 私網 A 通過 NAPT 使 Vlan10 和 Vlan20 都能夠使用 R1 的公網地址訪問互聯網
- 私網 B 通過在 R3 上配置 EASY IP 訪問互聯網
- 私網 A 配置 NAT SERVER 把 FTPA 的 FTP 服務發布到公網,使 PCB 可以訪問
實驗步驟
-
設備命名和 IP 地址配置部分省略
-
R1 和 R3 上配置默認路由指向公網,配置步驟略
-
私網 A 內部單臂路由配置部分略
-
私網 A 通過 NAPT 使 Vlan10 和 Vlan20 都能夠使用 R1 的公網地址訪問互聯網
分析:根據需求得知,ACL 需要配置允許 192.168.1.0/24 和 192.168.2.0/24 網段;私網 A 只有 1 個公網地址可用,意味著創建的 NAT 地址池起始和結束地址就都是 100.1.1.1
步驟 1:R1 上創建基本 ACL,允許 192.168.1.0/24 和 192.168.2.0/24 網段
[R1]acl b [R1]acl basic 2000 [R1-acl-ipv4-basic-2000]ru [R1-acl-ipv4-basic-2000]rule pe [R1-acl-ipv4-basic-2000]rule permit so [R1-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255 [R1-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255
步驟 2:R1 上創建 NAT 地址池,設置公網地址
[R1]interface g0/1 [R1-GigabitEthernet0/1] [R1-GigabitEthernet0/1] [R1-GigabitEthernet0/1] [R1-GigabitEthernet0/1] [R1-GigabitEthernet0/1]nat [R1-GigabitEthernet0/1]nat ou [R1-GigabitEthernet0/1]nat outbound 2000 g [R1-GigabitEthernet0/1]nat outbound 2000 add [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1
步驟 3:在 R1 的公網接口上配置 NAPT
[R1]interface g0/1 [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1
步驟 4:在 PCA 上 Ping R3 的公網地址,測試是否可以訪問互聯網
-
私網 B 通過在 R3 上配置 EASY IP 訪問互聯網
分析:根據需求得知,ACL 需要配置允許 192.168.1.0/24 網段;使用 EASY IP,就無需配置 NAT 地址池,直接在公網接口上配置即可,EASY IP 會自動識別公網接口的 IP 地址
步驟 1:R3 上創建基本 ACL,允許 192.168.1.0/24 網段
[R3]acl basic 2000 [R3-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
步驟 2:在 R3 的公網接口上配置 EASY IP
[R3]interface g0/0 [R3-GigabitEthernet0/0]nat outbound 2000
步驟 4:在 PCB 上 Ping R1 的公網地址,測試是否可以訪問互聯網
-
私網 A 配置 NAT SERVER 把 FTPA 的 FTP 服務發布到公網,使 PCB 可以訪問
分析:根據需求得知,需要發布 FTPA 的 FTP 服務,也就是把 R1 的公網地址的 20 和 21 端口映射到 FTPA 的私網地址 配置 FTP 服務步驟略
步驟 1:在 R1 的公網接口上配置 NAT SERVER,映射端口 20 和 21[R1-GigabitEthernet0/1]nat server protocol tcp global current-interface 20 21 inside 192.168.1.10 20 21
步驟 2:在 PCB 上測試是否能夠通過 R1 的公網地址訪問 FTPA 的 FTP 服務
總結:
本次實驗展示了不同類型的NAT的配置和應用
- NAPT(網絡地址端口轉換): 私網 A 中有 Vlan10(192.168.1.0/24)和 Vlan20(192.168.2.0/24)兩個網段,只有一個公網地址 100.1.1.1 可用。通過配置 NAPT,R1 上創建基本 ACL 允許這兩個網段的流量,然后創建 NAT 地址池(起始和結束地址都是 100.1.1.1),并在公網接口上配置 NAPT,使得 Vlan10 和 Vlan20 的主機可以使用 R1 的公網地址訪問互聯網。NAPT 利用端口號來區分不同的內部主機,多個內部主機可以同時使用同一個公網 IP 地址進行通信。
- Easy IP: 私網 B 通過 R3 接入互聯網,使用 Easy IP 技術。首先在 R3 上創建基本 ACL 允許 192.168.1.0/24 網段的流量,然后在公網接口上配置 Easy IP。Easy IP 是一種特殊的 NAPT 方式,它直接使用接口的公網 IP 地址進行地址轉換,無需配置專門的地址池。
- NAT Server: 私網 A 要將 FTPA 的 FTP 服務發布到公網,使 PCB 可以訪問。在 R1 的公網接口上配置 NAT Server,將公網地址的 20 和 21 端口映射到 FTPA 的私網地址(192.168.1.10)的 20 和 21 端口。這樣,外部網絡的主機就可以通過 R1 的公網地址訪問 FTPA 的 FTP 服務。