什么是端口映射少办?怎樣端口映射苞慢?

一、背景知識(shí)簡介

? ? ? ? 我們?nèi)粘<矣糜⒓恕⑥k公的網(wǎng)絡(luò)基本都是在一個(gè)路由器下的局域網(wǎng)里挽放,網(wǎng)絡(luò)結(jié)構(gòu)往往是這樣的:

外網(wǎng)——光貓——路由器Wan口——路由器Lan口{局域網(wǎng){局域網(wǎng)設(shè)備1……局域網(wǎng)設(shè)備N}}

這樣的結(jié)構(gòu)工作過程是這樣的:


????????光貓通過光纖連接到網(wǎng)絡(luò)運(yùn)營商(常見的是移動(dòng)聯(lián)通電信)的撥號(hào)服務(wù)器;

????????路由器負(fù)責(zé)寬帶撥號(hào)(路由器的wan口設(shè)置里有寬帶賬號(hào)蔓纠,每次路由器啟動(dòng)會(huì)自動(dòng)撥號(hào)——當(dāng)然也可以到路由器的設(shè)置頁面里把自動(dòng)撥號(hào)設(shè)置為手動(dòng)撥號(hào)辑畦,但絕大多數(shù)情況下沒人這么做);

????????路由器寬帶撥號(hào)成功之后腿倚,運(yùn)營商的撥號(hào)服務(wù)器會(huì)給路由器設(shè)置一個(gè)公網(wǎng)IP地址纯出。


????????前面是路由器跟外網(wǎng)之間的交互,在路由器組建的內(nèi)網(wǎng)中敷燎,他還會(huì)做一些局域網(wǎng)的基礎(chǔ)管理工作暂筝,這些基礎(chǔ)工作跟外網(wǎng)沒關(guān)系,也就是說硬贯,無論路由器的wan口是否撥號(hào)成功焕襟,都不影響他做一些基礎(chǔ)的局域網(wǎng)管理工作:


? ? ? ? DHCP服務(wù)器——大多數(shù)情況下路由器都會(huì)把自己作為它所管理的局域網(wǎng)中的DHCP服務(wù)器,DHCP服務(wù)器開起來之后饭豹,通過網(wǎng)線連接到路由器上的電腦等設(shè)備鸵赖、通過無線網(wǎng)絡(luò)連接到路由器上的手機(jī)筆記本iPad等設(shè)備都會(huì)作為一個(gè)DHCP客戶端來向路由器報(bào)道务漩,然后路由器會(huì)根據(jù)自己的局域網(wǎng)IP分配記錄來給每個(gè)新報(bào)道的設(shè)備分配一個(gè)內(nèi)網(wǎng)的IP地址,并將這個(gè)IP地址再記錄在路由器自己的IP分配記錄中卫漫,以防將同一個(gè)IP地址分配給不同的設(shè)備導(dǎo)致局域網(wǎng)IP地址沖突菲饼。


? ? ? ? 路由器將這些基礎(chǔ)工作做完之后,局域網(wǎng)內(nèi)的設(shè)備就可以通過路由器和外網(wǎng)的設(shè)備進(jìn)行通信了列赎。但是宏悦,在外網(wǎng)看來,內(nèi)網(wǎng)的這些所有的設(shè)備的公網(wǎng)IP都是相同的包吝。當(dāng)內(nèi)網(wǎng)的設(shè)備主動(dòng)發(fā)起外網(wǎng)連接請(qǐng)求的時(shí)候饼煞,路由器是可以知道這個(gè)請(qǐng)求到底是局域網(wǎng)內(nèi)哪臺(tái)設(shè)備發(fā)起的,到時(shí)候外網(wǎng)設(shè)備對(duì)這個(gè)請(qǐng)求進(jìn)行響應(yīng)的時(shí)候诗越,路由器也是可以知道到底該把這個(gè)相應(yīng)返回給哪臺(tái)設(shè)備的砖瞧。這里牽扯到NAT的知識(shí),不展開了嚷狞。

????????但是块促,反過來,如果是外網(wǎng)某臺(tái)設(shè)備想要主動(dòng)連接局域網(wǎng)內(nèi)某臺(tái)設(shè)備呢床未,怎么辦竭翠?眾所周知,網(wǎng)絡(luò)連接都是基于tcp/IP協(xié)議的薇搁,建立的連接可以是tcp或udp斋扰,但無論是tcp還是udp,都離不開4要素:源地址+源端口——目的地址+目的端口】醒螅現(xiàn)在外網(wǎng)的設(shè)備作為源IP传货,他在知道了目的IP和端口的情況下,用源IP+源端口向目的IP+目的端口發(fā)起請(qǐng)求的時(shí)候宏娄,負(fù)責(zé)管理目標(biāo)設(shè)備的路由器是能接收到這個(gè)目的請(qǐng)求的问裕,因?yàn)樗膚an口IP地址就是這個(gè)目的IP,但他不知道的是孵坚,這個(gè)目的端口號(hào)具體是局域網(wǎng)內(nèi)哪臺(tái)設(shè)備上的端口號(hào)僻澎。這樣,他不知道的情況下十饥,就會(huì)掛起這個(gè)請(qǐng)求窟勃,直到超時(shí)無響應(yīng),導(dǎo)致源設(shè)備發(fā)起的這個(gè)請(qǐng)求失敗逗堵。

? ? ? ? 所以秉氧,在這種應(yīng)用場(chǎng)景下,只要解決了讓路由器能清楚的知道”來自互聯(lián)網(wǎng)上向XXX端口發(fā)起的請(qǐng)求蜒秤,就把這個(gè)請(qǐng)求發(fā)往局域網(wǎng)中IP為AAA的設(shè)備上的NNN端口“即可汁咏。

? ? ? ? 這個(gè)功能亚斋,就是所謂的端口映射——把來自外網(wǎng)的XX端口的請(qǐng)求,映射到內(nèi)網(wǎng)的某臺(tái)設(shè)備的NN端口攘滩。要注意的是帅刊,外網(wǎng)請(qǐng)求連接到是XX端口,路由器將請(qǐng)求映射到的是某設(shè)備的NN端口漂问,這個(gè)XX和NN不一定非得一樣赖瞒,完全可以自定義(tcp/IP協(xié)議規(guī)定端口號(hào)范圍是0-65535),也就是說蚤假,你在外網(wǎng)的設(shè)備上有個(gè)軟件栏饮,可以向路由器所在的IP上發(fā)起端口號(hào)為100的請(qǐng)求,路由器里設(shè)置的端口映射是把來自外網(wǎng)請(qǐng)求100端口號(hào)的連接映射到內(nèi)網(wǎng)IP為192.168.1.2設(shè)備的200端口上磷仰,也是可以的袍嬉,在外網(wǎng)的設(shè)備上看,跟它通信的是路由器所在的IP+100灶平,而在內(nèi)網(wǎng)的192.168.1.2上看伺通,他接受請(qǐng)求的端口是200,跟他通信的IP是192.168.1.1(假設(shè)路由器的局域網(wǎng)IP是192.168.1.1)逢享。

? ? ? ? 這樣一番操作之后泵殴,內(nèi)網(wǎng)和外網(wǎng)就這樣被路由器所分隔開了:外網(wǎng)的設(shè)備只能看到路由器;路由器下局域網(wǎng)內(nèi)的設(shè)備也只能看到路由器(也就是網(wǎng)管)以及局域網(wǎng)內(nèi)的其他設(shè)備拼苍。

? ? ? ? 明白了以上的道理,端口映射該怎樣設(shè)置也就很清楚了调缨,只是針對(duì)不同的路由器可能在操作上有些不同細(xì)微的差別疮鲫,但不會(huì)相差很多,因?yàn)樾枰蚵酚善髡f明的無非是:1.需要將外網(wǎng)來的哪個(gè)端口進(jìn)行映射弦叶;2.需要將外網(wǎng)來的這個(gè)端口的請(qǐng)求轉(zhuǎn)發(fā)給本局域網(wǎng)的哪個(gè)IP俊犯;3.需要將這個(gè)端口的請(qǐng)求轉(zhuǎn)發(fā)給這個(gè)IP地址的哪個(gè)端口。(某些腦殘路由器設(shè)置里竟然還有4.需要手動(dòng)選擇有且只有一個(gè)的選項(xiàng):wan口伤哺,也就是需要向路由器說明一下燕侠,我是要將來自wan口的請(qǐng)求進(jìn)行映射,而不是要把lan口的請(qǐng)求進(jìn)行映射立莉。绢彤。。真是腦殘?jiān)O(shè)計(jì))蜓耻。接下來茫舶,要做的就是:登錄路由器管理頁面,找到”端口映射“或”虛擬服務(wù)器“設(shè)置刹淌,添加映射規(guī)則饶氏,完事~

? ? ? ? 另外補(bǔ)充一點(diǎn)讥耗,現(xiàn)實(shí)中一般都直接用dhcp來獲取局域網(wǎng)IP,而dhcp獲取到的IP是有租期的疹启,當(dāng)租約到期之前斷開了與路由器的連接古程,然后租約到期后又重新連接台腥,這時(shí)候dhcp可能會(huì)給設(shè)備重新分配另一個(gè)局域網(wǎng)IP台舱,而不是之前的局域網(wǎng)IP了,這樣的話愕掏,之前設(shè)置的端口映射就失效了贷祈。要解決這個(gè)動(dòng)態(tài)局域網(wǎng)IP的問題趋急,就是在路由器dhcp設(shè)置里,把當(dāng)前設(shè)備的mac綁定靜態(tài)IP地址势誊,這樣一來呜达,無論什么時(shí)候這個(gè)設(shè)備來向路由器請(qǐng)求局域網(wǎng)IP,路由器都會(huì)根據(jù)當(dāng)前設(shè)備的mac地址分配固定局域網(wǎng)IP粟耻,而端口映射里的規(guī)則也是永遠(yuǎn)指向這個(gè)IP查近,這樣,這條規(guī)則也會(huì)永遠(yuǎn)生效挤忙。

? ? ? ? 再補(bǔ)充一點(diǎn)霜威,多數(shù)路由器還會(huì)有一個(gè)dmz主機(jī)設(shè)置,這個(gè)設(shè)置的作用就是相當(dāng)于你把所有來自外網(wǎng)的請(qǐng)求(0-65535端口)全都映射到一臺(tái)主機(jī)的對(duì)應(yīng)的端口上(注意册烈,是對(duì)應(yīng)映射戈泼,如果外網(wǎng)來的請(qǐng)求是連接100端口,那路由器會(huì)把這個(gè)100端口的請(qǐng)求轉(zhuǎn)發(fā)到指定IP的100端口赏僧,而無法自定義為其他端口)大猛。


????????說了這么多,可能還有小伙伴不太明白淀零,下面我們?cè)儆靡粋€(gè)非常具體的實(shí)例來說明一下挽绩。

? ? ? ? 一、小明家里的網(wǎng)絡(luò)結(jié)構(gòu):

外網(wǎng)——光纖——光貓——家路由器wan口——家路由器lan口——家電腦

1.1.家路由器里設(shè)置里寬帶撥號(hào)驾中,撥號(hào)成功后唉堪,寬帶運(yùn)營商給家路由器分配了111.111.111.111這個(gè)IP地址;

1.2.小明對(duì)家路由進(jìn)行了設(shè)置:路由器自身局域網(wǎng)IP——192.168.1.1

1.3.小明家電腦通過網(wǎng)線連接路由器肩民,家電腦網(wǎng)卡的mac地址為——00:AA:11:BB:22:CC:33:DD

1.4.小明對(duì)家路由進(jìn)行了設(shè)置:dhcp設(shè)置分配固定IP唠亚,將mac地址為00:AA:11:BB:22:CC:33:DD的設(shè)備分配固定IP192.168.1.2

1.5.小明對(duì)家路由進(jìn)行了設(shè)置:端口映射(進(jìn)行映射的是wan口來的5555端口;映射到的局域網(wǎng)IP是192.168.1.2持痰;映射到192.168.1.2上的端口號(hào)是6666)

1.6.小明家電腦上開了個(gè)服務(wù)器軟件趾撵,服務(wù)器軟件監(jiān)聽的是6666端口。(這個(gè)服務(wù)器具體是干啥的無所謂,可以是ftp占调,可以是http暂题,可以是ssh服務(wù)端,可以是svn服務(wù)器……這些具體的服務(wù)器對(duì)外提供服務(wù)究珊,都是基于tcp/IP協(xié)議薪者,在tcp/IP協(xié)議的基礎(chǔ)上,又做的應(yīng)用層協(xié)議剿涮。)

1.7小明家還有一部手機(jī)言津,通過無線網(wǎng)連接到路由器,由于小明沒有在路由器的dhcp設(shè)置里對(duì)手機(jī)的mac地址進(jìn)行固定IP綁定取试,因此本次連接也獲取到IP了悬槽,192.168.1.3,但不敢說下次這個(gè)手機(jī)再來連接路由器會(huì)不會(huì)還是獲取到192.168.1.3這個(gè)IP瞬浓,還有可能是192.168.1.[4-255之間到任意一個(gè)]

? ? ? ? 二初婆、小明公司辦公室的網(wǎng)絡(luò)結(jié)構(gòu):

外網(wǎng)——光纖——光貓——公司路由器wan口——公司路由器lan口——公司電腦

2.1公司路由器里設(shè)置里寬帶撥號(hào),撥號(hào)成功后猿棉,寬帶運(yùn)營商給家路由器分配了222.222.222.222這個(gè)IP地址磅叛;

2.2公司路由器只做了基礎(chǔ)設(shè)置:公司路由器本身局域網(wǎng)IP——192.168.1.1(巧了,也是這個(gè)萨赁,可能是同一家路由器廠商生產(chǎn)的路由器弊琴,也可能是國際慣例,也可能是小明就是公司的網(wǎng)絡(luò)管理員杖爽,他習(xí)慣于將局域網(wǎng)網(wǎng)關(guān)設(shè)置為這個(gè)IP敲董,也可能……,不過無所謂慰安,因?yàn)榧依锕緝蛇叾加新酚善鞯拇嬖谝刚瑑蛇叺膬?nèi)網(wǎng)與外網(wǎng)是相互隔離的。也就是說公司局域網(wǎng)是192.168.1.X泻帮,家里的局域網(wǎng)也可以是192.168.1.X,因?yàn)樗麄儽舜酥g無法直接看見對(duì)方计寇,也因此锣杂,兩個(gè)局域網(wǎng)之間互不影響)

2.2公司電腦用網(wǎng)線連接公司路由器,由于沒特殊設(shè)置dhcp番宁,電腦開機(jī)后元莫,公司路由器根據(jù)當(dāng)前它自己的局域網(wǎng)分配記錄(之前有別的同事開機(jī),路由器已經(jīng)給小明同事們的電腦蝶押、手機(jī)等分別分配了IP地址了)踱蠢,給小明公司電腦分配了IP地址192.168.1.32

? ? ? ? 三、小明在公司里操作:

3.1小明在公司的電腦上打開了專用的客戶端,輸入家里路由器的公網(wǎng)IP地址(111.111.111.111)茎截,輸入路由器端口映射的觸發(fā)端口號(hào)(5555)苇侵,客戶端軟件內(nèi)部固定了本地端口號(hào)7777,開始鏈接企锌。

3.2公司電腦的網(wǎng)卡向路由器發(fā)送鏈接請(qǐng)求(111.111.111.111:5555)

3.3公司路由器接收到公司電腦發(fā)來的鏈接請(qǐng)求榆浓,并記錄下了內(nèi)網(wǎng)映射(192.168.1.32:7777——222.222.222.222:7777——111.111.111.111:5555)

3.4公司路由器用自己的公網(wǎng)IP+源端口號(hào)向外發(fā)送請(qǐng)求222.222.222.222:7777——111.111.111.111:5555

3.5公網(wǎng)設(shè)備找到了111.111.111.111,也就是家路由器的wan口撕攒,并把這個(gè)請(qǐng)求(222.222.222.222:7777——111.111.111.111:5555)發(fā)送到了家路由器wan口

3.6家路由器收到后陡鹃,查詢端口映射,發(fā)現(xiàn)所有來自wan口5555端口的聯(lián)入請(qǐng)求都應(yīng)該轉(zhuǎn)發(fā)到家內(nèi)網(wǎng)的192.168.1.2這個(gè)IP的6666上抖坪,于是萍鲸,記錄下了(222.222.222.222:7777——111.111.111.111:5555——192.168.1.2:6666),并將這個(gè)請(qǐng)求轉(zhuǎn)發(fā)給了192.168.1.2的5555端口擦俐。

3.7家電腦的服務(wù)端正在監(jiān)聽5555端口脊阴,收到這個(gè)來自家路由器的請(qǐng)求后,反饋說“收到”捌肴,也就是把“收到”回傳給路由器蹬叭,路由器一看這個(gè)“收到”的消息是來自192.168.1.2:6666,查詢映射記錄得知状知,應(yīng)該將“收到”發(fā)送給111.111.111.111:5555秽五,于是111.111.111.111:5555——222.222.222.222:7777

3.8公網(wǎng)設(shè)備找到222.222.222.222后,把消息發(fā)往222.222.222.222:7777

3.9公司路由收到來自111.111.111.111:5555的消息后饥悴,查詢坦喘,發(fā)現(xiàn)應(yīng)當(dāng)發(fā)給局域網(wǎng)192.168.1.32:7777

3.10公司電腦收到消息……



為了簡單易懂,這里簡化了大量的端口分配工作西设,實(shí)際上瓣铣,客戶端發(fā)起請(qǐng)求的時(shí)候,端口號(hào)不一定是固定的贷揽;源端路由器進(jìn)行源端口nat轉(zhuǎn)換的時(shí)候棠笑,也不一定是用源端口往外發(fā)送;目標(biāo)端路由進(jìn)行內(nèi)網(wǎng)端口映射時(shí)禽绪,與局域網(wǎng)端口通信的端口也不一定是跟觸發(fā)端口一樣蓖救。這里我之所以對(duì)應(yīng)起來,是盡量簡化模型印屁,讓內(nèi)容更加容易理解循捺。





原創(chuàng),未經(jīng)允許雄人,不得轉(zhuǎn)發(fā)从橘。千字千元,明碼標(biāo)價(jià)。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末恰力,一起剝皮案震驚了整個(gè)濱河市叉谜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牺勾,老刑警劉巖正罢,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異驻民,居然都是意外死亡翻具,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門回还,熙熙樓的掌柜王于貴愁眉苦臉地迎上來裆泳,“玉大人,你說我怎么就攤上這事柠硕」ず蹋” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵蝗柔,是天一觀的道長闻葵。 經(jīng)常有香客問我,道長癣丧,這世上最難降的妖魔是什么槽畔? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮胁编,結(jié)果婚禮上厢钧,老公的妹妹穿的比我還像新娘。我一直安慰自己嬉橙,他們只是感情好早直,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著市框,像睡著了一般霞扬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上枫振,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天喻圃,我揣著相機(jī)與錄音,去河邊找鬼蒋得。 笑死级及,一個(gè)胖子當(dāng)著我的面吹牛乒疏,可吹牛的內(nèi)容都是我干的额衙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼窍侧!你這毒婦竟也來了县踢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤伟件,失蹤者是張志新(化名)和其女友劉穎硼啤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斧账,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谴返,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咧织。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗓袱。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖习绢,靈堂內(nèi)的尸體忽然破棺而出渠抹,到底是詐尸還是另有隱情,我是刑警寧澤闪萄,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布梧却,位于F島的核電站,受9級(jí)特大地震影響败去,放射性物質(zhì)發(fā)生泄漏放航。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一为迈、第九天 我趴在偏房一處隱蔽的房頂上張望三椿。 院中可真熱鬧,春花似錦葫辐、人聲如沸搜锰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛋叼。三九已至,卻和暖如春剂陡,著一層夾襖步出監(jiān)牢的瞬間狈涮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工鸭栖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歌馍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓晕鹊,卻偏偏與公主長得像松却,于是被迫代替她去往敵國和親暴浦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容