實現目標:單位A的網內用戶(192.168.1.0網段)需要訪問單位B的服務器(10.1.1.1),並實現雙向NAT。
聯網要求:單位A的內網結構和IP地址需要對外隱藏(單位B不能看到單位A的網內IP地址,只能看到NAT轉換後的1.1.1.2地址),同時單位A的內網設備不需要添加單位B的IP網段的路由,只需要訪問轉換到內網的192.168.1.2這個地址,確保網內的路由乾淨。
IP地址說明:
單位A內網IP:192.168.1.0/24
單位A的路由器R1地址:局域口IP爲192.168.1.1,廣域口IP爲1.1.1.1
單位B服務器IP:10.1.1.1
單位B的路由器R2地址:局域口IP爲10.1.1.254,廣域口IP爲1.1.1.14
R1路由器上內部映射到外部的地址爲1.1.1.2,外部映射到內部的地址爲192.168.1.2
方法/步驟1:
步驟1:在R1路由器上將內網192.168.1.0網段NAT映射成1.1.1.2後訪問服務器,這樣單位B的設備收到的數據包的IP地址都是1.1.1.2,從而隱藏了單位A內網的真實地址。
nat address-group 1 1.1.1.2 1.1.1.2
(設置NAT映射地址池爲1.1.1.2)
acl number 2000
rule 0 permit source 192.168.1.0 0.255.255.255
rule 1 deny
(設置訪問服務器的源地址爲192.168.1.0 255.255.255.0)
interface Ethernet0/0/1
ip address 1.1.1.1 255.255.255.255.255.255.240
nat outbound 2000 address-group 1
(在R1上的互聯端口上配置NAT規則,將acl 2000配置的源地址網段轉換成1.1.1.2後訪問出去)
方法/步驟2:
步驟2:在R1上把對方服務器10.1.1.1NAT翻譯成內部地址192.168.1.2,供內部地址訪問,這樣單位A的內部用戶訪問192.168.1.2就等於訪問對方的10.1.1.1的服務器
interface Ethernet0/0/0
ip address 192.168.1.1 255.255.255.0
nat server protocol tcp global 192.168.1.2 any inside 10.1.1.1 any
(將外部服務器地址10.1.1.1的tcp連接映射成內網地址192.168.1.2)
nat server protocol icmp global 192.168.1.2 inside 10.1.1.1
(將外部服務器地址10.1.1.1的icmp連接映射成內網地址192.168.1.2)
方法/步驟3:
步驟3:配置路由
在路由器R1上添加至對方服務器的路由
ip route 10.1.1.1 255.255.255.255 1.1.1.14
驗證方法/步驟1:
在路由器R1上打開debug調試功能,從單位A的內網ping映射後的服務器地址192.168.1.2,觀察debug信息
*0.1018668881 Quidway NAT/8/debug:
(Ethernet0/0/0-in :)Pro : ICMP
( 192.168.1.10: 758 - 192.168.1.2: 758) ------>
( 192.168.1.10: 758 - 10.1.1.1: 758)
*0.1018668881 Quidway NAT/8/debug:
(Ethernet0/0/1-out :)Pro : ICMP ID : 38234
( 192.168.1.10: 758 - 10.1.1.1: 758) ------>
( 1.1.1.2:12290 - 10.1.1.1: 758)
*0.1018668881 Quidway NAT/8/debug:
(Ethernet0/0/1-in :)Pro : ICMP ID : 38234
( 10.1.1.1: 758 - 1.1.1.2:12290) ------>
( 10.1.1.1: 758 - 192.168.1.10: 758)
*0.1018668881 Quidway NAT/8/debug:
(Ethernet0/0/0-out :)Pro : ICMP ID : 38234
( 10.1.1.1: 758 - 192.168.1.10: 758) ------>
( 192.168.1.2: 758 - 192.168.1.10: 758)
從debug調試信息可以看出,E0/0/0接口收到一個192.168.1.10訪問192.168.1.2的請求被轉換成訪問10.1.1.1的請求;接下來在E0/0/1接口輸出時將192.168.1.10訪問10.1.1.1的請求轉換成1.1.1.2訪問10.1.1.1的請求,這時數據包被兩次翻譯後發送給服務器。服務器響應的數據包返回到R1路由器,這時E0/0/1接口收到一個10.1.1.1到1.1.1.2的請求,並轉換成10.1.1.1到192.168.1.10的請求,然後在內網口E0/0/0上將10.1.1.1到192.168.1.10的請求轉換成192.168.1.2到192.168.1.10的請求。
至此,一個完整的數據包來回傳輸的交互過程實現。
注意事項
本例中內網地址向外映射爲1.1.1.2這個單獨的地址,一般情況廣域網互聯爲30位掩碼,所以可以把內網地址映射成路由器出口地址
H3C路由器做NAT時,必須把nat server接口與nat outbond接口上的快轉功能關閉。命令是undo ip fast-forwarding