有很多道友說,很難獲取公網(wǎng) IPv4,可能每個地方政策不同,運營商不同,政策也不同,因此如果確實有需要的話,可以更換運營商,或者使用 IPv6(這個一般運營商都會給,如果沒有,可以打客服問問)。
但是也有道友說 IPv6 現(xiàn)在不少路由器可能不支持,這樣連接路由器可能訪問不了家里的服務(wù)器。但是我們可以用手機(jī)熱點(電腦連接手機(jī)熱點)解決,現(xiàn)在手機(jī)一般除了分配IPv4,也會有 IPv6 地址,只要流量夠多,自用的話,完全夠用了。
那么公網(wǎng)IP(v4 or v6)有了,又該如何訪問呢? 因為光貓設(shè)置了橋接,因此必須使用寬帶的賬號和密碼進(jìn)行撥號上網(wǎng)。 一般的路由器都有這個功能,自己上網(wǎng)搜一搜就行。
(圖片來源網(wǎng)絡(luò))
寬帶賬號和密碼就是入網(wǎng)通行證,有了這個,運營商才會認(rèn)可你,允許你聯(lián)網(wǎng),因此必須設(shè)置。
設(shè)置完成后,正常情況下就應(yīng)該能夠連接路由器上網(wǎng)了,不行的話,重啟路由器試試。
現(xiàn)在網(wǎng)絡(luò)的掌控權(quán)已經(jīng)算是掌握在我們自己手里了,可以為所欲為了。
如何將自己的服務(wù)器(電腦、樹莓派等聯(lián)網(wǎng)設(shè)備)暴露到互聯(lián)網(wǎng)呢?即別人可以像訪問百度一樣訪問你的服務(wù)器。
最簡單方法:DMZ 主機(jī)
如果你的路由器支持 DMZ 主機(jī),直接開啟這個,就可以免去一大堆設(shè)置。
1、在路由器上設(shè)置服務(wù)器固定 IP
讓你的服務(wù)器固定局域網(wǎng)的 IP,這樣重啟后,服務(wù)器的 IP 地址就不會變化了(通過 MAC 綁定)。
2、設(shè)置服務(wù)器 IP 地址
在 DMZ 主機(jī)界面,設(shè)置服務(wù)器的固定 IP,比如192.168.1.100。
(圖片來源于網(wǎng)絡(luò))
如此一來,你就可以直接通過公網(wǎng)ip ping 通家里的服務(wù)器了。
比如可以手機(jī)關(guān)閉wifi,然后使用自身網(wǎng)絡(luò)訪問 ping 公網(wǎng)ip(事實上,沒有接服務(wù)器也能 ping 通,tp-link測試是這樣的)。
這樣所有從外部訪問公網(wǎng) ip 的流量都自動到了192.168.1.100這個服務(wù)器中,這就是 DMZ 主機(jī)的作用。
此時你可以通過手機(jī) ssh 登錄家里的服務(wù)器(建議使用樹莓派測試,沒有防火墻限制,配置簡單,功耗也很低)。
注意先在內(nèi)網(wǎng)測試 ssh 登錄沒有問題,再嘗試使用 公網(wǎng) ip 登錄。
比如sshpi@172.70.214.xx, 正常情況下,不管在內(nèi)網(wǎng)還是外網(wǎng),都可以正常登錄。
端口轉(zhuǎn)發(fā)
上面的方法,將服務(wù)器的所有端口都開放了,比如外部訪問的 2080 端口對應(yīng)服務(wù)器的 2080 端口,一一映射,可能不是很安全(注意,有些端口是從運營商的層面禁用了,因此怎么樣都是無法訪問的)。
因此我們可以放棄開啟 DMZ,轉(zhuǎn)而使用端口進(jìn)行轉(zhuǎn)發(fā)。
(圖片來源于網(wǎng)絡(luò))
比如外部端口 10000,內(nèi)部端口 2000,IP 地址 192.168.1.100。
那么你可以通過內(nèi)網(wǎng)訪問192.168.1.100:2000,進(jìn)而訪問服務(wù)的 2000端口,如果這個端口是網(wǎng)頁,那么可以在瀏覽器輸入上面的信息訪問。
而如果使用公網(wǎng) IP,也是類似的,不過端口變成10000,如172.70.214.xx:10000 就能訪問家里的資源了(用手機(jī)訪問)。
如目前魚鷹老家的樹莓派,安裝了 Nginx 服務(wù),端口號 20081,在瀏覽器上就能看到魚鷹存放的一些測試文件了(后面有機(jī)會分享這個)。
(后面準(zhǔn)備有時間,把分享的公眾號資源放在這里,方便大家下載,云盤速度實在太慢了,但前提是先把樹莓派的安全問題搞定,不然被黑客黑了就得不償失了)。
ssh 登錄默認(rèn)端口是 22(考慮到安全問題,可以換一個),因此這個映射一定要有,否則你在外面就登錄不了服務(wù)器了。
怎么像訪問百度一樣訪問服務(wù)器呢
回到今天的主題,如何像上面圖片一樣,能隨時隨地訪問呢?答案是 DDNS。
有點網(wǎng)絡(luò)常識的都知道,網(wǎng)絡(luò)是通過 IP地址互聯(lián)的,但是我們ip地址不容易記住,因此有了域名,這樣我們可以通過域名來間接得到 IP ,從而訪問。
這里需要 DNS 服務(wù)來得到我們需要的 IP,比如,我們訪問 www.baidu.com,電腦其實也不知道它對應(yīng)的 IP,但是它可以一級一級往上查,從而得到它的 IP 地址:
可以看到,百度的 IP 是39.156.66.10
但是這種 IP 一般是固定的,DNS 服務(wù)器有存檔(就算IP改變了,也會更新),而我們家里的寬帶雖然申請了公網(wǎng) IP,但它是動態(tài)的,可能隔一段時間或重啟,IP 就變了。
此時我們可以通過郵箱或者其他方式告訴我們公網(wǎng) IP,通過 IP 訪問。但這種方式顯然很麻煩。
因此我們可以使用 DDNS 服務(wù)。
然后在樹莓派中定時通過腳本定時更新公網(wǎng) IP 到服務(wù)器中。
這樣你訪問域名xxx.f3322.net 時候,就可以通過公云的 DDNS 服務(wù)得到你家里的 IP 地址了。
審核編輯:劉清
-
路由器
+關(guān)注
關(guān)注
22文章
3707瀏覽量
113543 -
IPv6
+關(guān)注
關(guān)注
6文章
682瀏覽量
59327 -
Mac
+關(guān)注
關(guān)注
0文章
1099瀏覽量
51371 -
DMZ
+關(guān)注
關(guān)注
0文章
4瀏覽量
6754
原文標(biāo)題:如何像訪問百度一樣訪問家里的服務(wù)器?(三)
文章出處:【微信號:emOsprey,微信公眾號:魚鷹談單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論