1、前言
絕大數(shù)開發(fā)都依賴網(wǎng)絡(luò)來加載文件和數(shù)據(jù)。經(jīng)常需要從外網(wǎng)訪問內(nèi)網(wǎng)設(shè)備,例如,遠程調(diào)試內(nèi)網(wǎng)環(huán)境;內(nèi)網(wǎng)部署的應(yīng)用發(fā)布在外網(wǎng);在外網(wǎng)訪問實驗室的高性能GPU的開發(fā)環(huán)境等等。
關(guān)鍵詞:內(nèi)網(wǎng); 外網(wǎng); 內(nèi)網(wǎng)穿透
2、什么是內(nèi)網(wǎng)、外網(wǎng)?
2.1 、內(nèi)網(wǎng)
內(nèi)網(wǎng)又稱為局域網(wǎng)(Local Area Network,LAN),是在一個局部的地理范圍內(nèi)(如一個學(xué)校、工廠、企業(yè)或家庭等),將各種計算機、外部設(shè)備和數(shù)據(jù)庫等互相連接起來組成的計算機通信網(wǎng)內(nèi)網(wǎng)??梢詫崿F(xiàn)文件管理、應(yīng)用軟件共享、打印機共享工作組內(nèi)的日程安排、電子郵件和傳真通信服務(wù)等功能。
一句話總結(jié),內(nèi)網(wǎng)是企業(yè)或個人內(nèi)部的,是私有的,內(nèi)部人員才能訪問。
2.2 、外網(wǎng)
外網(wǎng)又稱廣域網(wǎng)(Wide Area Network,WAN),也稱為遠程網(wǎng)/公網(wǎng)。通??缃雍艽蟮奈锢矸秶?,所覆蓋的范圍從幾十公里到幾千公里,它能連接多個城市或國家,或橫跨幾個洲并能提供遠距離通信。外網(wǎng)可以實現(xiàn)全球范圍內(nèi)的信息交流和資源共享。
一句話總結(jié),外網(wǎng)就是互聯(lián)網(wǎng),是公有的,誰都可以訪問。
2.3 、內(nèi)網(wǎng)與外網(wǎng)區(qū)別
范圍大小:內(nèi)網(wǎng)主要是在特定的空間內(nèi)才能實現(xiàn),常見于單位公司,可以共享某些設(shè)備的使用,而外網(wǎng)的空間變換卻十分的靈活,可以很小,也可以很大。
IP地址:使用全球唯一的外網(wǎng) IP 地址,ISP(互聯(lián)網(wǎng)服務(wù)注冊商)統(tǒng)一分配和管理,外網(wǎng)的Ip是不能沖突的,內(nèi)網(wǎng)是可以沖突的,內(nèi)網(wǎng)一般是從路由器以下開始的。
傳輸速率:由于環(huán)境的限制,內(nèi)網(wǎng)的傳輸速度要比外網(wǎng)快的多,但是它有局限性,只能是在局域網(wǎng)內(nèi)部的互傳比較快,而對于外網(wǎng)來說,它就可以隨便傳輸文件。
安全性:內(nèi)網(wǎng)相對來說多了一層防火墻,安全性會高一些,而外網(wǎng)都是直接接觸,它的安全系數(shù)就比較低。
3、內(nèi)網(wǎng)穿透又是什么?
公司有一臺高性能服務(wù)器,在外網(wǎng)就無法使用?了解下內(nèi)網(wǎng)穿透吧。
3.1、 內(nèi)網(wǎng)穿透是什么
在百度百科、阿里云開發(fā)者平臺看到的定義:
內(nèi)網(wǎng)穿透,也即 NAT 穿透,進行 NAT 穿透是為了使具有某一個特定源 IP 地址和源端口號的數(shù)據(jù)包不被 NAT 設(shè)備屏蔽而正確路由到內(nèi)網(wǎng)主機。
換句話說,通過一臺外網(wǎng)服務(wù)器,把你的內(nèi)網(wǎng)服務(wù)穿透出去,就是別人在外網(wǎng)也能訪問你的服務(wù)。

說明:只要在一臺主機期待lanproxy-client,就可以映射整個局域網(wǎng)所有主機,就是該主機可以ping所有主機
- 訪問內(nèi)網(wǎng)服務(wù),本質(zhì)上是通過了公網(wǎng)服務(wù)器這個橋梁。
- 公網(wǎng)服務(wù)器是有公網(wǎng)IP的,而公網(wǎng)服務(wù)器和內(nèi)網(wǎng)的服務(wù)器持久保持聯(lián)系。
- 當(dāng)用戶有請求發(fā)送時,公網(wǎng)服務(wù)器將請求轉(zhuǎn)發(fā)到我們的內(nèi)網(wǎng),內(nèi)網(wǎng)再將響應(yīng)回復(fù)給公網(wǎng)服務(wù)器,公網(wǎng)服務(wù)器將響應(yīng)回復(fù)給用戶。
4、如何實現(xiàn)內(nèi)網(wǎng)穿透?
商用化的工具有花生殼、ngrok、FRP 等,也有很多免費工具在Github上,大家可以自己搜索。接下來用兩張圖介紹FRP的方法。
4.1、 FRP內(nèi)網(wǎng)穿透

FRP是一款開源的內(nèi)網(wǎng)穿透工具,它可以幫助用戶在沒有公網(wǎng)IP或動態(tài)IP的情況下訪問內(nèi)網(wǎng)應(yīng)用。
- 在公司配置一臺跳板機,給電腦購買一個公網(wǎng)IP
- 在擁有公網(wǎng)ip(或與互聯(lián)網(wǎng)連通)的PC上安裝服務(wù)器程序
- 被訪問的PC上安裝客戶端程序,
FRP支持TCP和UDP協(xié)議,同時還提供了HTTP和HTTPS轉(zhuǎn)發(fā)的功能,非常方便實用。