家里寬帶搞個服務器,YYDS(一)
18 年家里弄了一根光纖,算是和全世界連通了。
不過一直以來也只是家里手機上個網,看個監控,并沒有很好的利用上。
最近研究一款無線調試器,需要一個服務器。
購買云服務器也是一個不錯的選擇,不過魚鷹不想每年花那冤枉錢,畢竟魚鷹所需的服務器性能不需要多好,夠用就行。
剛好最近公司項目上也在研究網絡相關的問題,對網絡的認識比以前強多了,覺得可以把家里的寬帶改裝一下,弄個服務器玩一玩,這樣就可以隨時隨地連接家里的服務器了(比如云盤)。
登錄老家的樹莓派:
文件傳輸 SCP(速度比較慢,1 MB左右,不知道有沒有更快的傳輸方式,Samba只能用于局域網,公網配置比較復雜):
于是在五一之前,看了大量的內網穿透、點對點通信相關的知識。
原來因為種種考慮(ip資源、安全),導致我們的網絡環境變得很復雜(對外上網還是比較簡單的,但是要找局域網下的設備很難)。
比如我們手機的 ip 也是局域網下的局部 ip,你想通過手機 ping 通另一個遠方的手機,基本不可能(蘋果手機可以安裝 iNetTools App 進行 ping 操作)。
而家里的寬帶也基本都是內網下的 ip,和家里的 WiFi 類似,不過運營商(電信、聯通、移動)的內網范圍更大、可接入的設備更多。
大概拓撲如圖:
因此,如果我們要讓家里的服務器擁有公網 IP,需要打通以下鏈路:
1、公網 IP 直接分配給家里的光貓,而不是使用運營商局域網的 IP 地址。
2、現在的光貓一般同時擁有光電轉換和路由、WiFi功能,但是路由和WiFi能力有限,很多時候修改起來也不方便,因此需要讓公網 IP 直接到自己購買的路由器中,比如 TP-Link,這樣進行內網穿透就很方便了。
3、路由器到服務器應該是固定 IP,這樣在外通過公網 IP 就可以訪問固定 IP,也就可以直接登錄家里的服務器。
4、運營商提供的 IP 也不是固定的,隔一段時間或者重啟光貓,就會更新 IP,而我們在外肯定比較難獲取到家里的公網,因此需要一個機制讓我們隨時得到公網 IP。
新的網絡拓撲如下:
首先需要查看自己的光貓的 IP 地址是否公網 IP。
登錄光貓后臺,查看 IP,地址如下為局域網 IP:
10.0.0.0 到 10.255.255.255192.168.0.0 到 192.168.255.255172.16.0.0 到 172.31.255.255
也可以手機連接家里的路由器進入 http://www.ip138.com,查看這里顯示的 IP 和光貓是否一致,一致說明是公網 IP(一般都不一致,如果一致,那么恭喜你)。
可能老家是農村的,打個電信的電話,就可以很方便的將光貓的 IP 地址改為公網(這個 IP 也是動態的),這樣就解決了第一個問題,同時可以讓客服將光貓遠程修改為橋接方式,這樣公網 IP 就到了自己買的路由器里面,而光貓只進行光電轉換。
不過改成橋接時,需要在我們購買的路由器(比如 TP-Link)里面進行撥號上網,因此需要通過客服獲取到寬帶的賬號和密碼。
如果能通過電話或 App 中的在線客服解決(光貓分配公網 IP、光貓設置橋接、獲取撥號上網賬號和密碼),那是最方便的,不需要自己修改光貓。如果不行,那就需要特殊手段自己弄了,前提是一定要有公網的 IP,否則一切白搭。
要修改光貓為橋接,需要登錄光貓超級管理賬號才行,每家光貓超級賬號、密碼都不同,自己上網找方法。我家的是電信的,很多方法,下篇筆記會介紹這些方法。
然后就是獲取寬帶賬號和密碼,這樣你的TP-Link才可以進行撥號上網(就是將光貓撥號上網的功能轉移到路由器了)。
通過在路由器上設置,可以固定某個設備 IP 地址,比如把我買的樹莓派固定 IP 地址為 192.168.1.2。
同時在TP-link設置這個 IP 為 DMZ 主機(當然也可以通過端口轉發, 這樣安全性更高,但是 DMZ 主機設置比較簡單)。
這樣我的樹莓派就可以通過公網 IP 直接訪問了。
可以通過手機(不接 WiFi)測試一下是否能 ping 通路由器的公網 IP(即使樹莓派沒接,也可ping通)。
最后就是如何讓我們遠在天涯也能知道這個公網 IP,從而訪問服務器了。
這里需要使用 DDNS,通過域名來得到 IP,進而訪問服務器。
這里魚鷹用的公云的免費 ddns 功能。通過注冊就可以使用這個功能。
比如我通過 ping embedded.f3322.net 就可以 ping 通我家里的服務器,這樣基礎功能就算完成了。
限于篇幅原因,這些實現細節魚鷹會在后面的筆記中詳細介紹,歡迎大家持續關注。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。