導航:首頁 > 操作系統 > n2nlinux

n2nlinux

發布時間:2025-08-03 14:15:25

A. 如何在Linux上配置點對點VPN

點對點 VPN(又稱 P2P VPN)是另一個 VPN 模型,它能解決傳統的基於伺服器-客戶端模型的 VPN 存在的這些問題。一個 P2P VPN 中不再有一個中心的 VPN 伺服器,任何擁有一個公開 IP 地址的節點都能引導其他節點進入 VPN。當連接到一個 VPN 之後,每一個節點都能與 VPN 中的任何其他節點直接通信,而不需要經過一個中間的伺服器節點。當然任何節點出現故障時,VPN 中的剩餘節點不會受到影響。節點中的延遲、帶寬以及 VPN 擴展性在這樣的設定中都有自然的提升,當你想要使用 VPN 進行多人游戲或者與許多朋友分享文件時,這都是十分理想的。
n2n 是一個開源(GPLv3)軟體,它允許你在用戶間構建一個加密的 2/3 層點對點 VPN。由 n2n 構建的 VPN 是「對 NAT 友好」的,也就是說,不同 NAT 路由器後方的兩個用戶可以通過 VPN 直接與對方通信。n2n 支持對稱的 NAT 類型,這是 NAT 中限制最多的一種。因此,n2n 的 VPN 數據流量是用 UDP 封裝的。
一個 n2n VPN 由兩類節點組成:邊緣(edge)節點和超級(super)節點。一個邊緣節點是一台連接到 VPN 的電腦,它可能在一個 NAT 路由器後方。一個超級節點則是擁有一個可以公共訪問的 IP 地址的電腦,它將會幫助 NAT 後方的邊緣節點進行初始通信。想要在用戶中創建一個 P2P VPN 的話,我們需要至少一個超級節點。
若想用 n2n 構建一個 P2P VPN,你需要在每個節點上安裝 n2n,包括超級節點。
由於它非常精簡的依賴需求,在大多數 Linux 平台上 n2n 都能被輕松編譯
在基於 Debian 的系統上安裝 n2n:
sudo apt-get install subversion build-essential libssl-dev
svn co https://svn.ntop.org/svn/ntop/trunk/n2n
cd n2n/n2n_v2
make
make install
在基於 Red Hat 的系統上安裝 n2n:
sudo yum install subversion gcc-c++ openssl-devel
svn co https://svn.ntop.org/svn/ntop/trunk/n2n
cd n2n/n2n_v2
make
sudo make install
用 n2n 配置一個 P2P VPN:
如前文所述,我們需要至少一個超級節點,它將會作為一個初始化引導伺服器。我們假設這個超級節點的 IP 地址是 1.1.1.1
在一個作為超級節點的電腦上運行下面的命令。其中「-l <埠>」指定超級節點的監聽埠。運行 supernode 並不需要 root 許可權。supernode -l 5000
邊緣節點:
在每個邊緣節點上,使用下面的命令來連接到一個 P2P VPN。edge 守護程序將會在後台運行。
邊緣節點 #1:
sudo edge -d edge0 -a 10.0.0.10 -c mynetwork -u 1000 -g 1000 -k password -l 1.1.1.1:5000 -m ae:e0:4f:e7:47:5b
邊緣節點 #2:
sudo edge -d edge0 -a 10.0.0.11 -c mynetwork -u 1000 -g 1000 -k password -l 1.1.1.1:5000 -m ae:e0:4f:e7:47:5c
下面是對命令行的一些解釋:
「-d <介面名>」選項指定了由 edge 命令創建的 TAP 介面的名字。
「-a <IP地址>」選項(靜態地)指定了分配給 TAP 介面的 VPN 的 IP 地址。如果你想要使用 DHCP,你需要在其中一台邊緣節點上配置一台 DHCP 伺服器,然後使用「-a dhcp:0.0.0.0」選項來代替。
「-c <組名>」選項指定了 VPN 組的名字(最大長度為 16 個位元組)。這個選項可以被用來在同樣一組節點中創建多個 VPN。
「-u」和「-g」選項被用來在創建一個 TAP 介面後降權放棄 root 許可權。edge 守護進程將會作為指定的用戶/組 ID 運行。
「-k <密鑰>」選項指定了一個由 twofish 加密的密鑰來使用。如果你想要將密鑰從命令行中隱藏,你可以使用 N2N_KEY 環境變數。
「-l <IP地址:埠>」選項指定了超級節點的監聽 IP 地址和埠號。為了冗餘,你可以指定最多兩個不同的超級節點(比如 -l <超級節點 A> -l <超級節點 B>)。
「-m 」給 TAP 介面分配了一個靜態的 MAC 地址。不使用這個參數的話,edge 命令將會隨機生成一個 MAC 地址。事實上,為一個 VPN 介面強制指定一個靜態的 MAC 地址是被強烈推薦的做法。否則,比如當你在一個節點上重啟了 edge 守護程序的時候,其它節點的 ARP 緩存將會由於新生成的 MAC 地址而遭到污染,它們將不能向這個節點發送數據,直到被污染的 ARP 記錄被消除。
至此,你應該能夠從一個邊緣節點用 VPN IP 地址 ping 通另一個邊緣節點了

故障排除:
在調用 edge 守護程序的時候得到了如下錯誤。
n2n[4405]: ERROR: ioctl() [Operation not permitted][-1]
注意 edge 守護進程需要超級用戶許可權來創建一個 TAP 介面。因此需要確定用 root 許可權來執行,或者對 edge 命令設置 SUID。之後你總是可以使用「-u」和「-g」選項來降權放棄 root 許可權。
總結:
n2n 可以成為對你來說非常實用的免費 VPN 解決方案。你可以輕松地配置一個超級節點,無論是用你自己家裡的網路,還是從雲主機提供商購買一個可以公共訪問的 VPS 實例。你不再需要把敏感的憑據和密鑰放在第三方 VPN 提供商的手裡,使用 n2n,你可以在你的朋友中配置你自己的低延遲、高帶寬、可擴展的 P2P VPN

閱讀全文

與n2nlinux相關的資料

熱點內容
java類大小 瀏覽:199
安卓之父硬體怎麼改 瀏覽:693
編譯am文件 瀏覽:26
新手選股指標源碼 瀏覽:806
彩虹發卡源碼60 瀏覽:119
手機文件夾後綴名格式 瀏覽:172
三菱plc模塊化編程 瀏覽:47
火車加密開行視頻 瀏覽:249
百份比怎麼演算法 瀏覽:84
海康威視如何添加伺服器地址 瀏覽:884
馬來西亞找吃的有什麼app 瀏覽:695
飛思卡爾編譯錯誤 瀏覽:85
群暉如何建立ftp伺服器 瀏覽:568
反投影重建演算法 瀏覽:764
有限元基礎pdf 瀏覽:365
聯通送話費在app怎麼繳 瀏覽:261
萬達換票券app上怎麼用 瀏覽:642
外面工作用什麼app看孩子 瀏覽:453
程序員仿寫百度搜索 瀏覽:648
億圖數控系統編程 瀏覽:954