在IP地址和子網(wǎng)掩碼中說了IP地址,在網(wǎng)卡的真正硬件地址mac 中說了MAC地址,在端口是個(gè)什么鬼? 中說了端口。但實(shí)際上我們大部分時(shí)候更關(guān)心的是IP地址和端口。至少在今天我要說的端口映射中是用到了IP地址和端口。為什么我們要端口映射?端口映射在什么情況下用?
端口映射中的端口就是邏輯層面的端口而非路由器,交換機(jī)上的端口,其實(shí)在大部分的情況下我們所說的端口都是指這種邏輯層面的端口號。通俗的說端口映射就是把其中一個(gè)端口號和另一個(gè)端號聯(lián)系起來,記錄下來,看到這個(gè)端口號就知道指的是經(jīng)過變換后的端口號。這就像指鹿為馬一樣。當(dāng)然這里的指鹿為馬和趙高的指鹿為馬有本質(zhì)的不同。
我們之所以要端口映射其實(shí)是因?yàn)镹AT技術(shù)。NAT下的保安和張三 中說到NAT技術(shù)就像一個(gè)小區(qū),只允許里面的人主動聯(lián)系外面 的人,而不允許外面的人主動聯(lián)系里面的人。這在一定程度上保護(hù)了內(nèi)部的安全,同時(shí)也帶來一個(gè)問題,如果外面的人要主動的訪問控制處于NAT里主機(jī)則無法實(shí)現(xiàn)。比如實(shí)際中有遠(yuǎn)程控制的需求。這個(gè)時(shí)候我們就需要端口映射這樣的操作用來把目的端口是指定端口號的數(shù)據(jù)包和指定的主機(jī)端口號聯(lián)系起來以方便遠(yuǎn)程控制這樣的需求。
路由器
當(dāng)你有從互聯(lián)網(wǎng)要主動訪問處于NAT(路由器)后面的主機(jī)這樣的需求時(shí)你就可以做端口映射。端口映射通常是做在進(jìn)入內(nèi)部網(wǎng)絡(luò)的匯聚設(shè)備上比如路由器。在路由器中有叫做虛擬主機(jī)或虛擬服務(wù)器也有直接叫端口映射的,他們統(tǒng)一的類別是轉(zhuǎn)發(fā)規(guī)則。這也說明了實(shí)際上端口映射就是為了特殊轉(zhuǎn)發(fā)存在的。
端口映射
操作方面大同小異。首先進(jìn)入路由器的管理后面界面,找到虛擬主機(jī)或者轉(zhuǎn)發(fā)規(guī)則下的虛擬服務(wù)器或者端口映射。
端口映射
在上圖中帶有*號的是必填的。其中指定出口在一般的路由器默認(rèn)都是WAN或是PPPOE撥號口。協(xié)議根據(jù)自己的需求如果不知道可以選擇TCP+UDP或者ALL。外部端口就是從互聯(lián)網(wǎng)上進(jìn)來的目的端口,比如我們用瀏覽器打開網(wǎng)頁默認(rèn)的目的端口就是80或都443。內(nèi)部IP是指提供服務(wù)的內(nèi)部網(wǎng)絡(luò)的主機(jī)地址比如有一個(gè)IP地址是192.168.1.100的主機(jī)提供網(wǎng)頁服務(wù)那么就是這個(gè)地址。內(nèi)部端口就是指這個(gè)提供服務(wù)的主機(jī)的開放端口,比如網(wǎng)頁服務(wù)默認(rèn)是80如果有更改需要填寫更改后的端口。(有一些路由器可以沒有內(nèi)部端口這個(gè)填寫項(xiàng))
上面的意思就是說路由器檢測到了從WAN口主動進(jìn)來的數(shù)據(jù)包里的目的端口號是主人指定的外部端口的話,把外部端口更改為內(nèi)部端口(如果沒有就不用更改了)然后再交給內(nèi)部IP為192.168.1.100的主機(jī)處理,至于是死是活不關(guān)路由器的事了。






