溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Azure 防火墻怎么實(shí)現(xiàn)SNAT

發(fā)布時(shí)間:2020-06-18 16:43:22 來(lái)源:億速云 閱讀:338 作者:元一 欄目:云計(jì)算

SNAT,是源地址轉(zhuǎn)換,其作用是將ip數(shù)據(jù)包的源地址轉(zhuǎn)換成另外一個(gè)地址。

SNAT,可能有人覺(jué)得奇怪,好好的為什么要進(jìn)行ip地址轉(zhuǎn)換啊,為了弄懂這個(gè)問(wèn)題,我們要看一下局域網(wǎng)用戶上公網(wǎng)的原理,假設(shè)內(nèi)網(wǎng)主機(jī)A(192.168.2.8)要和外網(wǎng)主機(jī)B(61.132.62.131)通信,A向B發(fā)出IP數(shù)據(jù)包,如果沒(méi)有SNAT對(duì)A主機(jī)進(jìn)行源地址轉(zhuǎn)換,A與B主機(jī)的通訊會(huì)不正常中斷,因?yàn)楫?dāng)路由器將內(nèi)網(wǎng)的數(shù)據(jù)包發(fā)到公網(wǎng)IP后,公網(wǎng)IP會(huì)給你的私網(wǎng)IP回?cái)?shù)據(jù)包,這時(shí),公網(wǎng)IP根本就無(wú)法知道你的私網(wǎng)IP應(yīng)該如何走了。所以問(wèn)它上一級(jí)路由器,當(dāng)然這是肯定會(huì)失敗的,因?yàn)閺墓W(wǎng)上根本就無(wú)法看到私網(wǎng)IP,因此你無(wú)法給他通信。為了實(shí)現(xiàn)數(shù)據(jù)包的正確發(fā)送及返回,網(wǎng)關(guān)必須將A的址轉(zhuǎn)換為一個(gè)合法的公網(wǎng)地址,同時(shí)為了以后B主機(jī)能將數(shù)據(jù)包發(fā)送給A,這個(gè)合法的公網(wǎng)地址必須是網(wǎng)關(guān)的外網(wǎng)地址,如果是其它公網(wǎng)地址的話,B會(huì)把數(shù)據(jù)包發(fā)送到其它網(wǎng)關(guān),而不是A主機(jī)所在的網(wǎng)關(guān),A將收不到B發(fā)過(guò)來(lái)的數(shù)據(jù)包,所以?xún)?nèi)網(wǎng)主機(jī)要上公網(wǎng)就必須要有合法的公網(wǎng)地址,而得到這個(gè)地址的方法就是讓網(wǎng)關(guān)進(jìn)行SNAT(源地址轉(zhuǎn)換),將內(nèi)網(wǎng)地址轉(zhuǎn)換成公網(wǎng)址(一般是網(wǎng)關(guān)的外部地址),所以大家經(jīng)常會(huì)看到為了讓內(nèi)網(wǎng)用戶上公網(wǎng),我們必須在routeros的firewall中設(shè)置snat,俗稱(chēng)IP地址欺騙或偽裝(masquerade)。

下邊來(lái)看SNAT怎么實(shí)現(xiàn),SNAT的配置方法和DNAT是不一樣的,DNAT可以直接在FW上配置,SNAT我們可以通過(guò)UDR實(shí)現(xiàn),如果想讓所有出站流量都經(jīng)過(guò)FW,我們可以通過(guò)UDR配置默認(rèn)路由的出口為FW,這樣訪問(wèn)internet的流量就必須要走FW了

首先來(lái)看下FW做DNAT時(shí)對(duì)IP的改寫(xiě),從家里電腦curl到FW IP

Azure 防火墻怎么實(shí)現(xiàn)SNAT

在Nginx log里可以看到源IP會(huì)是FW的IP,也就是說(shuō)在做DNAT時(shí),F(xiàn)W會(huì)重寫(xiě)請(qǐng)求的源IP

Azure 防火墻怎么實(shí)現(xiàn)SNAT

而如果curl 服務(wù)器的公網(wǎng)IP

Azure 防火墻怎么實(shí)現(xiàn)SNAT

Log里會(huì)看到源IP是客戶端的公網(wǎng)IP

從各個(gè)region curl到web服務(wù)器公網(wǎng)IP,包括FW的VNET和peer的VNET

直接Curl web服務(wù)器公網(wǎng)IP,看到的源IP都是服務(wù)器的公網(wǎng)IP,說(shuō)明出站是直接走到internet,不經(jīng)過(guò)FW,沒(méi)有SNAT

下邊來(lái)看SNAT怎么配置,首先在各個(gè)region創(chuàng)建UDR

Azure 防火墻怎么實(shí)現(xiàn)SNAT

添加默認(rèn)路由到FW

Azure 防火墻怎么實(shí)現(xiàn)SNAT

關(guān)聯(lián)到各個(gè)subnet中

Azure 防火墻怎么實(shí)現(xiàn)SNAT

之后嘗試從VM 繼續(xù)curl到web服務(wù)器,會(huì)發(fā)現(xiàn)流量被FW拒絕了,因?yàn)闆](méi)有出站的允許規(guī)則Azure 防火墻怎么實(shí)現(xiàn)SNAT

解決這個(gè)問(wèn)題可以在FW上開(kāi)通網(wǎng)絡(luò)規(guī)則

Azure 防火墻怎么實(shí)現(xiàn)SNAT

 

10.88網(wǎng)段的可以curl www.baidu.com

    

 不在88網(wǎng)段的就不行

Azure 防火墻怎么實(shí)現(xiàn)SNAT

    再次添加其他網(wǎng)段的網(wǎng)絡(luò)規(guī)則Azure 防火墻怎么實(shí)現(xiàn)SNAT

嘗試單獨(dú)再添加linux2所在網(wǎng)段的規(guī)則Azure 防火墻怎么實(shí)現(xiàn)SNAT

再次嘗試,可以連接,DNAT就簡(jiǎn)單實(shí)現(xiàn)了

Azure 防火墻怎么實(shí)現(xiàn)SNAT

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI