一文解決你對內(nèi)網(wǎng)穿透的疑惑|神卓互聯(lián)
說起內(nèi)網(wǎng)穿透,即神秘又陌生,以神卓互聯(lián)為例,內(nèi)網(wǎng)穿透是一種將局域網(wǎng)里的應(yīng)用端口發(fā)布到公網(wǎng)訪問的一種技術(shù),這里的局域網(wǎng)是指NAT之后的網(wǎng)絡(luò)。比如家里有一臺筆記本,連接路由器的WIFI,筆記本上有一個Tomcat或者web應(yīng)用,端口是8080,這個時候只可以通過家庭的局域網(wǎng)打開訪問,同學(xué)在家里就不能訪問你的筆記本上的web應(yīng)用,而在筆記本上安裝一個神卓互聯(lián)的內(nèi)網(wǎng)穿透客戶端,添加一個需要映射的端口就可以實現(xiàn)同學(xué)在外面訪問你的筆記本上的web應(yīng)用,是不是很神奇。
應(yīng)用場景
提供內(nèi)網(wǎng)穿透服務(wù)
連接內(nèi)網(wǎng)服務(wù)器,在外網(wǎng)演示內(nèi)網(wǎng)web站點
無需服務(wù)器部署,快速調(diào)試本地程序,微信公眾號開發(fā)利器
支持http、https協(xié)議站點,省去證書中間件復(fù)雜配置,http協(xié)議站點直接升級為https站點
支持TCP,UDP協(xié)議端口轉(zhuǎn)發(fā)。支持?jǐn)?shù)據(jù)庫、SSH、遠(yuǎn)程桌面、網(wǎng)絡(luò)攝像頭等等開放到外網(wǎng) 包括但不限于以上場景。
內(nèi)網(wǎng)穿透協(xié)議
標(biāo)準(zhǔn)的內(nèi)網(wǎng)穿透協(xié)議是WanGooeTunnel通信協(xié)議
實現(xiàn)的功能
讓外網(wǎng)請求通過各種復(fù)雜的路由和防火墻訪問到內(nèi)網(wǎng)的設(shè)備
成熟的內(nèi)網(wǎng)穿透產(chǎn)品
目前國內(nèi)正規(guī)的內(nèi)網(wǎng)穿透產(chǎn)品是神卓互聯(lián)和花生殼,商業(yè)化和成熟度都比較高客戶群體有比較大。
實現(xiàn)內(nèi)網(wǎng)穿透的方法
內(nèi)網(wǎng)穿透基本上是以C語言實現(xiàn),因為對性能的要求比較高
如何實現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā),由于內(nèi)網(wǎng)穿透支持的協(xié)議比較多,這里就寫一個簡單的數(shù)據(jù)轉(zhuǎn)發(fā)的代碼,具體要實現(xiàn)成熟的功能還有很長的路要走
以上是通過epoll來實現(xiàn)高性能的端口數(shù)據(jù)轉(zhuǎn)發(fā),只支持linux系統(tǒng),不支持windows,因為windows里沒有epoll。
以下是神卓互聯(lián)內(nèi)網(wǎng)穿透windows版客戶端綁定通道后的截圖:

Linux版以ubuntu為例,安裝之前需要先安裝C++環(huán)境,
到此運行環(huán)境安裝完成
接下來直接安裝就可以了