1. ?? 概述
N2N 是一款開源的P2P VPN 軟件,其作者是著名的開源網管軟件ntop的作者Luca Deri。
N2N 是一個雙層架構的VPN ,它讓用戶能夠在網絡層上開發P2P應用的典型功能,而不是在應用層上開發。這意味著用戶能夠獲取本地IP一樣的可見度(比方說,同一個n2n網絡內的兩臺PC機能夠相互ping通),而且能夠通過n2n虛擬網內的IP地址相互訪問,而不必關心當前所屬的物理網絡地址。能夠這樣說,OpenVPN是把SSL從應用層轉移到網絡層實現(比方說實現https協議),而n2n則是把P2P的實現從應用層轉移到網絡層。
?
2.???????? N2N 設計的主要功能
l???????? N2N 是基于P2P 協議之上的兩個私有網絡間的加密層
l???????? 加密是在edge 節點上運行的,使用開放的協議,用戶自定義密鑰:你自己控制自己的安全,不須要托付給第三方公司
l???????? 每一個n2n 用戶能夠同一時候隸屬于多個網絡
l???????? 有NAT和穿越防火墻的功能,即使n2n節點位于私網中,也可以訪問,防火墻不再是在 IP 層的直接溝通和交流的障礙
l???????? N2N 網絡不是獨立的,它是可以跨越N2N 和非N2N網絡路由的
3.?? N2N 架構組件
l???????? Edge 節點:用戶PC 機上安裝的用于建立n2n網絡的軟件。差點兒每一個edge節點都會建立一個tun/tap設備,作為接入n2n網絡的入口。
l???????? Supernode 超級節點:它在edge 節點間建立握手,或為位于防火墻之后的節點中轉數據。它的基礎作用是注冊節點的網絡路徑,并為不能直通的節點做路由,可以直通的節點間通信,是P2P的。
?
Edge 節點間通過虛擬的tap 網卡交互。每一個tap網卡都是一個n2n edge節點。每臺PC機能夠有多個tap網卡,所以,在n2n網絡中,同一臺PC機能夠屬于多個網絡。
?
4.???????? N2N 網絡構架圖
?
?
當中super node 提供場所,讓兩個位于NAT/防火墻之后的edge node進行會面,一旦兩方完畢首次握手,剩下的數據流就之發生在兩個edge node之間,假設有一方的NAT屬于對稱型(symmetrical),super node則還需繼續為兩方提供數據包的轉發;edge node負責數據流的加解密,原理非常easy。
?
對于一個VPN
而言,主要涉及封裝和加解密兩個步驟,edge node使用UDP協議進行封裝,目的是為了更好的兼容防火墻的策略,由于非常多防火墻禁用了非TCP/UDP協議禁用。加密算法則採用了twofish,開源、簡便,處理速度快。
5.???????? 安裝及使用方法
源代碼直接從SVN 上獲取,里面包括了V1和V2兩個版本號,我編譯的是V2版本號
#svn co https://svn.ntop.org/svn/ntop/trunk/n2n
#cd # cd n2n/n2n_v2
#make
#make install
?
編譯安裝后,多了兩個應用: supernode 和edge
l ??????? 啟動 supernode
# supernode -l <listening port>
參數-l 是監聽的port,進程缺省是執行在后臺的。可選參數:
supernode usage
|
?
l???????? Ege 的使用方法:
#edge
-a 10.10.0.1 -c mypbxn2n -k mypbxn2n -l 192.168.122.180:8888
edge -a
虛擬IP -c
你的虛擬網名 -k password? -l supernodeip:port
edge -d <tun device> -a [static:|dhcp:]<tun IP address> -c <community> [-k <encrypt key> | -K <key file>] [-s <netmask>] [-u <uid> -g <gid>][-f][-m <MAC address>]
|
?
l???????? Windows 版
我沒有在Win32 下自己編譯, http://www.vpnhosting.cz/n2nguien.exe 提供了一個安裝包,里面包括了V1 和V2版本號,注意使用時和自己所選版本號的匹配。
?
單擊 advanced 按鍵,勾選Enable packet forwarding through n2n community
?
注意在win7下, 安裝文件夾下的全部可執行文件 ,均須要以管理員身份執行。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
