自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用 NetworkManager 配置 wireguard 虛擬私有網絡

運維 系統運維
本文描述了如何在兩個對等節(jié)點(PeerA 與 PeerB)間設置 wireguard。兩個節(jié)點均運行 Fedora Linux 系統,使用 NetworkManager 進行持久性配置。

[[398802]]

虛擬私有網絡Virtual Private Networks應用廣泛。如今有各種方案可供使用,用戶可通過這些方案訪問任意類型的資源,同時保持其機密性與隱私性。

最近,wireguard 因為其簡單性、速度與安全性成為最廣泛使用的虛擬私有網絡協議之一。wireguard 最早應用于 Linux 內核,但目前可以用在其他平臺,例如 iOS、Android 等。

wireguard 使用 UDP 作為其傳輸協議,并在 Critokey Routing(CKR)的基礎上建立對等節(jié)點之間的通信。每個對等節(jié)點(無論是服務器或客戶端)都有一對密鑰key(公鑰與私鑰),公鑰與許可 IP 間建立通信連接。有關 wireguard 更多信息請訪問其 wireguard.com/" _fcksavedurl="https://www.wireguard.com/" class="ext" rel="external nofollow" target="_blank">主頁。

本文描述了如何在兩個對等節(jié)點(PeerA 與 PeerB)間設置 wireguard。兩個節(jié)點均運行 Fedora Linux 系統,使用 NetworkManager 進行持久性配置。

wireguard-%E8%AE%BE%E7%BD%AE%E4%B8%8E%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE" class="mume-header">wireguard 設置與網絡配置

在 PeerA 與 PeerB 之間建立持久性虛擬私有網絡連接只需三步:

  1. 安裝所需軟件包。
  2. 生成密鑰對key pair。
  3. 配置 wireguard 接口。

安裝

在兩個對等節(jié)點(PeerA 與 PeerB)上安裝 wireguard-tools 軟件包:

  1. $ sudo -i
  2. # dnf -y install wireguard-tools

這個包可以從 Fedora Linux 更新庫中找到。它在 /etc/wireguard/ 中創(chuàng)建一個配置目錄。在這里你將創(chuàng)建密鑰和接口配置文件。

生成密鑰對

現在,使用 wg 工具在每個節(jié)點上生成公鑰與私鑰:

  1. # cd /etc/wireguard
  2. # wg genkey | tee privatekey | wg pubkey > publickey

wireguard-%E6%8E%A5%E5%8F%A3" class="mume-header">在 PeerA 上配置 wireguard 接口

wireguard 接口命名規(guī)則為 wg0wg1 等等。完成下述步驟為 wireguard 接口創(chuàng)建配置:

  • PeerA 節(jié)點上配置想要的 IP 地址與掩碼。
  • 該節(jié)點監(jiān)聽的 UDP 端口。
  • PeerA 的私鑰。
  1. # cat << EOF > /etc/wireguard/wg0.conf
  2. [Interface]
  3. Address = 172.16.1.254/24
  4. SaveConfig = true
  5. ListenPort = 60001
  6. PrivateKey = mAoO2RxlqRvCZZoHhUDiW3+zAazcZoELrYbgl+TpPEc=
  7.  
  8. [Peer]
  9. PublicKey = IOePXA9igeRqzCSzw4dhpl4+6l/NiQvkDSAnj5LtShw=
  10. AllowedIPs = 172.16.1.2/32
  11. EOF

允許 UDP 流量通過節(jié)點監(jiān)聽的端口:

  1. # firewall-cmd --add-port=60001/udp --permanent --zone=public
  2. # firewall-cmd --reload
  3. success

最后,將接口配置文件導入 NetworkManager。這樣,wireguard 接口在重啟后將持續(xù)存在。

  1. # nmcli con import type wireguard file /etc/wireguard/wg0.conf
  2. Connection 'wg0' (21d939af-9e55-4df2-bacf-a13a4a488377) successfully added.

驗證 wg0的狀態(tài):

  1. # wg
  2. interface: wg0
  3. public key: FEPcisOjLaZsJbYSxb0CI5pvbXwIB3BCjMUPxuaLrH8=
  4. private key: (hidden)
  5. listening port: 60001
  6.  
  7. peer: IOePXA9igeRqzCSzw4dhpl4+6l/NiQvkDSAnj5LtShw=
  8. allowed ips: 172.16.1.2/32
  9.  
  10. # nmcli -p device show wg0
  11.  
  12. ===============================================================================
  13. Device details (wg0)
  14. ===============================================================================
  15. GENERAL.DEVICE: wg0
  16. -------------------------------------------------------------------------------
  17. GENERAL.TYPE: wireguard
  18. -------------------------------------------------------------------------------
  19. GENERAL.HWADDR: (unknown)
  20. -------------------------------------------------------------------------------
  21. GENERAL.MTU: 1420
  22. -------------------------------------------------------------------------------
  23. GENERAL.STATE: 100 (connected)
  24. -------------------------------------------------------------------------------
  25. GENERAL.CONNECTION: wg0
  26. -------------------------------------------------------------------------------
  27. GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveC>
  28. -------------------------------------------------------------------------------
  29. IP4.ADDRESS[1]: 172.16.1.254/24
  30. IP4.GATEWAY: --
  31. IP4.ROUTE[1]: dst = 172.16.1.0/24, nh = 0.0.0.0, mt =>
  32. -------------------------------------------------------------------------------
  33. IP6.GATEWAY: --
  34. -------------------------------------------------------------------------------

上述輸出顯示接口 wg0 已連接?,F在,它可以和虛擬私有網絡 IP 地址為 172.16.1.2 的對等節(jié)點通信。

wireguard-%E6%8E%A5%E5%8F%A3" class="mume-header">在 PeerB 上配置 wireguard 接口

現在可以在第二個對等節(jié)點上創(chuàng)建 wg0 接口的配置文件了。確保你已經完成以下步驟:

  • PeerB 節(jié)點上設置 IP 地址與掩碼。
  • PeerB 的私鑰。
  • PeerA 的公鑰。
  • PeerA 的 IP 地址或主機名、監(jiān)聽 wireguard 流量的 UDP 端口。
  1. # cat << EOF > /etc/wireguard/wg0.conf
  2. [Interface]
  3. Address = 172.16.1.2
  4. SaveConfig = true
  5. PrivateKey = UBiF85o7937fBK84c2qLFQwEr6eDhLSJsb5SAq1lF3c=
  6.  
  7. [Peer]
  8. PublicKey = FEPcisOjLaZsJbYSxb0CI5pvbXwIB3BCjMUPxuaLrH8=
  9. AllowedIPs = 172.16.1.254/32
  10. Endpoint = peera.example.com:60001
  11. EOF

最后一步是將接口配置文件導入 NetworkManager。如上所述,這一步是重啟后保持 wireguard 接口持續(xù)存在的關鍵。

  1. # nmcli con import type wireguard file /etc/wireguard/wg0.conf
  2. Connection 'wg0' (39bdaba7-8d91-4334-bc8f-85fa978777d8) successfully added.

驗證 wg0 的狀態(tài):

  1. # wg
  2. interface: wg0
  3. public key: IOePXA9igeRqzCSzw4dhpl4+6l/NiQvkDSAnj5LtShw=
  4. private key: (hidden)
  5. listening port: 47749
  6.  
  7. peer: FEPcisOjLaZsJbYSxb0CI5pvbXwIB3BCjMUPxuaLrH8=
  8. endpoint: 192.168.124.230:60001
  9. allowed ips: 172.16.1.254/32
  10.  
  11. # nmcli -p device show wg0
  12.  
  13. ===============================================================================
  14. Device details (wg0)
  15. ===============================================================================
  16. GENERAL.DEVICE: wg0
  17. -------------------------------------------------------------------------------
  18. GENERAL.TYPE: wireguard
  19. -------------------------------------------------------------------------------
  20. GENERAL.HWADDR: (unknown)
  21. -------------------------------------------------------------------------------
  22. GENERAL.MTU: 1420
  23. -------------------------------------------------------------------------------
  24. GENERAL.STATE: 100 (connected)
  25. -------------------------------------------------------------------------------
  26. GENERAL.CONNECTION: wg0
  27. -------------------------------------------------------------------------------
  28. GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveC>
  29. -------------------------------------------------------------------------------
  30. IP4.ADDRESS[1]: 172.16.1.2/32
  31. IP4.GATEWAY: --
  32. -------------------------------------------------------------------------------
  33. IP6.GATEWAY: --
  34. -------------------------------------------------------------------------------

上述輸出顯示接口 wg0 已連接。現在,它可以和虛擬私有網絡 IP 地址為 172.16.1.254 的對等節(jié)點通信。

驗證節(jié)點間通信

完成上述步驟后,兩個對等節(jié)點可以通過虛擬私有網絡連接相互通信,以下是 ICMP 測試結果:

  1. [root@peerb ~]# ping 172.16.1.254 -c 4
  2. PING 172.16.1.254 (172.16.1.254) 56(84) bytes of data.
  3. 64 bytes from 172.16.1.254: icmp_seq=1 ttl=64 time=0.566 ms
  4. 64 bytes from 172.16.1.254: icmp_seq=2 ttl=64 time=1.33 ms
  5. 64 bytes from 172.16.1.254: icmp_seq=3 ttl=64 time=1.67 ms
  6. 64 bytes from 172.16.1.254: icmp_seq=4 ttl=64 time=1.47 ms

在這種情況下,如果你在 PeerA 端口 60001 上捕獲 UDP 通信,則將看到依賴 wireguard 協議的通信過程和加密的數據:

 

捕獲依賴 wireguard 協議的節(jié)點間 UDP 流量

總結

虛擬私有網絡很常見。在用于部署虛擬私有網絡的各種協議和工具中,wireguard 是一種簡單、輕巧和安全的選擇。它可以在對等節(jié)點之間基于 CryptoKey 路由建立安全的點對點連接,過程非常簡單。此外,NetworkManager 支持 wireguard 接口,允許重啟后進行持久配置。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2013-09-24 09:21:22

虛擬私有云VPCVPN

2021-07-01 20:24:01

開源開源工具虛擬專用網絡

2013-09-26 10:34:49

亞馬遜虛擬化

2010-08-18 16:10:18

虛擬路由器

2015-09-16 10:01:42

私有云網絡應用虛擬化

2012-07-06 09:33:27

虛擬化

2020-06-05 09:38:33

云計算私有云互聯網

2022-09-21 10:12:59

WireGuard路由Linux

2017-05-27 16:21:58

私有云虛擬私有云混合云

2015-06-23 11:01:52

云計算資源池軟件定義網絡

2012-02-07 10:13:25

虛擬化私有云虛擬化管理

2013-01-28 09:25:54

2012-05-28 09:26:09

虛擬化私有云

2021-08-12 16:42:09

WireGuardWindows內核NT

2010-04-30 16:56:10

2009-07-10 11:24:43

交換機配置控制

2009-03-25 09:52:00

虛擬網絡VLAN配置

2015-11-06 11:03:35

OpenStackHeatIaaS

2013-11-25 11:39:50

亞馬遜虛擬桌面

2010-10-22 14:39:33

點贊
收藏

51CTO技術棧公眾號