題:
分散式/ P2P虛擬專用網(VPN)
Petr Pudlák
2015-12-25 22:58:01 UTC
view on stackexchange narkive permalink

我一直在使用OpenVPN來管理幾台計算機之間的網絡,但是它需要一個中央服務器,並且所有數據都需要經過它。另外,更改中央服務器可能意味著更新整個網絡。

我正在尋找不需要中央服務器的開源分散式(P2P)VPN網絡。要求:

  • 沒有中央服務器(所有對等方都相等)。
  • 安全-所有數據都必須加密。允許連接的對等方應該通過給他們提供一個可以供其他人驗證的簽名證書來進行管理。
  • 某些對等方沒有公用IP地址(並且該地址可以動態更改,因為其中一些可以移動);該軟件應該能夠確定並允許對等方根據需要轉發流量。
  • 應該有可能在內部網絡中為對等方提供固定的IP地址。
  • 該軟件必須積極維護(以解決安全問題)。
  • 對內存和CPU的影響盡可能小。
  • 我不是在尋找 Social VPN特別是,我不希望系統依賴於任何社交網絡。
  • Linux和Windows支持。
  • 系統應作為系統服務運行,而無需任何GUI進行管理
  • 可選的IPv6支持將是有益的(某些對等體可以具有公共IPv6地址,但不能具有IPv4地址)。
  • 還可以選擇內部DNS,以便可以通過本地地址對所有計算機進行尋址名稱。
一 回答:
anarcat
2017-10-20 17:47:24 UTC
view on stackexchange narkive permalink

Tor

起初我以為 Tor是您的解決方案,但這是一個開放的網絡:任何人都可以加入,因此您的“安全”要求不起作用

Tinc

所以我建議您看一下 tinc。這是一種p2p VPN,其中對等點通過公鑰進行身份驗證,並支持 some NAT穿越,儘管它可能無法很好地應對更改地址的主機,因為這些地址是硬編碼在配置中的。它還具有完整的IPv6支持。簡短的入門文章:

  apt-get install tincmkdir -p / etc / tinc / net0 / hostscat >> /etc/tinc/net0/tinc.conf <<EOFName = hostMode = switchAddress = host.example.comEOFtinc -n net0 generate-keyscat >> / etc / tinc / net0 / tinc-up <<EOFifconfig $ INTERFACE 172.16.242.43 netmask 255.255.255.255 upEOFchmod + x / etc / tinc / net0 / tinc-dtind -d > 

在每台主機上執行此操作,並相應地更改 tinc.conf tinc-up hosts 目錄包含每個主機的 tinc.conf 的副本,並共享帶外配置(例如,我使用git)。

還請注意, Tinc存在一些嚴重的安全問題,對我來說安全性設計尚不完善。

Wireguard

如果我現在從頭開始,我會看一下 Wireguard,具有更好的漫遊支持和聲音加密功能。他們的 quickstart非常好,基本上相當於:

  apt install wireguard-dkms wireguard-toolsip鏈接添加dev wg0類型wireguardip地址添加dev wg0 10.0.0.1/8umask 077wg genkey | tee /etc/wireguard/private.key | wg pubkey > /etc/wireguard/public.keywg設置wg0偵聽端口51820私鑰/etc/wireguard/private.key peer $ {cat /etc/wireguard/peers/peer0.pub)allow-ips 10.0.0.2/ 32個端點192.0.2.1:51820ip鏈接設置dev wg0  

這假定另一個已經生成了其公鑰並將其存儲在 /etc/wireguard/peers/peer0.pub 中。該對等點應該可以在 192.0.2.1 處到達,並且具有與 wg0 接口上分配的 10.0.0.2 相似的配置。

玩得開心!



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...