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