隔着外網訪問家里的電腦


今天逛論壇的時候偶然間看到了電信用戶可以輕松獲得公網IP的一條內容,於是看了下自己的(本人用電信)路由器ip,驚喜的發現竟然是公網ip…之前都沒有注意到….

有了公網IP,就可以做一些好玩的事了。最直接的就是可以把自己的主機當服務器來用了,省去了購買VPS的費用,在公司或者其他地方也可以連到家里的主機,傳東西什么的也很方便…

判斷是否是公網IP

首先要判斷運營商分配給自己的IP是否是公網IP,如果沒有公網IP,一切都是白搭…移動和聯通的不太清楚,電信用戶是可以直接獲取到公網IP的。

我的路由器是TP-LINK,在電腦地址欄輸入路由器地址192.168.1.1,進入路由器web界面

在路由設置->上網設置界面,可以看到WAN口的IP地址。

隔着外網訪問家里的電腦隔着外網訪問家里的電腦

此時,打開http://www.ip138.com,查詢一下外網IP。

隔着外網訪問家里的電腦隔着外網訪問家里的電腦

如果路由器WAN口的IP地址和查到的外網IP地址相同,可以確定這個ip地址就是運營商分配給你的公網IP,可以拿來使用。

PS:我們在自己的機器上用ipconfig查詢得到的IP地址,往往是路由器分配給我們主機的私有IP地址,有以下幾類:

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255

這樣的IP地址是屬於本地局域網的,因特網中的所有路由器,對於目的地址是上面幾類的數據報一律不進行轉發。所以,因特網上的機器是無法訪問我們的主機的。

當然,如果你沒有使用路由器,而是直接把應當插在路由器WAN口的網線插在電腦上的話,ping出來的地址就直接就是公網IP…

動態域名解析

實際上,運營商每次分配給我們的公網IP是不一樣的,都是從IP池里隨機取的。可以重啟路由器觀察一下,每當你重啟一次路由器之后,公網IP就會切換。
這樣就會造成一個問題:假如我們要通過公網IP來訪問我們在家里的主機,但是這個IP不是固定的,隨時有可能切換,我們不可能在他切換的時候感知到(其實是可以的),即使可以,每次還要確認這個公網IP,是不是太low了?

這就需要動態域名解析來解決。簡單來說就是將這些公網IP映射到一個域名上,無論IP怎么切換,我們只要通過這個域名就能得到IP,並進行訪問,至於域名和動態IP怎么映射,我們不必關心,只要記住這個域名就好了。

TP-LINK本身有自己動態域名解析服務,還支持花生殼的動態域名解析服務。在路由器應用管理->DDNS 界面可以選擇動態域名解析服務提供方,以及免費域名。我這里就選擇了TP-LINK的域名解析服務,簡單快捷。

隔着外網訪問家里的電腦隔着外網訪問家里的電腦

填寫好域名信息並保存之后,打開控制台,ping一下這個域名。如果ping返回的響應結果ip地址就是我們的公網IP,那么動態域名配置成功。

端口映射

試想一下,連接到路由器上的設備往往不止一個,有電腦,平板,手機…路由器會為每個設備分配一個私有地址,而這些設備共享一個公網IP,大家輪換使用(NAT映射)。那么,我們要從外網訪問家里的主機時,只有公網IP,如何在這眾多的設備中選擇出我們的主機呢?

端口映射解決了這個問題。先看看怎么配置端口映射。在應用管理->虛擬服務器 中添加一行映射。

隔着外網訪問家里的電腦隔着外網訪問家里的電腦

上圖中,外部端口是在外網訪問我們局域網主機提供的服務時指定的端口,內部端口是局域網主機提供服務的真實端口,IP地址是要訪問的局域網主機的私有IP地址,可以通過ipconfig獲得,協議類型是傳輸層協議,一般選ALL即可。

舉個例子,我們想要訪問局域網主機的ssh服務,ssh:yukai@debiao.tpddns.cn:8888, 8888是外部端口,路由器拿到這個端口,去查端口映射表,將請求轉發到192.168.1.105的22端口,也就是內部端口,也是我們主機ssh服務的端口。這樣便完成了外網與局域網主機的通信。

還有一個問題,如果路由器采用DHCP的方式為局域網內的設備分配私有IP,那么這個IP往往是有時效性的,這一次你的主機是192.168.1.105,說不定過一會就自動切換到其他IP了。這樣的話對我們的端口映射會有影響。可以修改路由器設置,為局域網主機分配固定的私有IP地址。

進入應用管理-IP與MAC綁定,在IP與MAC映射表中,選擇要綁定的IP與主機。主機的mac地址可以使用ipconfig查詢。

隔着外網訪問家里的電腦隔着外網訪問家里的電腦
效果
隔着外網訪問家里的電腦隔着外網訪問家里的電腦

上圖是在自己的電腦上開了一個web服務,可以看到,通過域名+端口可以訪問到自己主機提供的這個服務。

隔着外網訪問家里的電腦隔着外網訪問家里的電腦

ssh的22端口映射一到8888,在外網通過域名+端口8888可以連接到主機的ssh。

最后

計划買個樹莓派研究研究,在上面搭建博客或者爬蟲什么的,通過上面的設置就可以直接訪問樹莓派啦~~美滋滋


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM