知識庫 使用 Profitserver 服務的簡單說明
主要 知識庫 如何在你的伺服器上設定 Wireguard VPN

如何在你的伺服器上設定 Wireguard VPN


本文將詳細介紹如何在您的伺服器上設定 Wireguard VPN。它可以是虛擬伺服器或私人伺服器——這並不重要。

此 VPN Wireguard 設定指南專為沒有太多經驗的使用者設計,因此所有步驟都將非常詳細,並附有螢幕截圖。

透過我們的隧道傳輸的流量將被加密,並且互聯網將顯示我們的 VPN 伺服器的 IP 位址,而不是我們透過其存取網路的供應商的位址。

假設您已經擁有VPS伺服器。如果沒有,您可以向我們訂購。

我們將在伺服器上安裝Ubuntu 22.04作業系統。如果您的伺服器運行的是其他作業系統,您可以按照說明輕鬆地重新安裝。

伺服器已準備就緒,運行 Ubuntu 22.04 作業系統,現在我們透過 SSH 連接到它。如果您之前從未接觸過此協議,那麼這篇文章將對您有所幫助,其中詳細介紹了此過程。文章的第二段針對Linux 作業系統,第三段針對 Windows 作業系統。

設定 Wireguard 伺服器

連接成功後,我會寫一些命令以及它們產生的描述,以便理解這個過程:

我們更新儲存庫中的軟體包列表

apt update

套餐本身的更新

apt upgrade -y

安裝 wireguard 套件

apt install -y wireguard

我們的配置將存放在/etc/wireguard/目錄中,我們需要進入該目錄:

cd /etc/wireguard/

我們的伺服器需要一個公鑰和私鑰。我們將在使用命令建立檔案和目錄時設定正確的權限後生成它們:

umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey

現在我們設定私鑰的權限:

chmod 600 privatekey

在建立設定檔之前,我們需要網路介面的名稱。要發現它,請使用以下命令:

ip a

我們需要具有用於目前連接的 IP 位址的介面。在您的情況下它可能會被稱為 ens3,但也可能有其他名稱。

設定 Wireguard - 我們的伺服器需要公鑰和私鑰

我們還需要一個公鑰和私鑰。為了顯示它們我使用 tail

tail privatekey publickey

它看起來像這樣:

我們還需要一個公鑰和私鑰。為了顯示它們我使用 tail

編輯時,您可以使用任何Linux 文字編輯器。我將使用 nano。要安裝它,您需要執行以下命令:

apt install -y nano

我們編輯設定檔:

nano /etc/wireguard/wg0.conf

備註

為了保存文件,我們使用 ctrl+o 按鈕組合

退出- ctrl+x

它應該是這樣的:

[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE

就我而言,它看起來像這樣

我們編輯設定檔

我們開啟ip轉發

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

啟動 wireguard 服務:

systemctl start [email protected]

如果我們希望服務在伺服器重新啟動後啟動,那麼我們可以執行以下操作:

systemctl enable [email protected]

查看服務狀態:

systemctl status [email protected]

狀態應為活動狀態,如螢幕截圖所示:

狀態應為活動狀態,如螢幕截圖所示

如果您仔細遵循我們的說明,那麼在此階段,您已經擁有使 VPN Wireguard 的伺服器部分運作所需的一切。

設定 Wireguard 用戶端

剩下的就是配置客戶端部分。為了舉例和簡單起見,我還將在伺服器上為客戶端部分產生金鑰。但為了安全起見,在客戶端產生金鑰更為正確。我使用命令來產生:

wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey

我還將產生在手機上使用 VPN 的金鑰:

wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey

需要注意的是,所有這些都需要在目錄中進行

/etc/wireguard/

您也可以在另一個目錄中運作。但為了簡單起見,我們執行 /etc/wireguard/ 中的指令

我們使用 ls 指令列出目錄中的檔案。我得到這樣的:

我還將為伺服器上的 Wireguard 用戶端部分產生密鑰

讓我們在螢幕上顯示公鑰。我們需要它們來將節點添加到我們的網路:

tail mypc_publickey myphone_publickey

對我來說它看起來像這樣:

讓我們在螢幕上顯示公鑰

讓我們編輯設定檔:

nano wg0.conf

新增以下行:

[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32 

[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32

現在設定檔如下所示:

讓我們編輯設定檔

儲存檔案並重新啟動我們的服務:

systemctl restart wg-quick@wg0

讓我們檢查一下一切是否成功:

systemctl status wg-quick@wg0

狀態必須為活躍

每次編輯伺服器設定檔(wg0.conf)後都需要重新載入服務

接下來,我們將為客戶端(就我而言,是我的 PC 和手機)​​建立配置。我將在伺服器上執行同樣的事情。

nano mypc.conf
[Interface] 
PrivateKey = [mypc_privatekey private key] 
Address = 10.30.0.2/32 
DNS = 8.8.8.8 

[Peer] 
PublicKey = [publickey server publc key] 
Endpoint =[ server ip address]:51928 
AllowedIPs = 0.0.0.0/0 
PersistentKeepalive = 20

在 Endpoint 欄位中,您可以看到伺服器的 IP 位址 - 這是我們用於透過 SSH 連線的 IP 位址。若要查看介面和位址,可以使用 ip a 指令。

為行動裝置設定 Wireguard

我們為我們的手機創建類似的配置。只需更改地址即可。對於 PC,它是 10.30.0.2/32,而在手機配置中我們將它設為 10.30.0.3/32。另外,如果我們想在其他設備上使用 VPN,那麼我們應該在設定檔中的 Address 欄位和 wg0.conf 伺服器設定檔中的 AllowedIPs 欄位中新增其他位址

就我而言,文件如下所示:

我的電腦設定檔

我們應該在設定檔的地址欄位中新增其他地址

我的手機設定檔

我的手機設定檔

為了進行連接,我們安裝 WireGuard 用戶端https://www.wireguard.com/install/

在 Windows 應用程式中,我們新增一個新的隧道並輸入在 mypc.conf 檔案中建立的配置

在 Windows 應用程式中,我們新增一個新的隧道並輸入在 mypc.conf 檔案中建立的配置

我們啟動隧道,然後透過瀏覽器造訪顯示我們地址的網站

我們啟動隧道,然後透過瀏覽器造訪顯示我們地址的網站

為了方便在手機上新增VPN,請在伺服器上安裝一個產生二維碼的程式:

apt install -y qrencode

進入配置目錄,執行以下步驟:

qrencode -t ansiutf8 -r myphone.conf
為了方便在手機上新增VPN,請在伺服器上安裝一個產生二維碼的程序

然後我們在手機上進入Wireguard應用,按+新建隧道,選擇掃描二維碼,掃描一下,開啟VPN。接下來,我們將使用顯示輸出 IP 位址的任何資源來檢查我們是否顯示伺服器的位址。

然後我們在手機上進入Wireguard應用,按+創建新的隧道 檢查我們是否使用任何顯示輸出 IP 位址的資源來顯示伺服器的位址

你做到了!

❮ 上一篇文章 Linux 上的 VPN 伺服器設定:PPTP 還是 OpenVPN?
下一篇文章❯ 如何從 IOS 或 Android 上的智慧型手機透過 RDP(遠端桌面)連接到 Windows 伺服器

向我們諮詢有關 VPS 的問題

無論白天或黑夜,我們隨時準備好解答您的問題。