一、什么是端口映射

   端口映射:端口映射就是將內(nèi)網(wǎng)中的主機(jī)的一個(gè)端口映射到外網(wǎng)主機(jī)的一個(gè)端口,提供相應(yīng)的服務(wù)。當(dāng)用戶訪問外網(wǎng)IP的這個(gè)端口時(shí),服務(wù)器自動(dòng)將請(qǐng)求映射到對(duì)應(yīng)局域網(wǎng)內(nèi)部的機(jī)器上。

比如:

   我們?cè)趦?nèi)網(wǎng)中有一臺(tái)Web服務(wù)器,但是外網(wǎng)中的用戶是沒有辦法直接訪問該服務(wù)器的。于是我們可以在路由器上設(shè)置一個(gè)端口映射,只要外網(wǎng)用戶訪問路由器ip的80端口,那么路由器會(huì)把自動(dòng)把流量轉(zhuǎn)到內(nèi)網(wǎng)Web服務(wù)器的80端口上。并且,在路由器上還存在一個(gè)Session,當(dāng)內(nèi)網(wǎng)服務(wù)器返回?cái)?shù)據(jù)給路由器時(shí),路由器能準(zhǔn)確的將消息發(fā)送給外網(wǎng)請(qǐng)求用戶的主機(jī)。在這過(guò)程中,路由器充當(dāng)了一個(gè)反向代理的作用,他保護(hù)了內(nèi)網(wǎng)中主機(jī)的安全。

二、什么是端口轉(zhuǎn)發(fā)

   端口轉(zhuǎn)發(fā):端口轉(zhuǎn)發(fā)(Port forwarding),有時(shí)被叫做隧道,是安全殼(SSH) 為網(wǎng)絡(luò)安全通信使用的一種方法。

   比如,我們現(xiàn)在在內(nèi)網(wǎng)中,是沒有辦法直接訪問外網(wǎng)的。但是我們可以通過(guò)路由器的NAT方式訪問外網(wǎng)。假如我們內(nèi)網(wǎng)現(xiàn)在有100臺(tái)主機(jī),那么我們現(xiàn)在都是通過(guò)路由器的這一個(gè)公網(wǎng)IP和外網(wǎng)通信的。那么,當(dāng)互聯(lián)網(wǎng)上的消息發(fā)送回來(lái)時(shí),路由器是怎么知道這個(gè)消息是給他的,而另外消息是給你的呢?這就要我們的ip地址和路由器的端口進(jìn)行綁定了,這時(shí),在路由器中就會(huì)有一個(gè)內(nèi)網(wǎng)ip和路由器端口對(duì)應(yīng)的一張表。當(dāng)路由器的10000端口收到消息時(shí),就知道把消息發(fā)送給他,而當(dāng)20000端口收到消息時(shí),就知道把消息發(fā)送給你。這就是端口轉(zhuǎn)發(fā)。


三、端口映射與端口轉(zhuǎn)發(fā)的區(qū)別

   端口轉(zhuǎn)發(fā):轉(zhuǎn)發(fā)的重點(diǎn)在“轉(zhuǎn)”上面。送快遞的過(guò)來(lái),把所有快遞都交給門口保安,保安再根據(jù)每件快遞上的收件人來(lái)分發(fā)。

   端口映射:就是在大門口給每個(gè)人裝個(gè)柜子,送快遞的直接按收件人名字,把快遞放到對(duì)應(yīng)的柜子里面。


四、如何實(shí)現(xiàn)端口映射?實(shí)現(xiàn)外網(wǎng)訪問本地服務(wù)器

   映射實(shí)現(xiàn)外網(wǎng)訪問本地服務(wù)器,當(dāng)你的內(nèi)網(wǎng)的內(nèi)容需要外網(wǎng)的用戶進(jìn)行訪問時(shí),可以進(jìn)行端口映射。

  1. 確認(rèn)服務(wù)器搭建成功

    設(shè)置虛擬服務(wù)器之前,需要確認(rèn)以下幾點(diǎn):

  2. 教你路由器端口映射設(shè)置方法
  3. 添加虛擬服務(wù)器規(guī)則

    開始設(shè)置

    登錄路由器管理界面,進(jìn)入 轉(zhuǎn)發(fā)規(guī)則 >> 虛擬服務(wù)器,并點(diǎn)擊 添加新條目。

    教你路由器端口映射設(shè)置方法
  4. 添加郵件服務(wù)器規(guī)則

    填寫郵件服務(wù)器的服務(wù)端口號(hào)(外開放端口)、內(nèi)部端口號(hào)(服務(wù)器實(shí)際端口)、服務(wù)器IP地址,然后點(diǎn)擊 保存。

    發(fā)送郵件(SMTP:25號(hào)端口):

    教你路由器端口映射設(shè)置方法
  5. 接收郵件(POP3:110號(hào)端口):

    教你路由器端口映射設(shè)置方法
  6. 服務(wù)端口號(hào):服務(wù)端口號(hào)為對(duì)外開放端口,即Internet訪問服務(wù)器使用的端口。

    添加網(wǎng)頁(yè)服務(wù)器規(guī)則

    教你路由器端口映射設(shè)置方法

    注意:服務(wù)端口號(hào)可以根據(jù)需要自行設(shè)置(如需更改,建議設(shè)置為9000以上)。無(wú)特殊需求,請(qǐng)將服務(wù)端口號(hào)與內(nèi)部端口號(hào)一致。

  7. 確認(rèn)規(guī)則啟用

    進(jìn)入 轉(zhuǎn)發(fā)規(guī)則 >> 虛擬服務(wù)器,如圖所示表示創(chuàng)建成功。

    教你路由器端口映射設(shè)置方法

    確認(rèn)虛擬服務(wù)器設(shè)置成功

  8. 根據(jù)以上設(shè)置,Internet中的客戶端通過(guò)郵件客戶端軟件訪問121.202.33.100(WAN口IP地址),即可訪問到郵件服務(wù)器。通過(guò)瀏覽器訪問網(wǎng)頁(yè)服務(wù)器,訪問形式如下:


    教你路由器端口映射設(shè)置方法

上述方法僅供大家參考,一般來(lái)說(shuō),路由器中都會(huì)有設(shè)置端口映射的說(shuō)明,大家按照說(shuō)明操作即可。


五、路由器在網(wǎng)關(guān)中設(shè)置了端口映射,但外網(wǎng)訪問不了的原因

1、首先檢查您設(shè)置的端口映射是否正確映射到您內(nèi)網(wǎng)的服務(wù)器。即您設(shè)置的轉(zhuǎn)發(fā)規(guī)則的IP地址是否為您服務(wù)器的IP地址。


2、無(wú)法訪問內(nèi)網(wǎng)的服務(wù)器,請(qǐng)檢查服務(wù)器是否開啟了。您可以在局域網(wǎng)內(nèi)使用其他的計(jì)算機(jī)訪問一下您的服務(wù)器,確認(rèn)服務(wù)器是否開啟,并能成功訪問。


3、請(qǐng)您檢查您是否映射了服務(wù)器所需的所有端口,有可能沒有完全設(shè)置訪問服務(wù)器所需的端口,導(dǎo)致訪問失敗。您可以通過(guò)開啟“DMZ主機(jī)”來(lái)檢測(cè)一下,是否端口沒有映射完全。若開啟DMZ主機(jī)后,能正常訪問服務(wù)器,則可能是端口添加不完全。


4、網(wǎng)關(guān)上是否設(shè)置了“防火墻”,是否將服務(wù)器通信的端口過(guò)濾,導(dǎo)致訪問失敗。


5、本機(jī)防火墻:因本地網(wǎng)絡(luò)為信任區(qū)域,防火墻并不會(huì)阻止本地網(wǎng)絡(luò)的訪問,若訪問源地址為外網(wǎng)地址(非信任區(qū)域地址),則可能會(huì)被防火墻攔截而無(wú)法訪問。


6、服務(wù)商將相應(yīng)端口屏蔽:在網(wǎng)關(guān)WAN口接一臺(tái)電腦模擬內(nèi)外網(wǎng)環(huán)境,若WAN口所接電腦可以正常訪問內(nèi)網(wǎng)服務(wù)器,但在Internet上無(wú)法訪問,則可能是服務(wù)器將相應(yīng)端口屏蔽導(dǎo)致虛擬服務(wù)器無(wú)法訪問;
最后補(bǔ)充下:
①、若是80端口的WEB服務(wù)器,一定要注意網(wǎng)關(guān)的管理端口是否更改,否則兩者會(huì)沖突;
②、檢查虛擬服務(wù)器是否映射成功一定要從外網(wǎng)進(jìn)行訪問,不要從內(nèi)網(wǎng)用WAN口IP去訪問,這樣在測(cè)試的時(shí)候是成功的,但實(shí)際外網(wǎng)并不能成功訪問。
③、特殊的服務(wù)器,如網(wǎng)絡(luò)攝像機(jī)及特殊的應(yīng)用軟件等,如果客戶自己都不清楚通訊的端口,可先嘗試DMZ主機(jī)以確認(rèn)是否可以使用,同時(shí)建議客戶咨詢軟件提供商。