偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

四種NAT的iptables實(shí)現(xiàn)

運(yùn)維 系統(tǒng)運(yùn)維
IPtabels被認(rèn)為是Linux中實(shí)現(xiàn)包過(guò)濾功能的第四代應(yīng)用程序。iptables包含在2.4以后的內(nèi)核中,它可以實(shí)現(xiàn)防火墻、NAT(網(wǎng)絡(luò)地址翻譯)和數(shù)據(jù)包的分割等功能。本文講述的是四種NAT的iptables的實(shí)現(xiàn)。

四種NATiptables實(shí)現(xiàn):

  1. Full Cone NAT:所有來(lái)自同一個(gè)內(nèi)部Tuple X的請(qǐng)求均被NAT轉(zhuǎn)換至同一個(gè)外部Tuple Y,而不管這些請(qǐng)求是不是屬于同一個(gè)應(yīng)用或者是多個(gè)應(yīng)用的。除此之外,當(dāng)X-Y的轉(zhuǎn)換關(guān)系建立之后,任意外部主機(jī)均可隨時(shí)將Y中的地址和端口作為目標(biāo)地址和目標(biāo)端口,向內(nèi)部主機(jī)發(fā)送UDP報(bào)文,由于對(duì)外部請(qǐng)求的來(lái)源無(wú)任何限制,因此這種方式雖然足夠簡(jiǎn)單,但卻不那么安全。

  2. Restricted Cone NAT: 它是Full Cone的受限版本:所有來(lái)自同一個(gè)內(nèi)部Tuple X的請(qǐng)求均被NAT轉(zhuǎn)換至同一個(gè)外部Tuple Y,這與Full Cone相同,但不同的是,只有當(dāng)內(nèi)部主機(jī)曾經(jīng)發(fā)送過(guò)報(bào)文給外部主機(jī)(假設(shè)其IP地址為Z)后,外部主機(jī)才能以Y中的信息作為目標(biāo)地址和目標(biāo)端口,向內(nèi)部主機(jī)發(fā)送UDP請(qǐng)求報(bào)文,這意味著,NAT設(shè)備只向內(nèi)轉(zhuǎn)發(fā)(目標(biāo)地址/端口轉(zhuǎn)換)那些來(lái)自于當(dāng)前已知的外部主機(jī)的UDP報(bào)文,從而保障了外部請(qǐng)求來(lái)源的安全性。

  3. Port Restricted Cone NAT:它是Restricted Cone NAT的進(jìn)一步受限版。只有當(dāng)內(nèi)部主機(jī)曾經(jīng)發(fā)送過(guò)報(bào)文給外部主機(jī)(假設(shè)其IP地址為Z且端口為P)之后,外部主機(jī)才能以Y中的信息作為目標(biāo)地址和目標(biāo)端口,向內(nèi)部主機(jī)發(fā)送UDP報(bào)文,同時(shí),其請(qǐng)求報(bào)文的源端口必須為P,這一要求進(jìn)一步強(qiáng)化了對(duì)外部報(bào)文請(qǐng)求來(lái)源的限制,從而較Restrictd Cone更具安全性。

  4. Symmetric NAT:這是一種比所有Cone NAT都要更為靈活的轉(zhuǎn)換方式:在Cone NAT中,內(nèi)部主機(jī)的內(nèi)部Tuple與外部Tuple的轉(zhuǎn)換映射關(guān)系是獨(dú)立于內(nèi)部主機(jī)所發(fā)出的UDP報(bào)文中的目標(biāo)地址及端口的,即與目標(biāo)Tuple無(wú)關(guān);在Symmetric NAT中,目標(biāo)Tuple則成為了NAT設(shè)備建立轉(zhuǎn)換關(guān)系的一個(gè)重要考量:只有來(lái)自于同一個(gè)內(nèi)部Tuple 、且針對(duì)同一目標(biāo)Tuple的請(qǐng)求才被NAT轉(zhuǎn)換至同一個(gè)外部Tuple,否則的話,NAT將為之分配一個(gè)新的外部Tuple;打個(gè)比方,當(dāng)內(nèi)部主機(jī)以相同的內(nèi)部Tuple對(duì)2個(gè)不同的目標(biāo)Tuple發(fā)送UDP報(bào)文時(shí),此時(shí)NAT將會(huì)為內(nèi)部主機(jī)分配兩個(gè)不同的外部Tuple,并且建立起兩個(gè)不同的內(nèi)、外部 Tuple轉(zhuǎn)換關(guān)系。與此同時(shí),只有接收到了內(nèi)部主機(jī)所發(fā)送的數(shù)據(jù)包的外部主機(jī)才能向內(nèi)部主機(jī)返回UDP報(bào)文,這里對(duì)外部返回報(bào)文來(lái)源的限制是與Port Restricted Cone一致的。不難看出,如果說(shuō)Full Cone是要求最寬松NAT UDP轉(zhuǎn)換方式,那么,Symmetric NAT則是要求最嚴(yán)格的NAT方式,其不僅體現(xiàn)在轉(zhuǎn)換關(guān)系的建立上,而且還體現(xiàn)在對(duì)外部報(bào)文來(lái)源的限制方面。

  NAT類型檢測(cè)

  前提條件:有一個(gè)公網(wǎng)的Server并且綁定了兩個(gè)公網(wǎng)IP(IP-1,IP-2)。這個(gè)Server做UDP監(jiān)聽(IP-1,Port-1),(IP-2,Port-2)并根據(jù)客戶端的要求進(jìn)行應(yīng)答。

  第一步:檢測(cè)客戶端是否有能力進(jìn)行UDP通信以及客戶端是否位于NAT后?

  客戶端建立UDP socket然后用這個(gè)socket向服務(wù)器的(IP-1,Port-1)發(fā)送數(shù)據(jù)包要求服務(wù)器返回客戶端的IP和Port, 客戶端發(fā)送請(qǐng)求后立即開始接受數(shù)據(jù)包,要設(shè)定socket Timeout(300ms),防止無(wú)限堵塞. 重復(fù)這個(gè)過(guò)程若干次。如果每次都超時(shí),無(wú)法接受到服務(wù)器的回應(yīng),則說(shuō)明客戶端無(wú)法進(jìn)行UDP通信,可能是防火墻或NAT阻止UDP通信,這樣的客戶端也就不能P2P了(檢測(cè)停止)。

  當(dāng)客戶端能夠接收到服務(wù)器的回應(yīng)時(shí),需要把服務(wù)器返回的客戶端(IP,Port)和這個(gè)客戶端socket的(LocalIP,LocalPort)比較。如果完全相同則客戶端不在NAT后,這樣的客戶端具有公網(wǎng)IP可以直接監(jiān)聽UDP端口接收數(shù)據(jù)進(jìn)行通信(檢測(cè)停止)。否則客戶端在NAT后要做進(jìn)一步的NAT類型檢測(cè)(繼續(xù))。

  第二步:檢測(cè)客戶端NAT是否是Full Cone NAT?

  客戶端建立UDP socket然后用這個(gè)socket向服務(wù)器的(IP-1,Port-1)發(fā)送數(shù)據(jù)包要求服務(wù)器用另一對(duì)(IP-2,Port-2)響應(yīng)客戶端的請(qǐng)求往回發(fā)一個(gè)數(shù)據(jù)包,客戶端發(fā)送請(qǐng)求后立即開始接受數(shù)據(jù)包,要設(shè)定socket Timeout(300ms),防止無(wú)限堵塞. 重復(fù)這個(gè)過(guò)程若干次。如果每次都超時(shí),無(wú)法接受到服務(wù)器的回應(yīng),則說(shuō)明客戶端的NAT不是一個(gè)Full Cone NAT,具體類型有待下一步檢測(cè)(繼續(xù))。如果能夠接受到服務(wù)器從(IP-2,Port-2)返回的應(yīng)答UDP包,則說(shuō)明客戶端是一個(gè)Full Cone NAT,這樣的客戶端能夠進(jìn)行UDP-P2P通信(檢測(cè)停止)。

  第三步:檢測(cè)客戶端NAT是否是Symmetric NAT?

  客戶端建立UDP socket然后用這個(gè)socket向服務(wù)器的(IP-1,Port-1)發(fā)送數(shù)據(jù)包要求服務(wù)器返回客戶端的IP和Port, 客戶端發(fā)送請(qǐng)求后立即開始接受數(shù)據(jù)包,要設(shè)定socket Timeout(300ms),防止無(wú)限堵塞. 重復(fù)這個(gè)過(guò)程直到收到回應(yīng)(一定能夠收到,因?yàn)榈谝徊奖WC了這個(gè)客戶端可以進(jìn)行UDP通信)。

  用同樣的方法用一個(gè)socket向服務(wù)器的 (IP-2,Port-2)發(fā)送數(shù)據(jù)包要求服務(wù)器返回客戶端的IP和Port。

  比較上面兩個(gè)過(guò)程從服務(wù)器返回的客戶端(IP,Port),如果兩個(gè)過(guò)程返回的(IP,Port)有一對(duì)不同則說(shuō)明客戶端為Symmetric NAT,這樣的客戶端無(wú)法進(jìn)行UDP-P2P通信(檢測(cè)停止)。否則是Restricted Cone NAT,是否為Port Restricted Cone NAT有待檢測(cè)(繼續(xù))。

  第四步:檢測(cè)客戶端NAT是否是Restricted Cone NAT還是Port Restricted Cone NAT?

  客戶端建立UDP socket然后用這個(gè)socket向服務(wù)器的(IP-1,Port-1)發(fā)送數(shù)據(jù)包要求服務(wù)器用IP-1和一個(gè)不同于Port-1的端口發(fā)送一個(gè)UDP 數(shù)據(jù)包響應(yīng)客戶端, 客戶端發(fā)送請(qǐng)求后立即開始接受數(shù)據(jù)包,要設(shè)定socket Timeout(300ms),防止無(wú)限堵塞. 重復(fù)這個(gè)過(guò)程若干次。如果每次都超時(shí),無(wú)法接受到服務(wù)器的回應(yīng),則說(shuō)明客戶端是一個(gè)Port Restricted Cone NAT,如果能夠收到服務(wù)器的響應(yīng)則說(shuō)明客戶端是一個(gè)Restricted Cone NAT。以上兩種NAT都可以進(jìn)行UDP-P2P通信。

  1.   /-"Full Cone NAT":/  
  2.  
  3.   iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 202.96.209.111  
  4.  
  5.   iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination 192.168.1.1  
  6.  
  7.   /-"Port Restricted Cone NAT":/  
  8.  
  9.   iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 202.96.209.111  
  10.  
  11.   /-"Restricted Cone NAT":/  
  12.  
  13.   iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 202.96.209.111  
  14.  
  15.   iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination 192.168.1.1  
  16.  
  17.   iptables -A FORWARD -d 202.96.209.111 -j ACCEPT  
  18.  
  19.   iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT  
  20.  
  21.   iptables -I FORWARD 1 -s 85.214.128.86 -j ACCEPT(加入對(duì)點(diǎn)IP,作弊型連通)  
  22.  

【編輯推薦】

Redhat下使用iptables實(shí)現(xiàn)NAT

Linux下iptables實(shí)現(xiàn)的nat服務(wù)

如何使用iptables來(lái)實(shí)現(xiàn)NAT

責(zé)任編輯:zhaolei 來(lái)源: sina
相關(guān)推薦

2021-12-22 09:34:01

Golagn配置方式

2015-04-02 16:54:52

災(zāi)難恢復(fù)VDI災(zāi)難恢復(fù)

2015-04-13 11:39:26

VDI災(zāi)難恢復(fù)

2011-03-15 09:10:47

iptablesNAT

2011-03-15 14:26:23

iptablesNAT

2022-01-12 11:02:01

云計(jì)算安全技術(shù)

2010-08-05 09:33:08

Flex頁(yè)面跳轉(zhuǎn)

2025-01-16 00:00:00

MapStruct映射

2011-03-16 09:05:33

2019-10-24 07:42:28

Java引用GC

2017-07-06 15:40:19

DevOps核心能力

2012-09-11 09:55:26

編程HTML5編程能力

2015-03-19 15:13:20

PHP基本排序算法代碼實(shí)現(xiàn)

2011-03-16 09:05:32

RedhatiptablesNAT

2011-03-16 09:05:29

iptablesNAT

2020-01-21 19:15:23

漏洞安全IT

2025-03-12 09:54:02

2021-10-24 08:37:18

網(wǎng)絡(luò)監(jiān)控網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)

2011-11-24 16:34:39

Java

2023-07-11 10:24:00

分布式限流算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)