- 工信部备案号 滇ICP备05000110号-1
- 滇公网安备53011102001527号
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
- CN域名投诉举报处理平台:电话:010-58813000、邮箱:service@cnnic.cn
Linux服务器安装配置WireGuard
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。
WireGuard 是一款轻量、快速、安全的现代 VPN 协议。以下是在主流 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Rocky)上安装、配置服务端与客户端的完整教程。
一、安装 WireGuard
内核要求:Linux 内核 ≥ 5.6 已内置 WireGuard 模块;旧内核需安装 wireguard-dkms。
1. Ubuntu / Debian
# 更新源并安装
sudo apt update
sudo apt install -y wireguard wireguard-tools
# 验证模块加载(可选)
sudo modprobe wireguard
lsmod | grep wireguard
2. CentOS 8+/RHEL 8+/Rocky Linux 9
# 启用 EPEL 源
sudo dnf install -y epel-release
# 安装
sudo dnf install -y wireguard-tools kmod-wireguard
# 验证
sudo modprobe wireguard
lsmod | grep wireguard
3. CentOS 7(旧内核)
# 安装 EPEL 和 ELRepo
sudo yum install -y epel-release
sudo yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 安装 WireGuard
sudo yum install -y kmod-wireguard wireguard-tools
# 加载模块
sudo modprobe wireguard
二、服务端配置(VPS / 有公网 IP 机器)
1. 开启 IP 转发(必须)
# 临时生效
sudo sysctl -w net.ipv4.ip_forward=1
# 永久生效
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
2. 生成密钥对
# 创建配置目录
sudo mkdir -p /etc/wireguard
cd /etc/wireguard
# 生成私钥、公钥(权限 600)
umask 077
wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey
3. 编写服务端配置 /etc/wireguard/wg0.conf
[Interface]
# 服务端私钥(cat privatekey)
PrivateKey = 服务端私钥
# VPN 内网地址(自定义)
Address = 10.0.0.1/24
# 监听端口(默认 51820/UDP)
ListenPort = 51820
# NAT 转发(eth0 改为你的外网网卡名,用 ip a 查看)
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
4. 防火墙放行 UDP 51820
ufw (Ubuntu/Debian)
sudo ufw allow 51820/udp
sudo ufw reload
firewall-cmd (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=51820/udp
sudo firewall-cmd --reload
5. 启动并设置开机自启
# 启动
sudo wg-quick up wg0
# 开机自启
sudo systemctl enable wg-quick@wg0
# 查看状态
Wg
三、客户端配置(Linux/Windows/macOS/ 手机)
1. 客户端生成密钥
cd /etc/wireguard
umask 077
wg genkey | tee client_privatekey | wg pubkey | tee client_publickey
2. 客户端配置 /etc/wireguard/wg0.conf
[Interface]
PrivateKey = 客户端私钥
Address = 10.0.0.2/24 # 同网段唯一IP
[Peer]
# 服务端公钥(cat /etc/wireguard/publickey)
PublicKey = 服务端公钥
# 服务端公网IP:端口
Endpoint = 123.123.123.123:51820
# 全部流量走 VPN(0.0.0.0/0)或仅内网(10.0.0.0/24)
AllowedIPs = 0.0.0.0/0
# NAT 穿透保活(客户端必加)
PersistentKeepalive = 25
3. 服务端添加客户端 Peer
在服务端 wg0.conf 追加:
[Peer]
# 客户端公钥
PublicKey = 客户端公钥
# 客户端VPN IP
AllowedIPs = 10.0.0.2/32
重启服务端:
sudo wg-quick down wg0
sudo wg-quick up wg0
4. 客户端启动
sudo wg-quick up wg0
# 自启
sudo systemctl enable wg-quick@wg0
四、常用命令
# 查看连接状态
wg
# 启停接口
wg-quick up wg0
wg-quick down wg0
# 查看日志
journalctl -u wg-quick@wg0 -f
五、常见问题
连不上
检查防火墙 / 安全组是否放行 UDP 51820
核对公钥、Endpoit IP: 端口、AllowedIPs
连上但无法上网
服务端已开启 net.ipv4.ip_forward=1
检查 PostUp/PostDown 网卡名是否正确(eth0/ens3/eth1)
NAT 后客户端连不上
客户端加 PersistentKeepalive = 25
蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。
更多技术知识,蓝队云期待与你一起探索。
售前咨询
售后咨询
备案咨询
二维码

TOP