n2n內網(wǎng)穿透神器
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
網(wǎng)上關于n2n的介紹還是很少的,本人在安裝的過程中也遇到過不少的問題,折騰了大半天才解決了,這里記錄下以便需要的同學可以參考。 n2n用途假如想實現(xiàn)遠程訪問,訪問家里的路由、電腦,等等設備,最簡單的方式就是采用端口映射(端口轉發(fā)),但是很多情況下我們沒有路由的權限,這樣根本就沒有辦法訪問私網(wǎng),因為受網(wǎng)關的保護。 本想通過sock請求來發(fā)送的,但是實現(xiàn)起來必須是內網(wǎng)主動發(fā)起,不能外網(wǎng)主動發(fā)起,可以保持長連接來通信,但是還是有很多的局限性。放棄采用。 考慮過VPN,但是VPN配置還是比較復雜,不能做到隨意使用,放棄。 這時N2N進入了我的視野,其實就是P2P協(xié)議,及點對點協(xié)議,實現(xiàn)UDP打洞。 原理圖如下: N2N分兩個部分,一個是supernode,一個是edge。supernode即中心節(jié)點,edge 即邊緣節(jié)點,supernode的作用就是對兩個edge節(jié)點進行連接的作用,和p2p服務器作用一樣,且n2n數(shù)據(jù)是不走supernode的,所以數(shù)據(jù)很安全。 配置N2N注意:不要使用yum或者apt-get還安裝n2n(下面待會兒說) 我一開始也是 使用yum install n2n安裝的,結果中間發(fā)生很多問題。 這里盡量采用源碼包編譯安裝。 在supernode和edge 節(jié)點運行下面命令
如果沒有安裝svn的話執(zhí)行下面的命令
啟用N2N啟用中心節(jié)點(supernode)
8080即開發(fā)給邊緣節(jié)點的端口 分享個我自己的supernode 地址:n2n.phpbulo.com 端口:8080 協(xié)議版本:n2n_v1 如果采用我的中心節(jié)點,您只需要在兩臺機器上面運行edge ,這樣兩臺內網(wǎng)機器直接互通,由于數(shù)據(jù)不走中心節(jié)點,所以數(shù)據(jù)很安全。(不保證節(jié)點能一直運行下去) example: edge -d n2n0 -c mynetwork -k encryptme -a 10.1.12.1 -l n2n.phpbulo.com:8080 >/dev/null & 啟用邊緣節(jié)點(edge)在需要加入n2n的機器上執(zhí)行
-a 參數(shù) 是指指定一個IP給邊緣節(jié)點 如果出現(xiàn)如下信息表示成功了 您還可以再次加入其他edge節(jié)點,這樣節(jié)點與節(jié)點可以互相ping 通 再次在第2節(jié)點上運行如下命令 如果成功的話 在 第一個節(jié)點上面進行ping第二個節(jié)點是能互相通的。 以上命令也可以放入后臺執(zhí)行 supernode -l 8080 >/dev/null & edge -d n2n0 -c mynetwork -k encryptme -a 10.1.12.1 -l 1.2.3.4:8080 >/dev/null & 1.2.3.4是指中心節(jié)點ip 運行 supernode 的時候可以帶上-v 參數(shù),來查看報錯情況。 關于可能遇到的錯誤問:我有一個中心節(jié)點 一個邊緣節(jié)點,加入之后為什么中心節(jié)點不能ping通邊緣節(jié)點的ip? 答:這中情況下一般是中心節(jié)點沒有去運行邊緣節(jié)點。需要在中心節(jié)點加入edge邊緣節(jié)點,參考上面的邊緣節(jié)點運行方式,加入后重新ping試試。 若出現(xiàn)如下錯誤
很可能能你用的是yum 和編譯的造成的版本不一致造成的,這也是 一開始為什強調不要使用yum 和復制兩個文件到/usr/sbin的原因,盡量使用make 后的命令make 后會在 當前目錄下面生產(chǎn)supernode,edge文件把它覆蓋到系統(tǒng)變量目錄下面。 參考上面編譯源碼部分。 本教程基于N2N_V1版本,安裝V2版本同樣適用,但是v1和v2是不能相通的,也就是說必須運行同一版本。 n2n還有很多客戶端,比如android和win客戶端,安卓下面可以到googleplay上下載。相當簡單這里不多介紹。 n2n作為端口穿透確實是個神器,后面我可以用我的樹莓派來做只能家居了,很期待。 該文章在 2017/5/30 15:50:06 編輯過 |
關鍵字查詢
相關文章
正在查詢... |