在当今网络安全日益重要的时代,WireGuard 凭借其简洁、高效和安全性,成为众多用户首选的虚拟专用网络(VPN)协议。本教程将详细讲解如何在 Ubuntu 系统上完成 WireGuard配置,即使你是 Linux 新手,也能轻松上手!
什么是 WireGuard?
WireGuard 是一种现代、快速、安全的 VPN 协议,使用最新的加密技术(如 Curve25519、ChaCha20、Poly1305 等),代码精简且易于审计。相比 OpenVPN 或 IPsec,它配置更简单、性能更高。
准备工作
一台运行 Ubuntu 20.04/22.04/24.04 的服务器(作为 VPN 服务端) 本地电脑(可以是 Windows、macOS、Linux 或手机,用于连接) 具有 sudo 权限的用户账户 确保服务器防火墙允许 UDP 端口(默认 51820)通信第一步:安装 WireGuard
首先,更新系统软件包:
sudo apt updatesudo apt upgrade -y
然后安装 WireGuard:
sudo apt install wireguard -y
第二步:生成密钥对
WireGuard 使用公钥/私钥进行身份验证。我们需要为服务端和客户端分别生成密钥。
进入 WireGuard 配置目录并生成服务端密钥:
cd /etc/wireguardumask 077wg genkey | tee privatekey | wg pubkey > publickey
执行后,你会得到两个文件:
privatekey(私钥)和
publickey(公钥)。请妥善保管私钥,不要泄露!
第三步:配置服务端
创建服务端配置文件
wg0.conf:
sudo nano /etc/wireguard/wg0.conf
填入以下内容(请根据实际情况修改):
[Interface]Address = 10.0.0.1/24ListenPort = 51820PrivateKey = <你的服务端私钥>PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEPostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE[Peer]# 客户端1PublicKey = <客户端公钥>AllowedIPs = 10.0.0.2/32
说明:
Address:服务端在 VPN 网络中的 IP 地址
ListenPort:监听的 UDP 端口(默认 51820)
PrivateKey:替换为上一步生成的
privatekey内容
PostUp/PostDown:启用 IP 转发和 NAT,使客户端能访问外网
[Peer]:每个客户端都需要一个 Peer 段,填写其公钥和分配的 IP
第四步:启用 IP 转发
编辑 sysctl 配置文件:
sudo nano /etc/sysctl.conf
取消注释或添加以下行:
net.ipv4.ip_forward=1
然后应用更改:
sudo sysctl -p
第五步:启动 WireGuard 服务
设置配置文件权限(非常重要!):
sudo chmod 600 /etc/wireguard/wg0.conf
启动并设置开机自启:
sudo systemctl enable wg-quick@wg0sudo systemctl start wg-quick@wg0
检查状态:
sudo wg show
第六步:配置客户端
以 Linux 客户端为例(其他平台类似):
在客户端也安装 WireGuard 生成客户端密钥对(同服务端步骤) 将客户端公钥添加到服务端的wg0.conf中 创建客户端配置文件
wg0-client.conf:
[Interface]Address = 10.0.0.2/24PrivateKey = <客户端私钥>DNS = 8.8.8.8[Peer]PublicKey = <服务端公钥>Endpoint = <你的服务器公网IP>:51820AllowedIPs = 0.0.0.0/0PersistentKeepalive = 25
启动客户端即可连接。对于 Windows/macOS/iOS/Android,可使用官方 WireGuard App 导入配置。
常见问题与优化
✅ 防火墙设置:确保云服务器安全组或 UFW 允许 UDP 51820 端口。
sudo ufw allow 51820/udp
✅ 多客户端支持:只需在服务端配置中为每个客户端添加新的 [Peer] 段,并分配不同 IP(如 10.0.0.3、10.0.0.4...)。
结语
通过本教程,你已经成功完成了 Ubuntu WireGuard配置,搭建了一个安全、高效的个人 VPN 服务。无论你是想保护公共 Wi-Fi 上的隐私,还是远程访问家庭网络,WireGuard 都是一个极佳的选择。
记住定期更新系统和 WireGuard,保持最佳安全状态。如果你在操作过程中遇到问题,欢迎查阅官方文档或社区论坛。
关键词回顾:Ubuntu WireGuard配置、WireGuard安装教程、Ubuntu搭建VPN、WireGuard网络设置
