1、什么是端口映射
這里說的端口映射是路由器上的端口映射。一般情況下,網(wǎng)絡(luò)中路由器都有防火墻功能,互聯(lián)網(wǎng)用戶只能訪問到你的路由器WAN口(接ADSL線口或是固定的外網(wǎng)IP地址),而訪問不了局域內(nèi)部服務(wù)器或工作站。要想讓外面用戶訪問到局域網(wǎng)的電腦,那么就要在路由器上做一個(gè)轉(zhuǎn)發(fā)設(shè)置,也就是端口映射設(shè)置,讓用戶的請求到了路由器后,能夠轉(zhuǎn)發(fā)到局域內(nèi)部的機(jī)器上,例如游戲服務(wù)器或WEB服務(wù)器。這就是端口映射。
例如,在局域網(wǎng)中建建立一個(gè)web服務(wù)器,IP地址為:192.168.1.3,端口為80,此時(shí)在局域內(nèi)部,只要在瀏覽器輸入 http://192.168.1.3,就能打你web網(wǎng)站的內(nèi)容,但如果要在因特網(wǎng)上訪問此web服務(wù)器,打入http://192.168.1.3這個(gè)局域網(wǎng)內(nèi)網(wǎng)IP,肯定是訪問不了的。當(dāng)需要在外網(wǎng)訪問這臺服務(wù)器時(shí),就要就192.168.1.3這臺機(jī)器的80端口通過路由器映射到外網(wǎng)。除了web服務(wù)外,其它的服務(wù)例如FTP、遠(yuǎn)程桌面等服務(wù)都可以將不同的端口映射出去,以便能在外網(wǎng)通過路由器來訪問內(nèi)網(wǎng)機(jī)器。一般的路由器都帶有端口映射功能,以下對目前使較多的ROS軟路由的端口映射作一說明,并提出解決外網(wǎng)IP顯示及回流設(shè)置。
2、ROS 2.96 的端口映射的設(shè)置
進(jìn)入winbox,點(diǎn)擊IP→ Firewall→Nat打開防火墻設(shè)置界面。點(diǎn)擊左上角紅色的“+”號,添加一條dstnat規(guī)則,其中dst.address 填寫你要映射的外網(wǎng)IP,本例為218.87.96.xxx(此處請?zhí)钊肽耐饩W(wǎng)IP),然后選擇protocol協(xié)議為6,即TCP協(xié)議,設(shè)置Dst. port(目標(biāo)端口)為80。設(shè)置完成后如圖1所示。
單擊“Action”選項(xiàng)卡,在Action框中,選擇“dst-nat” ,在“To.Address”框中填寫內(nèi)網(wǎng)提供服務(wù)的IP地址,本例為192.168.1.3,在“To.Port”填寫內(nèi)網(wǎng)提供服務(wù)的IP端口,這樣基本映射就完成了,如圖2所示,此時(shí)可以在外網(wǎng)中輸入你的外網(wǎng)IP,即可看到內(nèi)網(wǎng)192.168.1.3WEB服務(wù)器上的網(wǎng)站了。以同樣的方法可以設(shè)置FTP和遠(yuǎn)程桌面。注意這些服務(wù)的端口都是不一樣的,例如你有兩臺內(nèi)網(wǎng)WEB服務(wù)器,80端口已經(jīng)用掉了,第二臺便來能映射到80上了,但可以映射到其它沒有使用過的端口上,例如81端口。例如可以將內(nèi)網(wǎng)192.168.1.4:80映射到外網(wǎng)218.87.96.xxx:81端口上。這樣就能在同一個(gè)外網(wǎng)IP訪問兩臺內(nèi)網(wǎng)WEB服務(wù)器了。
3、IP顯示和回流問題解決
經(jīng)過第二步的基本端口映射設(shè)置后,外部可以訪問內(nèi)網(wǎng)了,但存在一些不完善的地方,例如所有的外網(wǎng)訪客的地址都是路由器的內(nèi)網(wǎng)網(wǎng)關(guān),本例為192.168.1.1,如圖3所示。這樣就無法統(tǒng)計(jì)訪客的來源,還有許多的不便,例如WEB中的論壇就無法屏蔽一些會員的IP了,因?yàn)榇蠹叶际?92.168.1.1。