域内双向NAT技术
域內(nèi)雙向NAT
實驗?zāi)康?/h2>
企業(yè)內(nèi)部有需要想要將內(nèi)網(wǎng)的HTTP Server中WEB服務(wù)映射到公網(wǎng)地址10.1.12.100的80端口上,一般該需求只需要我們部署NAT Server,就可以使得其他網(wǎng)絡(luò)內(nèi)的客戶端通過公網(wǎng)地址10.1.12.100訪問內(nèi)網(wǎng)HTTP 服務(wù)器的目的。
此時如果我們內(nèi)網(wǎng)客戶端也想要通過該公網(wǎng)地址去訪問HTTP Server,那么會出現(xiàn)錯誤導(dǎo)致無法訪問。將HTTP Server的私網(wǎng)地址直接透露出來,也不利于保障WEB服務(wù)器的安全性。
本實驗通過部署域內(nèi)雙向NAT,使得內(nèi)網(wǎng)地址能夠通過訪問10.1.12.100(即映射出的公網(wǎng)地址)來達(dá)成訪問HTTP Server的目的。
實驗拓?fù)?/h2> 圖:域內(nèi)雙向NAT場景
正常情況下,我們需要將內(nèi)網(wǎng)的HTTP Server映射到外網(wǎng),以便其他網(wǎng)絡(luò)內(nèi)的主機(jī)對該地址進(jìn)行資源訪問。首先我們部署內(nèi)網(wǎng)的映射配置,將內(nèi)網(wǎng)HTTP Server(192.168.1.100)映射到10.1.12.100。并登錄到Clietn3,測試Client3訪問10.1.12.100
1、全網(wǎng)配置IP地址
Clietn 1 ip:192.168.1.2/24 GW 192.168.1.254(AR1的G0/0/0) Clietn 3 ip:192.168.2.2/24 GW 192.168.2.254(AR2的G0/0/0) AR1和AR2互聯(lián)地址為10.1.12.1 和10.1.12.2。其余地址圖內(nèi)均有標(biāo)識2、在AR1和AR2的G0/0/1出接口上部署easy NAT,使得內(nèi)網(wǎng)地址能夠正常訪問外網(wǎng)。
AR1和AR2的配置如下,就是雙方的acl per地址網(wǎng)段有所差異。 [AR1]acl 2000 [AR1-acl-basic-2000]rule per sou 192.168.1.0 0.0.0.255 [AR1-acl-basic-2000]quit //匹配source 地址為192.168.1.0/24[AR1]int g0/0/1 [AR1-GigabitEthernet0/0/1]nat outbound 2000 //配置easy NAT,使得內(nèi)網(wǎng)地址能夠成功訪問外網(wǎng)3、配置基本的NAT Server,將內(nèi)網(wǎng)服務(wù)器映射到10.1.12.100,以便處于其他網(wǎng)絡(luò)的Clietn3能夠正常訪問。
在AR1的G0/0/1出接口上進(jìn)行如下配置:AR1的G0/0/1出接口配置如下: [AR1]int g0/0/1 [AR1-GigabitEthernet0/0/1]nat server pro tcp glo 10.1.12.100 80 inside 192.168.1.100 80 // 用于將內(nèi)網(wǎng)的Server 映射到10.1.12.100 .在經(jīng)過上述部署后,Clietn3能夠正常通過公網(wǎng)地址10.1.12.100 訪問內(nèi)部的HTTP Server,
內(nèi)部HTTP Server的配置很簡單,就是一個啟用的過程,這里就直接跳過了。
此時我們驗證其他域的Client3訪問10.1.12.100能否正常通信。
圖:Client3成功訪問HTTP Server此時Client3能夠正常通過10.1.12.100訪問內(nèi)部的HTTP Server服務(wù)器,但我們本次實驗是為了探究域內(nèi)雙向NAT的過程。我們查看域內(nèi)Client1能否正常訪問內(nèi)部的HTTP Server服務(wù)器。
圖:Client1無法訪問HTTP Server此時本次實驗的重點(diǎn)來了,由于Client1訪問10.1.12.100時,他會將HTTP請求給到網(wǎng)關(guān)(或者說是TCP連接請求)。到達(dá)網(wǎng)關(guān)時,網(wǎng)關(guān)發(fā)現(xiàn)目的地址是10.1.12.100(AR1的G0/0/1同網(wǎng)段地址),于是想要將該數(shù)據(jù)包從G0/0/1發(fā)出,不過G0/0/1接口上配置了NAT Server,發(fā)現(xiàn)轉(zhuǎn)換后的地址是AR1的G0/0/0網(wǎng)段地址,那么該HTTP請求又從G0/0/0接口發(fā)回,G0/0/0接口上并沒有配置NAT Server進(jìn)行轉(zhuǎn)換。所以此時的HTTP 請求數(shù)據(jù)包,Src ip是Client1地址,Dst 地址為10.1.12.100。但內(nèi)網(wǎng)又沒人是這個地址,于是該TCP請求被丟棄。
**備注:**可以通過抓包發(fā)現(xiàn),AR1的G0/0/1出接口并無數(shù)據(jù)包,而G0/0/0的接口存在TCP無回應(yīng)。
于是為了解決該一現(xiàn)象,我們可以在AR1的G0/0/0接口上通過配置轉(zhuǎn)換,將Dst 10.1.12.100轉(zhuǎn)換回服務(wù)器地址。使得Client1或域內(nèi)其他客戶端能夠通過公網(wǎng)地址服務(wù)器的訪問操作。
4、在AR1的G0/0/0接口上執(zhí)行如下命令,完成 “域內(nèi)雙向NAT” 的部署。
[AR1]acl 3000 [AR1-acl-adv-3000]rule per tcp des 10.1.12.100 0 [AR1-acl-adv-3000]quit //配置ACL 3000,匹配目標(biāo)地址為10.1.12.100的數(shù)據(jù)。[AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]nat server pro tcp glo 10.1.12.100 80 inside 192.168.1.100 80 [AR1-GigabitEthernet0/0/0]nat outbound 3000 [AR1-GigabitEthernet0/0/0]//在G0/0/0接口上也部署一個NAT Server轉(zhuǎn)換。使得內(nèi)網(wǎng)的HTTP請求數(shù)據(jù)包的目的地址能夠轉(zhuǎn)換成192.168.1.100我們再次在Client1上面測試訪問,看看能否成功通信!
)
圖:Client1成功訪問HTTP Server成功完成通信!至此,域內(nèi)雙向NAT成功。
實驗思考
Q:在AR1的G0/0/0上進(jìn)行部署時,需要配置EASY NAT,若不配置,通信是否正常?
Q:需要EASY NAT的原因是:防止回包不經(jīng)過網(wǎng)關(guān)接口而無法進(jìn)行NAT server地址轉(zhuǎn)換,若在交換機(jī)上部署隔離,能否正常通信呢?
總結(jié)
- 上一篇: TensorFlow的batch_nor
- 下一篇: rtems网络移植-实现网卡驱动