国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

NAT無法在內(nèi)網(wǎng)通過外部IP訪問內(nèi)部服務(wù)

時間:2009-01-13 16:10:00   來源:無憂考網(wǎng)     [字體: ]
這是個理論問題,我們先從NAT講起:NAT有兩種基本類型,一種是SNAT(Source NAT),一種是DNAT(Dest. NAT).SNAT即源NAT是改變數(shù)據(jù)包的IP層中的源IP地址,一般是用來將不合法的IP外出請求轉(zhuǎn)換成合法的IP的外出請求,就是普通的用一個或者幾個合法IP來帶動一整個非法IP段接入。 DNAT即目的NAT,就是改變數(shù)據(jù)包的目標(biāo)IP地址,使得能對數(shù)據(jù)包重新定向,可以用做負載均衡或者用于將外部的服務(wù)請求重定向到內(nèi)網(wǎng)的非法IP的服務(wù)器上。
  那么之所以會出現(xiàn)無法在DNAT的內(nèi)部網(wǎng)絡(luò)通過DNAT服務(wù)的外部IP地址來訪問的情況,是因為,如果服務(wù)從內(nèi)部請求,那么經(jīng)過DNAT轉(zhuǎn)換后,將目標(biāo)IP改寫成內(nèi)網(wǎng)的IP地址,譬如172.16.10.254,而請求的機器的IP是 172.16.10.100,數(shù)據(jù)包被網(wǎng)關(guān)172.16.10.1順利的重定向到172.16.10.254的服務(wù)端口,然后,192.16.10.254根據(jù)請求發(fā)送回應(yīng)給目的IP地址,就是172.16.10.100,但是,問題出現(xiàn)了,因為172.16.10.100請求的地址是外部IP 假設(shè)是221.232.34.56,所以他等待著221.232.34.56的回應(yīng),而172.16.10.254的回應(yīng)請求被看做是非法的,被丟棄了。這就是問題的所在了。
  那么如何解決這個問題,我說個用iptables實現(xiàn)的例子,
  #我們先把發(fā)向外網(wǎng)IP221.232.34.56 80號端口的數(shù)據(jù)重定向到172.16.10.254 理論上來講,如果只要從外網(wǎng)訪問,這就完成了。
  iptables -t nat -A PREROUTING -p tcp -d 221.232.34.56 --dport 80 -j DNAT --to-destination 172.16.10.254
  #解決內(nèi)網(wǎng)通過外網(wǎng)IP訪問的情況
  iptables -t nat -A POSTROUTING -p tcp -d 172.16.10.254 --dport 80 -j SNAT --to-source 172.16.10.1
  我們將內(nèi)網(wǎng)的請求強行送回到網(wǎng)關(guān)172.16.10.1,依靠網(wǎng)關(guān)在內(nèi)核建立的狀態(tài)表再轉(zhuǎn)發(fā)到真實的請求地址172.16.10.100.
  當(dāng)然,這并不是的解決方法,的解決方法是將服務(wù)器放在另外一個網(wǎng)段,也就是說所謂的DMZ(解除武裝區(qū)),這樣就不會出現(xiàn)上面所說的問題了。