用小米路由器輕松實現內網穿透

當我嘗試在傢搭建私人網盤nextcloud時,遇到一個難題:如何隨時隨地訪問傢裡的服務器 ?業界有幾種解決方案:

option1: 租用公網服務器,把應用部署在公網服務器上。優點:安全穩定,不需要維護設備;缺點:需要定期支付租賃費用。

option2: 應用部署在傢用服務器上,用“內網穿透”訪問傢庭網絡。優點:硬件、數據在自己手裡,免租賃費用,一次付出永久回報;缺點:需要自己做設備維護,網絡安全,數據安全,有技術門檻。

我嘗試過兩種方案,出於成本考慮我選擇性價比高的方案二,畢竟長期租用服務器價格不菲,並且帶寬越大費用也越高。本文是我個人的內網穿透經驗總結,供大傢參考。

1 前提

開始之前,請確認是否滿足下列條件,缺一不可。

  • 需要寬帶撥號賬號和密碼;
  • 需要確認寬帶使用公網IP;
  • 需要路由器有DDNS功能;
  • 需要獲取光貓超級權限。

1.1 需要寬帶撥號賬號和密碼

傢庭寬帶采用撥號上網,即PPPOE上網。通常寬帶上門安裝時,運營商工作人員會設置好光貓撥號上網,並提供用戶名密碼。如果不記得用戶名密碼,可撥打運營商熱線電話詢問。

1.2 確認寬帶是否有公網IP

電信寬帶往往會有動態公網IP(ipv4),而移動寬帶通常沒有動態公網IP,需要自己確認清楚。有一種方法可供確認:

1)查詢傢用網絡對外IP地址:

用小米路由器輕松實現內網穿透

IP地址查詢

2)登錄光貓查看WAN口IP地址:

以電信光貓為例,光貓背後往往有IP地址、賬號、密碼,如下圖:

用小米路由器輕松實現內網穿透

“光貓”銘牌

瀏覽器地址欄訪問192.168.1.1,使用賬號useradmin和密碼登錄,查詢WAN口IP地址。

如果上述兩個IP一致,表示傢用寬使有公網IP。否則,可以嘗試撥打運營商熱線電話要求提供動態公網IP。

1.3 確認路由器DDNS功能

我使用的是小米AC2100,登錄路由器管理地址選擇“高級設置”會看到“DDNS”,這表示路由器具有DDNS(動態域名服務)功能。

用小米路由器輕松實現內網穿透

小米路由器webUI

1.4 獲取光貓的超級權限

光貓銘牌上的useradmin不是超級賬號,telecomadmin才是超級賬號,這裡需要獲得telecomadmin賬號的密碼。由於我的光貓年代久遠(2015年),獲取密碼很簡單,可以參考豆瓣文章《烽火HG261GS破解超級用戶密碼》。其他型號如果百度不到就求助萬能的淘寶吧。

2 開始配置

2.1 配置光貓為橋接模式

瀏覽器登錄光貓IP 192.168.1.1,輸入超級賬號telecomadmin,以及密碼。

用小米路由器輕松實現內網穿透

光貓webUI

進入“網絡”——“寬帶設置”——“Internet連接”,連接名稱選擇“4_INETERNET_B_VID_41”,連接類型選擇“Bridge”,保存配置。註意,修改光貓配置會導致暫時斷網。

用小米路由器輕松實現內網穿透

光貓配置橋接模式

2.2 配置路由器PPOE上網

瀏覽器登錄小米路由器管理IP地址(我已改為192.168.0.1),“常用設置”——“上網設置”,上網方式改為“PPPoE”,輸入PPPoE撥號賬號和密碼,點擊“應用”。

用小米路由器輕松實現內網穿透

小米路由器webUI

用小米路由器輕松實現內網穿透

路由器設置PPPoE上網

查看“上網信息”——“外網狀態”出現“撥號成功”,即表示路由器撥號成功,網絡已恢復。做到這一步,表示內網穿透配置已完成瞭重要的一半。

用小米路由器輕松實現內網穿透

路由器撥號成功

2.3 申請免費域名

我使用“公雲(www.pubyun.com)”申請免費域名,註冊登錄後選擇“動態域名”——“創建域名”,輸入域名前綴,這裡就填你想要的域名名字;僅勾選.f3322.net這個免費域名後綴。

用小米路由器輕松實現內網穿透

pubyun申請免費域名

申請成功後通過“會員中心”可查看自己的域名:

用小米路由器輕松實現內網穿透

pubyun會員中心

2.4 配置路由器DDNS

瀏覽器登錄小米路由器管理IP地址(192.168.0.1),“常用設置”——“高級設置”——“DDNS”——“添加服務”。這裡的“服務提供商”可以自由選擇,因為我的免費域名是在“公雲”申請的,因此選擇“公雲”。當狀態顯示“連接成功”,表示DDNS配置成功。現在離內網穿透隻有一步之遙。

用小米路由器輕松實現內網穿透

DDNS配置

用小米路由器輕松實現內網穿透

DDNS配置成功

打開windows CMD輸入"ping 域名"測試域名解析,如果ping通,表示域名解析已生效,否則可以點擊“手動更新”。

用小米路由器輕松實現內網穿透

域名解析測試

2.5 配置端口轉發

瀏覽器登錄小米路由器管理IP地址(192.168.0.1),“常用設置”——“高級設置”——“端口轉發”——“添加規則”,配置你想暴露出去的【名稱、協議、外部端口、內部IP地址、內部端口】,除瞭80和443端口不能用,其他端口都可以配置。以我的配置test為例,協議選擇“TCP和UDP”,外部端口“8888”,內部IP地址為“windows本機IP”,內部端口“8888”。

用小米路由器輕松實現內網穿透

端口轉發配置

3 測試

3.1 啟動windows本地測試服務

我用瞭nodejs的一個簡單命令行http服務器http-server(需要安裝nodejs,http-server庫)做測試,服務器監聽本地IP地址192.168.0.81的8888端口,如下所示:

用小米路由器輕松實現內網穿透

啟動測試程序http-server

瀏覽器輸入http://192.168.0.81:8888測試http-server是否可訪問,出現下面界面表示訪問成功。

用小米路由器輕松實現內網穿透

http-server訪問測試

3.2 測試內網穿透

瀏覽器輸入“http://域名:8888”測試,出現下面界面表示內網穿透成功!打開手機瀏覽器(關閉wifi,避免連上傢裡的局域網)訪問“http://域名:8888”也能同樣出現下面界面!這就是內網穿透的魅力,即使不連接無線路由器,也能訪問傢裡的服務。

用小米路由器輕松實現內網穿透

內網穿透測試

這是我搭建的nextcloud網盤界面,已經可以通過“域名:端口”的形式訪問。

用小米路由器輕松實現內網穿透

內網穿透訪問nextcloud

4 結語

盡管內網穿透看起來很美好,但它仍然美中不足。最重要的一點是免費域名隻能通過http訪問,而不是https!http協議不會對數據進行加密,就好比你的數據在網絡上傳輸是毫無防備的。

隨時隨地訪問私人網盤(或NAS)隻是一種應用,內網穿透更像打開瞭一扇網絡大門,讓你有瞭更多的可能性。你可以在自己的服務器上部署各樣的應用,如同私人定制一樣。


關註我,訂閱更多有趣的更新。

創作者介紹
創作者 3C王者 的頭像
3C王者宇晨

3C王者

3C王者宇晨 發表在 痞客邦 留言(0) 人氣( 11 )