n2n是一個二層點對點虛擬專用網(VPN),它允許用戶在網絡層面而非應用層面開發典型的P2P應用功能。這就意味著,用戶可以獲得本地IP可見性(如,屬於同一個n2n網絡的兩台PC可以互相ping通),以及不管他們現在身處哪個網絡,只要有相同的網絡IP地址就可以訪問到。簡言之,就像OpenVPN將SSL從應用(如,用於部署https協議)搬到了網絡協議一樣,n2n將P2P從應用搬到了網絡層面。
n2n主要功能
n2n是一個基於P2P協議的加密的二層專用網。
加密使用開放協議部署在邊緣節點,它使用用戶定義的加密鑰匙:你自己控制安全,而不用授權給公司,而Skype或Hamachi卻是要的。
各個n2n用戶可以同時屬於多個網絡(或者社區)。
它擁有在反向通信方向(如,從外部到內部)穿越NAT和防火牆的能力,因此可以到達n2n節點,即使運行在一個專用網中。防火牆不再是IP層面掌控通信的障礙。
n2n網絡並不意味著它是獨立的,它可以在n2n和非n2n網絡間路由通信。
n2n架構基於兩個組件
超級節點:它在啟動時用於邊緣節點或用於達到對稱防火牆後面的節點。對於這些節點,該應用主要是一個目錄暫存器和包路由器,而不是直接通信。
邊緣節點:安裝在用戶PC的應用程序,它允許構建n2n網絡。實際上,各個邊緣節點創建一個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
首先,我們需要配置一個超級節點和任意數量的邊緣節點。
決定將超級節點放在哪個地方。假設你將它放到了主機a.b.c.d的xyw端口上。
決定使用何種密碼加密來保證數據安全。假設你使用密碼encryptme。
決定你想要使用的網絡名稱。假設你將它命名為mynetwork。注意,你可以使用超級節點/邊緣節點來處理多個網絡,不僅僅只有一個哦。
決定在邊緣節點上使用什麼IP地址。假設你使用10.1.2.0/24。
啟動應用:
配置超級節點
復制代碼代碼如下:supernode -l xyw
配置邊緣節點
在各個邊緣節點,使用以下命令來連接到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配置界面。