如何在Fedora Linux上設定WireGuard VPN

更新時間

虛擬私人網路(VPN)在現代網路中被廣泛使用。如今,有多種解決方案可供用戶存取各種資源,同時保持其機密性和隱私。在眾多VPN協定中, WireGuard因其簡單性、速度和安全性而受到廣泛使用。 WireGuard最初在Linux核心中實現,現在也可用於其他平台,如iOS和Android等。

WireGuard的基本原理

WireGuard使用UDP作為其傳輸協議,並基於Critokey Routing (CKR)進行點對點通訊。每個節點(無論是伺服器還是客戶端)都有一對金鑰(公鑰和私鑰),公鑰與允許的IP位址之間存在連結。

WireGuard設定步驟

本文將介紹如何在兩個節點(PeerA和PeerB)之間設定WireGuard。兩個節點均運行Fedora Linux,並使用NetworkManager進行持久性配置。

第一步:安裝必要的套件

在PeerA和PeerB上安裝wireguard-tools套件:

『`bash $ sudo -i

```

此套件在Fedora Linux更新庫中可用。它會在/etc/wireguard/目錄下建立配置目錄,您將在此建立金鑰和介面設定檔。

第二步:產生密鑰對

接下來,使用wg工具在每個節點上產生公鑰和私鑰:

『`bash

```

第三步:配置PeerA的WireGuard接口

WireGuard介面使用名稱wg0wg1等。為WireGuard介面建立設定文件,您需要以下資訊:

  • 在PeerA節點上設定的IP位址和子網路遮罩。
  • 此Peer監聽的UDP連接埠。
  • PeerA的私鑰。

建立設定檔/etc/wireguard/wg0.conf

『`bash

[Interface] Address = 172.16.1.254/24 SaveConfig = true ListenPort = 60001 PrivateKey = mAoO2RxlqRvCZZoHhUDiW3+zAazcZoELrYbgl+TpPEc=

[Peer] PublicKey = IOePXA9igeRqzCSzw4dhpl4+6l/NiQvkDSAnj5LtShw= AllowedIPs = 172.16.1.2/32 EOF ```

允許UDP流量透過此Peer將監聽的連接埠:

『`bash

```

最後,將介面設定檔匯入NetworkManager,以便在重新啟動後保持WireGuard介面的持久性:

『`bash

```

成功新增連線後,您可以透過以下命令驗證裝置wg0的狀態:

『`bash

```

配置PeerB的WireGuard接口

現在,您需要為第二個Peer建立wg0介面的設定檔。確保您擁有以下資訊:

  • 在PeerB上設定的IP位址和子網路遮罩。
  • PeerB的私鑰。
  • PeerA的公鑰。
  • PeerA的IP位址或主機名稱及其監聽WireGuard流量的UDP連接埠。

建立設定檔/etc/wireguard/wg0.conf

『`bash

[Interface] Address = 172.16.1.2/32 SaveConfig = true PrivateKey = UBiF85o7937fBK84c2qLFQwEr6eDhLSJsb5SAq1lF3c=

[Peer] PublicKey = FEPcisOjLaZsJbYSxb0CI5pvbXwIB3BCjMUPxuaLrH8= AllowedIPs = 172.16.1.254/32 Endpoint = peera.example.com:60001 EOF ```

同樣,將此介面設定檔導入NetworkManager:

『`bash

```

驗證PeerB的wg0設備狀態:

『`bash

```

驗證節點之間的連通性

在執行上述步驟後,兩個Peer可以透過VPN連線相互通訊。您可以使用以下ICMP測試來驗證連通性:

bash [root@peerb ~]# ping 172.16.1.254 -c 4

如果一切設定正確,您應該可以看到類似如下的輸出,表示Peer之間的連接正常。

總結

透過上述步驟,您可以在Fedora Linux上成功設定WireGuard VPN。 WireGuard以其簡單性和高效性,成為了現代VPN解決方案中受歡迎的選擇。希望本指南能幫助您順利搭建VPN連接,確保網路安全與隱私。

更新時間