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