一、什么是端口映射
端口映射:端口映射就是將內(nèi)網(wǎng)中的主機的一個端口映射到外網(wǎng)主機的一個端口,提供相應(yīng)的服務(wù)。當用戶訪問外網(wǎng)IP的這個端口時,服務(wù)器自動將請求映射到對應(yīng)局域網(wǎng)內(nèi)部的機器上。
比如:
我們在內(nèi)網(wǎng)中有一臺Web服務(wù)器,但是外網(wǎng)中的用戶是沒有辦法直接訪問該服務(wù)器的。于是我們可以在路由器上設(shè)置一個端口映射,只要外網(wǎng)用戶訪問路由器ip的80端口,那么路由器會把自動把流量轉(zhuǎn)到內(nèi)網(wǎng)Web服務(wù)器的80端口上。并且,在路由器上還存在一個Session,當內(nèi)網(wǎng)服務(wù)器返回數(shù)據(jù)給路由器時,路由器能準確的將消息發(fā)送給外網(wǎng)請求用戶的主機。在這過程中,路由器充當了一個反向代理的作用,他保護了內(nèi)網(wǎng)中主機的安全。
二、什么是端口轉(zhuǎn)發(fā)
端口轉(zhuǎn)發(fā):端口轉(zhuǎn)發(fā)(Port forwarding),有時被叫做隧道,是安全殼(SSH) 為網(wǎng)絡(luò)安全通信使用的一種方法。
比如,我們現(xiàn)在在內(nèi)網(wǎng)中,是沒有辦法直接訪問外網(wǎng)的。但是我們可以通過路由器的NAT方式訪問外網(wǎng)。假如我們內(nèi)網(wǎng)現(xiàn)在有100臺主機,那么我們現(xiàn)在都是通過路由器的這一個公網(wǎng)IP和外網(wǎng)通信的。那么,當互聯(lián)網(wǎng)上的消息發(fā)送回來時,路由器是怎么知道這個消息是給他的,而另外消息是給你的呢?這就要我們的ip地址和路由器的端口進行綁定了,這時,在路由器中就會有一個內(nèi)網(wǎng)ip和路由器端口對應(yīng)的一張表。當路由器的10000端口收到消息時,就知道把消息發(fā)送給他,而當20000端口收到消息時,就知道把消息發(fā)送給你。這就是端口轉(zhuǎn)發(fā)。
三、端口映射與端口轉(zhuǎn)發(fā)的區(qū)別
端口轉(zhuǎn)發(fā):轉(zhuǎn)發(fā)的重點在“轉(zhuǎn)”上面。送快遞的過來,把所有快遞都交給門口保安,保安再根據(jù)每件快遞上的收件人來分發(fā)。
端口映射:就是在大門口給每個人裝個柜子,送快遞的直接按收件人名字,把快遞放到對應(yīng)的柜子里面。
四、如何實現(xiàn)端口映射?實現(xiàn)外網(wǎng)訪問本地服務(wù)器
映射實現(xiàn)外網(wǎng)訪問本地服務(wù)器,當你的內(nèi)網(wǎng)的內(nèi)容需要外網(wǎng)的用戶進行訪問時,可以進行端口映射。
-
確認服務(wù)器搭建成功
設(shè)置虛擬服務(wù)器之前,需要確認以下幾點:
-
添加虛擬服務(wù)器規(guī)則
開始設(shè)置
登錄路由器管理界面,進入 轉(zhuǎn)發(fā)規(guī)則 >> 虛擬服務(wù)器,并點擊 添加新條目。
-
添加郵件服務(wù)器規(guī)則
填寫郵件服務(wù)器的服務(wù)端口號(外開放端口)、內(nèi)部端口號(服務(wù)器實際端口)、服務(wù)器IP地址,然后點擊 保存。
發(fā)送郵件(SMTP:25號端口):
-
接收郵件(POP3:110號端口):
-
服務(wù)端口號:服務(wù)端口號為對外開放端口,即Internet訪問服務(wù)器使用的端口。
添加網(wǎng)頁服務(wù)器規(guī)則
注意:服務(wù)端口號可以根據(jù)需要自行設(shè)置(如需更改,建議設(shè)置為9000以上)。無特殊需求,請將服務(wù)端口號與內(nèi)部端口號一致。
-
確認規(guī)則啟用
進入 轉(zhuǎn)發(fā)規(guī)則 >> 虛擬服務(wù)器,如圖所示表示創(chuàng)建成功。
確認虛擬服務(wù)器設(shè)置成功
-
根據(jù)以上設(shè)置,Internet中的客戶端通過郵件客戶端軟件訪問121.202.33.100(WAN口IP地址),即可訪問到郵件服務(wù)器。通過瀏覽器訪問網(wǎng)頁服務(wù)器,訪問形式如下:
上述方法僅供大家參考,一般來說,路由器中都會有設(shè)置端口映射的說明,大家按照說明操作即可。
五、路由器在網(wǎng)關(guān)中設(shè)置了端口映射,但外網(wǎng)訪問不了的原因
1、首先檢查您設(shè)置的端口映射是否正確映射到您內(nèi)網(wǎng)的服務(wù)器。即您設(shè)置的轉(zhuǎn)發(fā)規(guī)則的IP地址是否為您服務(wù)器的IP地址。
2、無法訪問內(nèi)網(wǎng)的服務(wù)器,請檢查服務(wù)器是否開啟了。您可以在局域網(wǎng)內(nèi)使用其他的計算機訪問一下您的服務(wù)器,確認服務(wù)器是否開啟,并能成功訪問。
3、請您檢查您是否映射了服務(wù)器所需的所有端口,有可能沒有完全設(shè)置訪問服務(wù)器所需的端口,導(dǎo)致訪問失敗。您可以通過開啟“DMZ主機”來檢測一下,是否端口沒有映射完全。若開啟DMZ主機后,能正常訪問服務(wù)器,則可能是端口添加不完全。
4、網(wǎng)關(guān)上是否設(shè)置了“防火墻”,是否將服務(wù)器通信的端口過濾,導(dǎo)致訪問失敗。
5、本機防火墻:因本地網(wǎng)絡(luò)為信任區(qū)域,防火墻并不會阻止本地網(wǎng)絡(luò)的訪問,若訪問源地址為外網(wǎng)地址(非信任區(qū)域地址),則可能會被防火墻攔截而無法訪問。
6、服務(wù)商將相應(yīng)端口屏蔽:在網(wǎng)關(guān)WAN口接一臺電腦模擬內(nèi)外網(wǎng)環(huán)境,若WAN口所接電腦可以正常訪問內(nèi)網(wǎng)服務(wù)器,但在Internet上無法訪問,則可能是服務(wù)器將相應(yīng)端口屏蔽導(dǎo)致虛擬服務(wù)器無法訪問;
最后補充下:
①、若是80端口的WEB服務(wù)器,一定要注意網(wǎng)關(guān)的管理端口是否更改,否則兩者會沖突;
②、檢查虛擬服務(wù)器是否映射成功一定要從外網(wǎng)進行訪問,不要從內(nèi)網(wǎng)用WAN口IP去訪問,這樣在測試的時候是成功的,但實際外網(wǎng)并不能成功訪問。
③、特殊的服務(wù)器,如網(wǎng)絡(luò)攝像機及特殊的應(yīng)用軟件等,如果客戶自己都不清楚通訊的端口,可先嘗試DMZ主機以確認是否可以使用,同時建議客戶咨詢軟件提供商。