盤點(diǎn)那些流行的內(nèi)網(wǎng)穿透技術(shù)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
接觸OpenWrt也有一段時(shí)間了,從剛開始給0元擼來(lái)的某訊k1路由器心慌慌刷breed到現(xiàn)在,也慢慢的熟悉了內(nèi)網(wǎng)穿透的技術(shù)。最開始接觸內(nèi)網(wǎng)穿透的原因是我想遠(yuǎn)程管理我家里面的路由器,因?yàn)楫吘棺约喝ヒ粋€(gè)陌生的地方上學(xué)了,家里的網(wǎng)絡(luò)稍微有一點(diǎn)不好使,也會(huì)對(duì)家里造成不小的影響吧,畢竟調(diào)試路由不是一件特別簡(jiǎn)單的事情。 嘗試了不少的固件,這里順便說(shuō)說(shuō): p大的華碩固件,界面美觀,即刷即用,支持opt安裝PHP,nginx,MySQL,ssr各種各樣的插件,其實(shí)也算不上是插件了,因?yàn)槿A碩固件生出來(lái)就是缺少類似于openwrt那樣的軟件源的支持,算然可以通過(guò)手動(dòng)的方式添加組件,但是相對(duì)于openwrt或者dd,這方面還是欠佳。 openwrt家族,有名的就是國(guó)內(nèi)的pandorabox、明月的啦。我使用的是原生的openwrt,自己定制組件的話,會(huì)更有意思吧。 悉數(shù)內(nèi)網(wǎng)穿透技術(shù),華碩固件一直集成的很好,我所認(rèn)識(shí)的大多數(shù)的內(nèi)網(wǎng)穿透技術(shù)都是在華碩固件上發(fā)現(xiàn)的,進(jìn)而才想方設(shè)法的讓它在openwrt上得以實(shí)現(xiàn)。 ngrok 我使用的第一個(gè)內(nèi)網(wǎng)穿透技術(shù),那是在2016年的夏天~~~一個(gè)晴朗的中午,即將結(jié)束暑假的我瞎給家里的路由器增加一個(gè)遠(yuǎn)程操縱的功能,于是百度一下發(fā)現(xiàn)了ngrok,當(dāng)時(shí)的sunny代理的ngrok還是免費(fèi)的呢!于是在openwrt軟件源找到了ngrok和它的luci,opkg install一下,進(jìn)行了基本的配置,就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的流量代理。ngrok發(fā)展至今,更新?lián)Q代了好幾個(gè)版本了,現(xiàn)在的luci,自帶server和client,也就是說(shuō)我的路由如果有一個(gè)公網(wǎng)ip的話,是可以用來(lái)作為ngrok的server端的,不過(guò)夢(mèng)想終究是夢(mèng)想,移動(dòng)寬帶能給我公網(wǎng)ip?下面附上2016年末的更新的ngrok的luci界面。 官方介紹:(百度很官方= =) ngrok 是一個(gè)反向代理,通過(guò)在公共的端點(diǎn)和本地運(yùn)行的 Web 服務(wù)器之間建立一個(gè)安全的通道。ngrok 可捕獲和分析所有通道上的流量,便于后期分析和重放。(僅此而已) ngrok官方地址:(真的官方)https://ngrok.com/
優(yōu)點(diǎn):使用方便,一鍵程序居多,配置簡(jiǎn)單,公共服務(wù)器較多,各平臺(tái)支持,可以自己搭建服務(wù)器,共享自己的服務(wù)器。 缺點(diǎn):流量走總結(jié)點(diǎn),收費(fèi)是趨勢(shì),tunnel有時(shí)不穩(wěn)定(取決于服務(wù)器)
n2n v1/v2 n2n 的工作原理和tunnel有些不同,n2n我感覺有點(diǎn)類似于p2p,或者是udp打洞技術(shù),因?yàn)閚2n的兩個(gè)edge(即客戶機(jī))一旦建立起連接之后,將會(huì)只用很少的流量經(jīng)過(guò)supernode(超級(jí)節(jié)點(diǎn))了。類似于小電影種子p2p,里面也利用的vpn 的技術(shù)在內(nèi),提供了一個(gè)點(diǎn)對(duì)點(diǎn)的vpn連接。怎么形容好呢?嗯,就像是你和我都在使用xxx提供的免流服務(wù),你的手機(jī)上有一個(gè)openvpn,你的ip是10.0.0.2,我的手機(jī)上面也有一個(gè)openvpn,我的ip是10.0.0.4,這樣我們通過(guò)xxx提供的云免服務(wù)器的時(shí)候,你我服務(wù)器三者 關(guān)系就像是家庭局域網(wǎng)中的一臺(tái)路由和兩個(gè)終端一樣,大家都處于一個(gè)局域網(wǎng)下,你和我都是對(duì)等的,我可以ping 10.0.0.2到你。終端之間可以通過(guò)upnp那種技術(shù)進(jìn)行流量交換。更神奇的是,使用n2n可以直接在你和我直接進(jìn)行數(shù)據(jù)交互而不經(jīng)過(guò)路由。 簡(jiǎn)介:(摘自http://blog.csdn.net/yetyongjin/article/details/7419894) N2N是一款開源的P2P VPN軟件,其作者是著名的開源網(wǎng)管軟件ntop的作者Luca Deri。N2N是一個(gè)雙層架構(gòu)的VPN,它讓用戶可以在網(wǎng)絡(luò)層上開發(fā)P2P應(yīng)用的典型功能,而不是在應(yīng)用層上開發(fā)。這意味著用戶可以獲取本地IP一樣的可見度(比如說(shuō),同一個(gè)n2n網(wǎng)絡(luò)內(nèi)的兩臺(tái)PC機(jī)可以相互ping通),并且可以通過(guò)n2n虛擬網(wǎng)內(nèi)的IP地址相互訪問(wèn),而不必關(guān)心當(dāng)前所屬的物理網(wǎng)絡(luò)地址??梢赃@樣說(shuō),OpenVPN是把SSL從應(yīng)用層轉(zhuǎn)移到網(wǎng)絡(luò)層實(shí)現(xiàn)(比如說(shuō)實(shí)現(xiàn)https協(xié)議),而n2n則是把P2P的實(shí)現(xiàn)從應(yīng)用層轉(zhuǎn)移到網(wǎng)絡(luò)層。 N2N網(wǎng)絡(luò)構(gòu)架圖
優(yōu)點(diǎn):數(shù)據(jù)安全,p2p模式,流量直接交換,不通過(guò)supernode(但總會(huì)有流量通過(guò)supernode),可以自己搭建服務(wù)器。 缺點(diǎn):訪問(wèn)者需要另外安裝app,與supernode建立連接之后料能與edge通信,使用復(fù)雜。
花生殼內(nèi)網(wǎng)版 在路由上運(yùn)行花生殼內(nèi)網(wǎng)版得益于花生棒的出現(xiàn)。從gtihub上得到花生殼的源碼,對(duì)源碼針對(duì)mips32le進(jìn)行交叉編譯,即可得k1可運(yùn)行的花生殼內(nèi)網(wǎng)版程序。 這兩個(gè)玩意挺大的,當(dāng)初在k1上折騰這個(gè)的時(shí)候,閃存老是不夠,最終還是放棄了。后來(lái)研究華碩固件,發(fā)現(xiàn)華碩固件也沒有啥好的解決方法,愣是增大了分區(qū)大小,把兩文件塞進(jìn)去了?;ㄉ鷼?nèi)網(wǎng)版說(shuō)白了就是有一個(gè)好聽名字的frp。用的技術(shù)很類似。支持tcp,udp.https.http,socket5應(yīng)用。所以流量最后還是得走傳說(shuō)中的rootnode,所以花生殼對(duì)產(chǎn)生的流量進(jìn)行限制以及收費(fèi)也是正常的。不過(guò)這個(gè)費(fèi)用,有點(diǎn)貴吧。。。 說(shuō)實(shí)話,花生殼挺好用的!雖然收費(fèi)的很坑,但是每月免費(fèi)1g穿透流量,也算是非常的良心了唉。對(duì)于我自己來(lái)說(shuō),簡(jiǎn)單的管理路由,登錄一下內(nèi)網(wǎng)的服務(wù)器,這點(diǎn)流量也綽綽有余。 花生殼的一些例子網(wǎng)址:http://service.oray.com/category/28_1.html 本人用花生殼搭建了php小服務(wù)器:http://15o04z7976.imwork.net:25897/
優(yōu)點(diǎn):中國(guó)的= =中文的,各平臺(tái)支持,強(qiáng)大的團(tuán)隊(duì)支持(雖然有時(shí)候我們沒買它的花生棒),流量每月免費(fèi)1g,功能強(qiáng)大。我現(xiàn)在用的就是這個(gè)方案。 缺點(diǎn):流量貴= =
frp內(nèi)網(wǎng)穿透 frp是我最近在研究的東西,當(dāng)然是研究怎么去使用= =我對(duì)frp 的開發(fā)者持有一種敬畏的態(tài)度,可望不可及,絕對(duì)大神級(jí)別的任務(wù)。frp使用Go語(yǔ)言開發(fā)。所以要在自己的Linux編譯frp的話,要先配置go環(huán)境,我使用的是go1.8,支持交叉編譯,通過(guò)閱讀大神的文章,編譯的過(guò)程還算順利,此外我也優(yōu)化了編譯的流程,很多彎路我會(huì)盡量指出,爭(zhēng)取更加完善。 編譯frp原文鏈接:http://www.jianshu.com/p/bacdcfe8850a 優(yōu)化:在更改完etc/profile后,source一下,就不用重啟了。#source /etc/profile 優(yōu)化:在makefile.cross-compiles最后追加 env GOOS=linux GOARCH=mipsle go build -o ./frpc_linux_mipsle ./src/cmd/frpc env GOOS=linux GOARCH=mipsle go build -o ./frps_linux_mipsle ./src/cmd/frps 然后執(zhí)行make –f ./makefile.cross-compiles即可跳過(guò)原作者第四步及其以后的步驟,直接編譯全平臺(tái)的二進(jìn)制包,如果只想編譯某一平臺(tái)的話,可以自己適當(dāng)修改makefile.cross-compiles文件。frp編譯好之后有兩個(gè)文件,frps和frpc,分別對(duì)應(yīng)著服務(wù)器和客戶端。 配置好ini之后,使用./frps -c ./myfrps.ini&即可在服務(wù)器開啟服務(wù)器端。 配置好ini之后,使用./frpc -c ./myfrpc.ini&即可在服務(wù)器開啟客戶機(jī)端。 作者介紹frp:frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. Now, it supports tcp, udp, http and https protocol when requests can be forwarded by domains to backward web services. 作者github:https://github.com/fatedier 該文章在 2017/5/30 16:34:40 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |