【部署】外網訪問家庭計算機( 內網穿透)

場景

很多時候需要通過遠程訪問來進行跨網絡跨機器。大部分的場景是訪問公司機器。這種一般比較容易實現,因爲公司都是固定ip,或者有vpn服務等等。實在不行也可以有teamviewer,anydesk,向日葵等工具來實現遠程操控。而其他小部分需求則是訪問家庭網絡的機器。

參考方案

常見的解決方案

諸如teamviewer,anydesk,向日葵等。這些方式都有相同的缺點,就是有點慢,畢竟需要通過第三方服務器中轉。傳輸帶寬也被限制住了。


端口映射

這是內網穿透的核心,重中之重。以下任何解決方案均離不開端口映射的設置。需要在路由器中配置端口映射信息。即外部端口與內部ip與端口組合的映射。如22222 -> 192.168.1.2:3389,這裏的3389是遠程桌面服務的端口,192.168.1.2是內網目標機器的ip,務必設置成固定ip,22222是外網端口。使用時,外部通過訪問IP:22222或者域名:22222即可映射至192.168.1.2:3389。所以這裏的ip或者域名是關鍵。

ddns

動態的域名解析。實現動態ip的域名綁定。這裏需要家庭網絡有一個公網ip。由於是運營商動態分配,經常變動,不固定。但在某個時間段內,如24或48小時內,是固定的。然後需要一臺支持ddns功能的路由器。操作思路就是,將自己家庭網絡的動態ip綁定到一個域名上。外部訪問只需要訪問這個域名,如abc.com即可。至於域名背後映射的ip則不用去操心,因爲都是動態綁定的。實現這種ddns其實也有兩種方法。

  1. 使用第三方的域名服務,如花生殼。在花生殼網上申請一個免費的殼域名,如huashengke.com。然後在自己的路由器中找到ddns設置的地方,輸入你在花生殼上註冊的賬號和密碼。這樣路由器就能使用這個賬號密碼,通過花生殼網站來映射(內部實現了動態ip與花生殼域名的綁定)。如下圖:
    .在這裏插入圖片描述
    這個方案方便的地方在於使用了第三方服務,動態ip綁定的操作可以不用操心。缺點也很明顯,會被花生殼限流,畢竟是免費服務。如果需要更高的帶寬,就得付費,或者換其他方案。
  2. 通過阿里雲等域名服務商,購買一個自己的域名。然後再域名服務裏,通過腳本定時刷新綁定ip。具體操作可以參考https://post.smzdm.com/p/636325/結尾處的方法。這裏稍微麻煩點的地方就是需要有一個定時的計劃任務,定時運行腳本向阿里雲更新本地ip到自己購買的域名。這個腳本可以運行在家庭網絡的任何一臺機器上,不必是那臺遠程目標機器。思路和方法1是一致的,只是動態ip綁定的操作需要我們自己完成,但也少了限流的操作。
    這個更新動態ip的腳本可以設置在家庭網絡的主機上,nas上,甚至是路由器上(需要破解路由,大多是路由是linux,這個操作有點騷,不太適合大部分人)。

直接獲取IP

看到這個你一定會覺得,這麼騷的操作怎麼可能,要是可以直接獲取,還有上面ddns什麼事。
一般來說直接獲取IP是不肯能的,尤其是這個IP是動態的,經常會變更。總不能每天離開家前都要查看記下來吧。
但是,現在的一些高級路由器是可以的。諸如華碩網件的高級路由器,諸如ac68u,ac86u,r8000這種規格的。原理是,需要你在華碩,網件或者路由器廠商註冊一個賬號,然後綁定路由器,這樣就可以通過公網查看和管理路由器狀態。小米也可以通過公網訪問家裏的路由器,但是目前沒有開通獲取路由器所在網絡的ip的功能。以我現在用的網件r8000示例。註冊好賬號密碼後,在路由器裏設置綁定。然後就可以在手機app”網件精靈“上登錄這個賬號。可以看到:

在這裏插入圖片描述
選擇遠程訪問裏的那個r8000路由器,就可以查看綁定好的路由器信息。進入界面後,選擇網絡地圖功能。打開後可以看到下圖的界面。點擊紅框的那個圖標,即可查看當前路由器所在網絡的ip。有了這個ip,就可以配合端口映射的設置信息,進行遠程訪問了。這樣就可以完全的繞過ddns,不需要域名。缺點也有,就是需要買好一點的路由器。
在這裏插入圖片描述

其他

當以上都實現後,還可以繼續改進。比如通過路由器和機器的設置,實現網絡喚醒。即遠程主機不需要一直開機待機。而是需要時,通過網絡喚醒,將機器開機,然後再進行遠程控制。這是可以操作實現的,這裏就不展開說了,網絡喚醒設置比較玄學,也看主板支不支持。

結語

順便做個調查彙總,大家可以看看自己現在的路由器可不可以實現查看當前網絡ip這個功能。如果可以,請留言告知,這樣可以幫助更多的人,非常感謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章