本文將詳細介紹如何在您的伺服器上設定 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,但也可能有其他名稱。
我們還需要一個公鑰和私鑰。為了顯示它們我使用 tail
tail privatekey publickey
它看起來像這樣:
對於編輯,您可以使用任何 Linux 文字編輯器。我會使用奈米。要安裝它,您需要執行以下命令:
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 指令列出目錄中的檔案。我得到這樣的:
讓我們在螢幕上顯示公鑰。我們需要它們來將節點添加到我們的網路:
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 檔案中建立的配置
我們啟動隧道,然後透過瀏覽器造訪顯示我們地址的網站
為了方便在手機上新增VPN,請在伺服器上安裝一個產生二維碼的程式:
apt install -y qrencode
進入配置目錄,執行以下步驟:
qrencode -t ansiutf8 -r myphone.conf
然後我們在手機上進入Wireguard應用,按+新建隧道,選擇掃描二維碼,掃描一下,開啟VPN。接下來,我們將使用顯示輸出 IP 位址的任何資源來檢查我們是否顯示伺服器的位址。
你做到了!