WireGuard 是一款极其简单但快速且现代最先进的加密技术。它旨在更快、更简单、更精简、最容易使用和最简单的 虚拟专用网络 解决方案,易于配置和部署。
今天就让我们来搭建并配置它,我以我的vps服务器系统是:



服务器演示为Ubuntu-24.04:
下面是一个详细的步骤指南,帮助你在 Ubuntu-24.04 上搭建最新的 WireGuard,并确保其配置正确
安装 WireGuard先安装防火墙ufw工具:
apt-get update
apt-get install ufw
放行端口:
ufw allow 51820/udp

1 .首先,确保你的系统软件包是最新的:
apt update apt full-upgrade -y apt autoremove -y apt autoclean
2 . 然后安装 WireGuard
apt install wireguard -y
创建WireGuard配置目录:
mkdir -p /etc/wireguard
开放文件夹权限:
chmod 700 /etc/wireguard
生成密钥对:我们需要为服务器和客户端生成密钥对,并查看它们的内容。
3 . 生成服务器密钥对
umask 077
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key
生成预共享密钥:
wg genpsk > /etc/wireguard/preshared.key
(1)查看服务器生成的服务器密钥:
cat /etc/wireguard/server_private.key
(2)查看服务器生成的服务器公钥:
cat /etc/wireguard/server_public.key
(3) 查看预共享的密钥:
cat /etc/wireguard/preshared.key
- server_private.key=服务器密钥
- server_public.key=服务器公钥
- preshared.key=预共享密钥
复制出来在桌面新建一个文本,保存,后面要用到

5 .生成客户端密钥对:
umask 077
wg genkey | tee client_private.key | wg pubkey > client_public.key
(1)查看客户端生成的密钥:
cat client_private.key
(2)查看客户端生成的公钥:
cat client_public.key
- client_private.key=客户端密钥
- client_public.ke客户端=客户端公钥
复制出来在桌面新建一个文本,保存,后面要用到

6 . 配置 WireGuard 服务器
(1)创建配置文件
nano /etc/wireguard/wg0.conf
(2)编辑配置文件
[Interface]
PrivateKey = <YOUR_SERVER_PRIVATE_KEY> # 替换为你的服务器私钥
Address = 10.7.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <YOUR_CLIENT_PUBLIC_KEY> # 替换为你的客户端公钥
PresharedKey = <YOUR_PRESHARED_KEY> # 替换为你的预共享密钥
AllowedIPs = 10.7.0.2/32
2.将 <服务器私钥内容> 和 <客户端公钥内容> 和<服务器端预共享私钥内容>替换为你自己的密钥内容
修改后如下:

服务端就配置完成,接下来配置 WireGuard 客户端:
1 . 创建客户端配置文件
nano client.conf
2 . 编辑客户端配置文件
[Interface]
PrivateKey = <YOUR_CLIENT_PRIVATE_KEY> # 替换为你的客户端私钥
Address = 10.7.0.2/24
DNS = 1.1.1.1,8.8.8.8
MTU = 1280
[Peer]
PublicKey = <YOUR_SERVER_PUBLIC_KEY> # 替换为你的服务器公钥
PresharedKey = <YOUR_PRESHARED_KEY> # 替换为你的预共享密钥
AllowedIPs = 0.0.0.0/0,::/0
Endpoint = 替换服务器ip或域名:51820
PersistentKeepalive = 25
2. 将 <客户端私钥内容> 和 <服务器公钥内容> 和<服务器端预共享私钥内容>替换为你自己的密钥内容。
修改后如下:

启用和配置网络
服务器端启用和配置网络
1 . 启用 IP 转发合并ipv6:
#开启转发
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1
# 永久生效
sed -i ‘s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g’ /etc/sysctl.conf
sed -i ‘s/#net.ipv6.conf.all.forwarding=1/net.ipv6.conf.all.forwarding=1/g’ /etc/sysctl.conf
sysctl -p
# 安装防火墙持久化工具
apt update && apt install iptables-persistent -y
2 . 配置防火墙和 NAT 规则:
# 自动获取主网卡名称:
MAIN_NIC=$(ip route | grep default | awk ‘{print $5}’)
echo $MAIN_NIC
# 配置规则(如果51820端口有修改过,请改为你修改的端口)
iptables -I INPUT -p udp –dport 51820 -j ACCEPT
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -A FORWARD -o wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o $MAIN_NIC -j MASQUERADE
# 如果有 IPv6 环境,也加上 IPv6 的 NAT(可选)
ip6tables -t nat -A POSTROUTING -o $MAIN_NIC -j MASQUERADE
# 保存规则持久化
netfilter-persistent save
或者使用以下这条保存防火墙规则一样的:
iptables-save > /etc/iptables/rules.v4 && ip6tables-save > /etc/iptables/rules.v6
3 . 启动 WireGuard:
wg-quick up wg0
4 . 设置开机自启动:
systemctl enable wg-quick@wg0
查看WireGuard启动状态:
wg show
查看网口状态:
ip a show wg0
查看WireGuard启动后自动运行:
systemctl status wg-quick@wg0
然后下载在/root/client.conf的配置文件:
接着下载安装WireSock客户端打开运行,导入配置文件:
官网下载地址:WireSock Secure Connect



接下来下一步:在桌面上找到WireSock客户端右键属性,点击兼容性设置为管理员运行:

第二步:打开WireSock客户端导入wireguard的配置文件:

2.2 接下来设置一下功能:

2.3 设置网络:

2.3 设置高级:

第 3 步:点击编辑配置文件:编辑

通常导入配置文件后,它会自动识别到wireguard文件的内容,前面就不需要设置,只需要设置后面的一些参数:
开启虚拟网卡和绕过局域网:

DPI保护,垃圾数据包就按照我的填写即可:
垃圾数据包数量(JC): 3
垃圾数据包最小大小(Jmin): 50
垃圾数据包最大大小(Jmax): 1000
垃圾数据包延迟 (Jd): 0

接下来添加隧道网络地址:0.0.0.0/0,::/0 这个已经默认添加了,不需要添加

1 . 下面关于”隧道应用程序“,意思是你可以添加电脑上的哪个应用走VPN,不用添加
2 .下面关于”非隧道应用程序”,意思就是可以添加电脑上的哪个程序不走VPN,在大陆的网络环境下,你可以把向日葵远程添加,还有微信也添加,这样它可以在局域网下进行流畅远程:


好了,接下来如何添加非隧道网络地址进行流量分流:
下面根据我前面分享过的
《Windows 10/11 + OpenVPN 实现国内直连、国外走 VPN 的分流方案(基于 chnroutes2)》 – 玫玫團隊博客網
把获取到的ip全部复制,在桌面上新建一个文本文档,把几千条大陆ip都粘贴到文本文档,由于是纯ip格式,我们无法逐个添加,下面需要先把所有的ip地址转换成用逗号隔开
按下Ctrl + H 键:点替换,在查找目标输入 \r\n 在替换里输入英文的逗号 , 选择正则表达式,然后点全部替换:

替换后,所有ip都会自动添加上逗号,最后按下 Ctrl + A全选,按下Ctrl + C全部复制,添加到WireSock客户端非隧道网络地址栏


保存所有设置,开启连接:


所有连接都正常,接下来测试一下分流情况:https://ip125.com/ 完全没问题

看下 Pi 节点:


以下一些相关命令:
1. 停止 WireGuard 服务
wg-quick down wg0
2.删除服务器和客户端的配置文件:
rm /etc/wireguard/wg0.conf
rm /root/client.conf
3.删除创建了配置文件或密钥文件
rm /root/client_private.key
rm /root/client_public.key
rm /etc/wireguard/preshared.key
rm /etc/wireguard/server_private.key
rm /etc/wireguard/server_public.key
4.卸载 WireGuard 包:
apt-get remove --purge wireguard -y
apt-get autoremove -y
5.删除防火墙规则:
# 注意:端口号请确保与你安装时一致(如 51820)
iptables -D INPUT -p udp –dport 51820 -j ACCEPT
iptables -D FORWARD -i wg0 -j ACCEPT
iptables -D FORWARD -o wg0 -j ACCEPT
iptables -t nat -D POSTROUTING -s 10.7.0.0/24 -o $MAIN_NIC -j MASQUERADE
# 6. 保存更改,使防火墙规则永久失效
netfilter-persistent save
# 7. 重启系统
sudo reboot
今天的分享就到这里!

