怎么讓內(nèi)網(wǎng)IP映射成外網(wǎng)IP?
如果單純回答如何“將內(nèi)網(wǎng)IP映射成外網(wǎng)IP”,那是非常簡單。
比方說,家里有一個IP = 192.168.1.1的電腦,你想將一個文件共享到互聯(lián)網(wǎng)上供別人下載,你的家庭路由器的外網(wǎng)接口IP = 1.1.1.1,你這樣這么做就可以了。
打開家庭路由器網(wǎng)頁管理界面,輸入以下配置:
其中,445端口為文件共享服務端口號。
當互聯(lián)網(wǎng)上用戶訪問你的共享文件時,他們獲知到達共享文件的傳輸信息是1.1.1.1:445(IP地址與端口號的縮寫),一旦他們的報文到達路由器,路由器查詢這個表,就會將IP報文中的1.1.1.1替換成192.168.1.1,然后將修改后的IP報文發(fā)送給192.168.1.1的電腦,并最終由445端口予以處理,這樣就實現(xiàn)了互聯(lián)網(wǎng)用戶訪問內(nèi)網(wǎng)的電腦。
授人以魚不如授人以漁
以上只是回答如何要做(What)?,但是并沒有回答為什么要那么做(Why)?
如果路由器上沒有這個映射條目,互聯(lián)網(wǎng)上的電腦就無法主動訪問192.168.1.1:445的服務了。一旦路由器從外網(wǎng)接口收到1.1.1.1:445的報文,查表之后發(fā)現(xiàn)沒有找到任何映射,路由器本身也不提供445文件共享服務,那就丟了。
不通過手工靜態(tài)的映射,你的電腦192.168.1.1能自動在路由器上添加這個映射嗎?
很難!
你的電腦處于被動(Passive)工作狀態(tài),被動等待互聯(lián)網(wǎng)上的用戶來訪問自己,自己卻不會主動發(fā)報文去聯(lián)系互聯(lián)網(wǎng)用戶,你的電腦不會在445端口上主動發(fā)任何報文。連報文都不發(fā),怎么觸發(fā)路由器添加映射條目呢?世上不會有場外的狀元!
即使服務器變被動為主動發(fā)報文,發(fā)給誰呢?互聯(lián)網(wǎng)那么大,用戶在哪里呢?不知道!
即使你的電腦主動向外網(wǎng)發(fā)報文,無法保證路由器使用什么端口來映射你的445端口,可能這次是1234,下次可能是2345,下下次可能是3456,但是無論怎么分配,就是不給你445端口。
而互聯(lián)網(wǎng)上的用戶卻默認使用1.1.1.1:445來訪問你,很顯然會查表失敗并丟棄,從而造成通信的障礙。