n2n是一個二層點對點虛擬專用網(VPN),它允許用戶在網絡層面而非應用層面開發(fā)典型的P2P應用功能。這就意味著,用戶可以獲得本地IP可見性(如,屬于同一個n2n網絡的兩臺PC可以互相ping通),以及不管他們現在身處哪個網絡,只要有相同的網絡IP地址就可以訪問到。簡言之,就像OpenVPN將SSL從應用(如,用于部署https協(xié)議)搬到了網絡協(xié)議一樣,n2n將P2P從應用搬到了網絡層面。
n2n主要功能
n2n是一個基于P2P協(xié)議的加密的二層專用網。
加密使用開放協(xié)議部署在邊緣節(jié)點,它使用用戶定義的加密鑰匙:你自己控制安全,而不用授權給公司,而Skype或Hamachi卻是要的。
各個n2n用戶可以同時屬于多個網絡(或者社區(qū))。
它擁有在反向通信方向(如,從外部到內部)穿越NAT和防火墻的能力,因此可以到達n2n節(jié)點,即使運行在一個專用網中。防火墻不再是IP層面掌控通信的障礙。
n2n網絡并不意味著它是獨立的,它可以在n2n和非n2n網絡間路由通信。
n2n架構基于兩個組件
超級節(jié)點:它在啟動時用于邊緣節(jié)點或用于達到對稱防火墻后面的節(jié)點。對于這些節(jié)點,該應用主要是一個目錄暫存器和包路由器,而不是直接通信。
邊緣節(jié)點:安裝在用戶PC的應用程序,它允許構建n2n網絡。實際上,各個邊緣節(jié)點創(chuàng)建一個tun/tap設備,該設備是n2n網絡的進入點。
安裝n2n到Ubuntu
打開終端并運行以下命令
$ sudo apt-get install subversion build-essential libssl-dev
$ svn co https://svn.ntop.org/svn/ntop/trunk/n2n
$ cd n2n/n2n_v2
$ make
$ sudo make install
使用n2n配置P2P VPN
首先,我們需要配置一個超級節(jié)點和任意數量的邊緣節(jié)點。
決定將超級節(jié)點放在哪個地方。假設你將它放到了主機a.b.c.d的xyw端口上。
決定使用何種密碼加密來保證數據安全。假設你使用密碼encryptme。
決定你想要使用的網絡名稱。假設你將它命名為mynetwork。注意,你可以使用超級節(jié)點/邊緣節(jié)點來處理多個網絡,不僅僅只有一個哦。
決定在邊緣節(jié)點上使用什么IP地址。假設你使用10.1.2.0/24。
啟動應用:
配置超級節(jié)點
supernode -l xyw
配置邊緣節(jié)點
在各個邊緣節(jié)點,使用以下命令來連接到P2P VPN。
sudo edge -a 10.1.2.1 -c mynetwork -k encryptme -l a.b.c.d:xyw
sudo edge -a 10.1.2.2 -c mynetwork -k encryptme -l a.b.c.d:xyw
現在來測試你的n2n網絡
edge node1>ping 10.1.2.2
edge node2>ping 10.1.2.1
Windows n2n VPN客戶端(N2N邊緣圖形界面)
你可以從這里下載N2N邊緣圖形界面。
N2N邊緣圖形界面是一個基本的安裝器和用于點對點‘n2n VPN解決方案’的GUI配置界面。