Iptable簡(jiǎn)介2——番外nat的介紹

2、Nat

NAT(Network Address Translation),網(wǎng)絡(luò)地址翻譯。

2、1 SNAT

使用在這樣一個(gè)場(chǎng)景中,通常情況下我們無(wú)論是在公司、學(xué)校內(nèi)部計(jì)算機(jī)的ip地址都是一個(gè)內(nèi)網(wǎng)地址,為了和外網(wǎng)的計(jì)算機(jī)通信我們必須鏈接到網(wǎng)關(guān)或者路由器,而網(wǎng)關(guān)和路由器必須對(duì)我們發(fā)出去的數(shù)據(jù)包的原地址翻譯為一個(gè)網(wǎng)關(guān)或路由器的公網(wǎng)地址,然后再將此包送到公網(wǎng)中,這樣的地址翻譯叫SNAT。

SNAT如果時(shí)防火墻轉(zhuǎn)發(fā)的包在前文中發(fā)生在圖1-2的prerouting鏈里。


2、2 DNAT

當(dāng)我們的c業(yè)務(wù)服務(wù)器搭建在公司內(nèi)部網(wǎng)絡(luò)上(其公司網(wǎng)絡(luò)ip地址為10.74.30.15),還有一個(gè)ftp服務(wù)器(ip地址為10.74.30.16),兩臺(tái)服務(wù)器都接上防火墻,而我們?cè)诠W(wǎng)上申請(qǐng)一個(gè)公網(wǎng)IP地址(為11.11.2.3)。當(dāng)外部用戶訪問(wèn)我們C

業(yè)務(wù)時(shí),他試圖訪問(wèn)11.11.2.3:8080 ,當(dāng)另外一個(gè)外網(wǎng)用戶試圖訪問(wèn)我們的ftp服務(wù)器時(shí)他訪問(wèn)11.11.2.3:21. 防火墻必須將發(fā)送往11.11.2.3:8080的數(shù)據(jù)包的dst ip轉(zhuǎn)換為che服務(wù)器的內(nèi)網(wǎng)ip;將發(fā)網(wǎng)11.11.2.3:21的數(shù)據(jù)包dst ip轉(zhuǎn)換為ftp服務(wù)器內(nèi)網(wǎng)ip 10.74.30.16;并把這些數(shù)據(jù)包轉(zhuǎn)發(fā)到內(nèi)網(wǎng)上。如此防火墻就進(jìn)行了dnat。

DNAT發(fā)生在防火墻的pretrouting鏈里。很少情況下也可以發(fā)生在output里


2、3 hairpin模式

在上述DNAT場(chǎng)景中,假設(shè)同事xx知道我們搭建的c業(yè)務(wù)服務(wù)器公網(wǎng)IP地址,他想在公司電腦上(10.74.30.2)通過(guò)這個(gè)服務(wù)器公網(wǎng)ip地址訪問(wèn)c業(yè)務(wù)服務(wù)器。假設(shè)防火墻內(nèi)網(wǎng)ip10.74.30.1會(huì)出現(xiàn)下面的場(chǎng)景


step1

src:10.74.30.2 dst:11.11.2.3:8080 報(bào)文發(fā)送到防火墻(路由器)

step2:

防火墻根據(jù)我們配置的DNAT規(guī)則將保報(bào)文轉(zhuǎn)換為:

src:10.74.30.2 dst:10.74.30.15:8080 并把報(bào)文再發(fā)到公司內(nèi)網(wǎng)中。

step3:

c服務(wù)器收到了來(lái)自陳xx同學(xué)的報(bào)文,然后響應(yīng)此報(bào)文,因?yàn)榇藭r(shí)C服務(wù)器發(fā)現(xiàn)陳xx同學(xué)的報(bào)文來(lái)自于內(nèi)網(wǎng)的計(jì)算機(jī),所以它直接會(huì)送如下響應(yīng)報(bào)文給陳xx同學(xué)(不再通過(guò)防火墻)

src:10.74.30.15:8080 dst:10.74.30.2

step4:

響應(yīng)報(bào)文來(lái)到陳xx的機(jī)器里。此時(shí)陳xx同學(xué)的電腦防火墻發(fā)現(xiàn)自己的沒(méi)有給10.74.30.15發(fā)送過(guò)數(shù)據(jù)包,所以這個(gè)包被防火墻攔截掉。而陳xx同學(xué)發(fā)現(xiàn)自己此時(shí)無(wú)法通過(guò)公網(wǎng)ip訪問(wèn)che服務(wù)器。

為了解決這樣的問(wèn)題,防火墻設(shè)定了hairpin模式。此種模式下,首先DNat規(guī)則還是和前文一樣;接著設(shè)定一個(gè)如下規(guī)則:凡是來(lái)自于內(nèi)網(wǎng)的包,同時(shí)目的地址又是我們轉(zhuǎn)換后的內(nèi)網(wǎng)IP地址,需要做SNAT,將包源地址設(shè)置為防火墻的公網(wǎng)地址iptables -t nat -A Postrouting -p tcp -s 10.74.30.0/24 --dst 10.74.30.15 --dport 8080 -j

SNAT --to-source 10.74.30.1(當(dāng)然也可以設(shè)置簡(jiǎn)單一點(diǎn)——省去-s 10.74.30.0/24)。

當(dāng)此規(guī)則生效以后從step2開(kāi)始變化如下

step2

防火墻將來(lái)自陳xx同學(xué)發(fā)往c公網(wǎng)ip的包轉(zhuǎn)換為:

src:10.74.30.1 dst 10.74.30.15:8080發(fā)送到內(nèi)網(wǎng)給c服務(wù)器

step3、

che服務(wù)器回復(fù)

src:10.74.30.15:8080 dst:10.74.30.1 報(bào)文發(fā)送到內(nèi)網(wǎng)到達(dá)防火墻。

step4、

防火墻根據(jù)上述設(shè)置的規(guī)則,識(shí)別到此回復(fù)包是以前鏈接的一部分,將snat和dnat轉(zhuǎn)換逆過(guò)程:

src:11.11.2.3 :8080 dst:10.74.30.2并發(fā)報(bào)文發(fā)送到內(nèi)網(wǎng),陳xx同學(xué)的計(jì)算機(jī)收到此報(bào)文后,防火墻認(rèn)識(shí)是自己建立的鏈接的包,放行。最終陳同學(xué)能夠在公司內(nèi)部通過(guò)公網(wǎng)訪問(wèn)c服務(wù)器了。

2.4 防火墻訪問(wèn)

還是上述場(chǎng)景,假設(shè)陳xx同學(xué)不甘心,跑到防火墻所在的計(jì)算機(jī)上去訪問(wèn)c服務(wù)的公網(wǎng)ip地址。這種情況下,他將訪問(wèn)到防火墻自己的8080端口的服務(wù)。如果他需要在防火墻上通過(guò)公網(wǎng)地址訪問(wèn)c服務(wù),那么他需要在防火墻的output鏈上做動(dòng)作:

iptables -t nat -A OUTPUT -d 11.11.2.3 -dport 8080 -j NAT --to-destination 10.74.30.15

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 前言 防火墻(Firewall),就是一個(gè)隔離工具,工作于主機(jī)或者網(wǎng)絡(luò)的邊緣,對(duì)于進(jìn)出本主機(jī)或本網(wǎng)絡(luò)的報(bào)文,根...
    魏鎮(zhèn)坪閱讀 7,156評(píng)論 1 23
  • http://www.xfocus.net/articles/200106/208.htmlhttp://www....
    魚(yú)仔_1625閱讀 6,407評(píng)論 1 0
  • 防火墻的概念iptables的簡(jiǎn)介iptables命令網(wǎng)絡(luò)防火墻NATfirewalld服務(wù) 一、防火墻的概念 (...
    哈嘍別樣閱讀 1,974評(píng)論 0 1
  • 1.安全技術(shù) (1)入侵檢測(cè)與管理系統(tǒng)(Intrusion Detection Systems): 特點(diǎn)是不阻斷任...
    尛尛大尹閱讀 2,632評(píng)論 0 2
  • 這里是蘇州工業(yè)園區(qū)建屋樂(lè)齡公寓,吸引了來(lái)自蘇州及周邊地區(qū)的老人們安居養(yǎng)老。 公寓以服務(wù)為基礎(chǔ)理念,營(yíng)造社區(qū)化居家養(yǎng)...
    夏蓮簡(jiǎn)書(shū)閱讀 365評(píng)論 0 0

友情鏈接更多精彩內(nèi)容