跳至主要內容

wireguard

chanchaw大约 1 分钟ubuntu

概述

ubuntu24 系统自带支持 wireguard 安装起来相对简单。在 乐达电信天翼云 服务器上重装了 ubuntu22server ,之后部署了 wireguard 服务端,自己使用的 172.16.0.xx 都在该网络系统内

安装

wireguard 不区分服务端和客户端,都是一样的安装方法,由加载的配置文件决定是否客户端

# 更新本地仓库并安装
sudo apt update
sudo apt install wireguard wireguard-tools resolvconf

# 生成本机公钥,私钥
wg genkey | sudo tee /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key

# 将服务端生成的客户端证书拷贝到目录:/etc/wireguard/wg0.conf
# 在 ld3 电信云服务器上部署的 wg 服务端修改了默认端口号,要把配置文件中端口号修改 1280
# 打开 wireguard 连接
sudo wg-quick up wg0
# 关闭连接
sudo wg-quick down wg0

# 查看状态
sudo wg show

# 设置开机启动
sudo systemctl enable wg-quick@wg0

错误与提示

域名不通

ubuntu24server 可以正常拨号联通 wireguard,但是 ping -c 3 www.baidu.com 不通。原因是 DNS 解析有问题,有问题配置如下

[Interface]
PrivateKey = 2Avypp8uEHvv9faQvaJ5E7DzMo9JyRX+8r2egkxk9GM=
Address = 172.16.0.92/24
DNS = 192.168.0.1,114.114.114.114
PostUp = resolvectl dns %i 223.5.5.5 114.114.114.114
PostDown = resolvectl dns %i ""
MTU = 1420

[Peer]
PublicKey = O6DWcyyjC0n9GJ8YBmBD20xPusnsyQsykPq3UQpiWTo=
PresharedKey = 1YmGTMN3HxsgLlUQh4HWv3mBO8uqg7DUgEwO10GhkjI=
AllowedIPs = 172.16.0.0/12
PersistentKeepalive = 25
Endpoint = 121.224.72.159:1280

需要在 AllowedIPs 后面追加 DNS 的允许,正确的完整的配置如下

[Interface]
PrivateKey = 2Avypp8uEHvv9faQvaJ5E7DzMo9JyRX+8r2egkxk9GM=
Address = 172.16.0.92/24
DNS = 192.168.0.1,114.114.114.114
PostUp = resolvectl dns %i 223.5.5.5 114.114.114.114
PostDown = resolvectl dns %i ""
MTU = 1420

[Peer]
PublicKey = O6DWcyyjC0n9GJ8YBmBD20xPusnsyQsykPq3UQpiWTo=
PresharedKey = 1YmGTMN3HxsgLlUQh4HWv3mBO8uqg7DUgEwO10GhkjI=
AllowedIPs = 172.16.0.0/12, 223.5.5.5/32, 114.114.114.114/32
PersistentKeepalive = 25
Endpoint = 121.224.72.159:1280

保存配置后要重启服务 sudo wg-quick down wg0 && sudo wg-quick up wg0 ,在 ssh 中连续关闭开启可能会无法连接上,需要在系统内通过 sudo wg-quick up wg0 手动连接 wireguard