編碼的世界 / 優質文選 / 女人

Ubuntu 20.04配置WireGuard


2022年5月15日
-   

參考文章: https://techviewleo.com/install-wireguard-vpn-server-on-ubuntu/
安裝包
$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt install -y iptables wireguard

開啟ipv4轉發
$ sudo vim /etc/sysctl.conf

取消net.ipv4.ip_forward=1這一行的注釋, 再執行下面命令生效
$ sudo sysctl -p

配置WireGuard服務
生成私鑰和公鑰
$ sudo su -
# wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

查看並複制私鑰內容
$ cat /etc/wireguard/privatekey

創建網絡配置文件
$ sudo vim /etc/wireguard/wg0.conf

使用上面的私鑰替換配置文件中的相關內容, 同時需要注意替換eth0為實際的網卡設備名稱
[Interface]
Address = 10.10.10.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = 上面複制的私鑰內容
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

修改配置文件的權限
$ sudo chmod 600 /etc/wireguard/privatekey
$ sudo chmod 600 /etc/wireguard/wg0.conf

啟動WireGuard接口
$ sudo wg-quick up wg0

執行後會輸出下面內容
root@localhost:/etc/wireguard# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.10.10.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

配置開機啟動服務
$ sudo wg-quick down wg0	// 先停掉之前手工啟動的端口
$ sudo systemctl enable wg-quick@wg0.service
$ sudo systemctl start wg-quick@wg0.service
$ sudo wg show // 查看啟動的端口信息

客戶端配置
客戶端下載(Windows+Android)

Android客戶端


在服務器端使用下面命令生成二維碼
$ sudo su
# apt install -y qrencode
# mkdir -p /etc/wireguard/clients
# wg genkey | sudo tee /etc/wireguard/clients/mobile.key | wg pubkey | sudo tee /etc/wireguard/clients/mobile.key.pub
# cat /etc/wireguard/clients/mobile.key // 複制私鑰內容
# vim /etc/wireguard/clients/mobile.conf

[Interface]
PrivateKey = 上面複制的私鑰內容
Address = 10.10.10.2/24
DNS = 1.1.1.1, 1.0.0.1
[Peer]
PublicKey = 服務器的公鑰(/etc/wireguard/publickey)
AllowedIPs = 0.0.0.0/0
Endpoint = 服務器的公網IP地址:51820

# qrencode -t ansiutf8 < /etc/wireguard/clients/mobile.conf

使用Android客戶端掃描屏幕二維碼即可完成添加
管理工具腳本
這個腳本可以更方便的管理, 省了手工複制粘貼密鑰了 https://github.com/complexorganizations/wireguard-manager

熱門文章