在本教程中,我們將向您展示如何安裝 Wireguard VPN 在 Ubuntu 22.04 LTS。 對於那些不知道的人來說,WireGuard 是虛擬專用網絡軟件(VPN)免費開源,使用最先進的加密技術來保護和加密互聯網連接。 它的設計簡單、快速且易於使用,並且具有易於審查和審計的小型代碼庫。
本文假設您至少對以下內容有基本的了解 Linux,他知道如何使用 shell,最重要的是,他在自己的 VPS 上託管他的網站。 安裝非常簡單,它假設您在 root 帳戶下運行,如果不是,您可能需要添加 ‘sudo
‘ 獲取 root 權限的命令。 我將向您展示 Wireguard 的逐步安裝 Ubuntu 22.04(果醬水母)。 您可以按照相同的說明進行操作 Ubuntu 22.04 和任何其他基於 Debian 作為 Linux Mint、Elementary OS、Pop!_OS 等。
之前的要求
- 運行以下操作系統之一的服務器: Ubuntu 22.04、20.04 以及任何其他基於 Debian 作為 Linux 薄荷。
- 建議您使用全新的操作系統安裝以避免潛在的問題。
- 通過 SSH 訪問服務器(或者如果您在桌面上,則只需打開終端)。
- A
non-root sudo user
或訪問root user
。 我們建議充當non-root sudo user
但是,如果您在以 root 身份操作時不小心,它可能會損壞您的系統。
安裝Wireguard VPN 在 Ubuntu 22.04 LTS 果醬水母
步驟 1. 首先,通過運行以下命令確保系統上的所有軟件包都是最新的 apt
終端中的命令。
sudo apt update sudo apt upgrade
步驟 2. 安裝 Wireguard Ubuntu 22.04。
默認情況下,Wireguard 可在以下位置的基礎存儲庫中使用: Ubuntu 22.04。 現在運行以下命令在您的系統上安裝最新版本的 Wireguard Ubuntu:
sudo apt install wireguard
接下來,為服務器生成私鑰和公鑰對:
wg genkey | sudo tee /etc/wireguard/private.key
然後,授予保護私鑰的權限:
sudo chmod go= /etc/wireguard/private.key
之後,它根據私鑰生成相應的公鑰:
sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
步驟 3. 配置 IPv4 和 IPv6 地址。
安裝 WireGuard 並生成將用於加密進出服務器的流量的密鑰對後。 我們可以繼續下一步,即配置將用於服務器和想要連接到它的對等方之間通信的 IPv4 和 IPv6 地址:
10.0.0.0 to 10.255.255.255 (10/8 prefix) 172.16.0.0 to 172.31.255.255 (172.16/12 prefix) 192.168.0.0 to 192.168.255.255 (192.168/16 prefix)
如果要將 WireGuard 與 IPv6 結合使用,則需要根據 RFC 算法生成唯一的 IPv6 前綴。
date +%s%N
它將產生類似於以下內容的輸出,即自 Unix 紀元(1970 年 1 月 1 日 00:00 UTC 1970 年 1 月 1 日 00:00 UTC)以來的秒數。
1659342559092041940
然後復制服務器的計算機 ID,因為該值對於每台服務器都是唯一的。 運行以下命令來獲取 machine-id
:
cat /var/lib/dbus/machine-id
生產:
e46e195db6584d63aeedg0detzc83c7f
接下來,將時間戳與 machine-id
並使用 SHA-1 算法對字符串進行哈希處理:
printf <timestamp><machine-id> | sha1sum
更換 <timestamp>
和 <machine-id>
上述命令中的值來自之前:
printf e469342559092041940d97e46e195db6584d63aeedg0detzc83c7f | sha1sum d789c02d9d8faef806d40ec15b307d4d9c8ec4bc -
然後運行以下命令來修剪 printf
根據RFC算法輸出:
printf d789c02d9d8faef806d40ec15b307d4d9c8ec4bc | cut -c 31-
生產:
4d9c8ec4bc
步驟 4. 配置 Wireguard。
您可以通過編輯以下內容來配置 WireGuard /etc/wireguard/wg0.conf
文件並運行 wg-quick
打開連接的命令 VPN。
使用 nano 文本編輯器創建一個新的配置文件:
sudo nano /etc/wireguard/wg0.conf
現在,將以下行粘貼到文件中,同時輸入各自的私鑰和 IP 地址值:
[Interface] PrivateKey = server_private_key Address = 10.8.0.1/24, fd4d:9c8e:c4bc::/64 ListenPort = 51820 SaveConfig = true
步驟 5. 配置紅色 Wireguard。
現在我們配置IP轉發。 打開文件 /etc/sysctl.conf
編輯:
sudo nano /etc/sysctl.conf
通過刪除 # 符號來取消註釋以下行:
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1 # Uncomment the next line to enable packet forwarding for IPv6 # Enabling this option disables Stateless Address Autoconfiguration # based on Router s for this host net.ipv6.conf.all.forwarding=1
現在,要確認已進行更改,您可以運行以下命令,該命令將讀取文件並為當前終端會話加載新值:
sudo sysctl -p
生產:
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1
步驟 6. 配置 Wireguard 防火牆。
在這些步驟中,您將編輯 WireGuard 服務器配置以添加防火牆規則,以確保正確路由進出服務器和客戶端的流量:
ip route list default
生產:
default via 172.22.33.21 dev eth0
接下來,我們通過編輯 WireGuard 配置文件將防火牆規則添加到服務器:
sudo nano /etc/wireguard/wg0.conf
將以下行添加到該文件的末尾:
PostUp = ufw route allow in on wg0 out on eth0 PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE PreDown = ufw route delete allow in on wg0 out on eth0 PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
保存並關閉文件,然後檢查防火牆的狀態:
sudo ufw status
現在,當您按照先決條件教程打開 SSH 端口時,也將其添加到此處:
sudo ufw allow 51820/udp sudo ufw allow OpenSSH
步驟 7. 啟動 WireGuard 服務器。
Wireguard 可以配置為使用以下命令作為服務運行 wg-quick
文本。 啟用 Wireguard 服務:
sudo systemctl enable [email protected] sudo systemctl start [email protected]
步驟 8. 安裝和配置一對 Wireguard。
首先,我們需要通過運行以下行在客戶端計算機上安裝 WireGuard:
sudo apt update sudo apt install wireguard
接下來,您需要使用在服務器上使用的相同步驟在該對上生成密鑰對:
wg genkey | sudo tee /etc/wireguard/private.key sudo chmod go= /etc/wireguard/private.key
現在運行以下命令來生成公鑰:
sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
之後,創建對等配置文件:
sudo nano /etc/wireguard/wg0.conf
粘貼以下行:
[Interface] PrivateKey = private_key of peer Address = 10.8.0.3/24 Address = fdd5:a3ac:a4fd::3/64 [Peer] PublicKey = JySX9hMJFyAqZA+mNvJsArKW7yY8I7ROsQKTZZR/RH8= AllowedIPs = 10.8.0.0/24, fdd5:a3ac:a4fd::/64 Endpoint = 209.23.10.202:51820
接下來,將 Peer 的公鑰添加到服務器:
sudo cat /etc/wireguard/public.key
生產:
5EyjWrD3EuPputqrX0+B5Kepeoe46uJ1RGEI1w2+VM=
現在登錄服務器並運行以下命令:
sudo wg set wg0 peer PeURxj4Q75RaVhBKkRTpNsBPiPSGb5oQijgJsTa29hg= allowed-ips 10.8.0.2,fdd5:a3ac:a4fd::2
執行以下命令查看隧道狀態:
sudo wg
步驟 9. 將對等方連接到隧道。
運行以下命令在對等體上啟動隧道:
sudo wg-quick up wg0
您將收到類似的結果:
[#] ip link add wg0 type wireguard [#] wg setconf wg0 /dev/fd/63 [#] ip -4 address add 10.8.0.3/24 dev wg0 [#] ip -6 address addfdd5:a3ac:a4fd::3/64 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] resolvconf -a tun.wg0 -m 0 -x
您可以執行以下命令來確認對端隧道的狀態:
sudo wg
恭喜! 您已成功安裝 Wireguard。 感謝您使用本教程來安裝 Wireguard。 VPN 在系統中 Ubuntu 22.04 LTS 果醬水母。 如需其他幫助或有用信息,我們建議您諮詢 Wireguard 官方網站。