🗣 Wd提问: 搭建wireguard服务器
🤖 Ai回答: 搭建 WireGuard 服务器是一个相对简单且高效的过程。WireGuard 是一个现代、快速、安全的 VPN 协议,使用 Linux 内核模块,性能优于 OpenVPN 和 IPsec。
以下是搭建 WireGuard 服务器的完整步骤(以 Ubuntu/Debian 为例):
✅ 一、准备工作
1、一台服务器(推荐 Ubuntu 20.04/22.04 或 Debian 11/12)
2、公网 IP 地址
3、SSH 访问权限
4、防火墙配置(如 UFW 或 iptables)
✅ 二、安装 WireGuard
1、更新系统
bash
sudo apt update && sudo apt upgrade -y
2、安装 WireGuard
bash
sudo apt install wireguard resolvconf -y
`resolvconf` 是可选的,用于自动管理 DNS 解析。
✅ 三、配置服务器
1、创建 WireGuard 配置目录
bash
sudo mkdir -p /etc/wireguard
2、生成服务器密钥对
bash
wg genkey | tee /etc/wireguard/privatekey | wg pubkey /etc/wireguard/publickey
`privatekey`:服务器私钥(必须保密)
`publickey`:服务器公钥(用于客户端配置)
3、创建配置文件 `/etc/wireguard/wg0.conf`
ini
[Interface]
PrivateKey = <服务器私钥 替换为上面生成的私钥
Address = 10.0.0.1/24 服务器在 VPN 内的 IP 地址
ListenPort = 51820 监听端口(默认)
SaveConfig = true 自动保存配置
允许转发(用于客户端访问外网)
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
🔍 替换 `eth0` 为你的实际网卡名(可通过 `ip a` 查看)
4、启用 IP 转发
编辑 `/etc/sysctl.conf`:
bash
sudo nano /etc/sysctl.conf
取消注释或添加:
conf
net.ipv4.ip_forward=1
应用配置:
bash
sudo sysctl -p
5、启动并启用 WireGuard 服务
bash
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
检查状态:
bash
sudo systemctl status wg-quick@wg0
✅ 四、配置防火墙(UFW 示例)
允许 WireGuard 端口(51820)和转发流量:
bash
sudo ufw allow 51820/udp
sudo ufw allow out on wg0
如果你使用的是 `iptables`,请自行配置规则。
✅ 五、创建客户端配置文件
1、生成客户端密钥对
bash
wg genkey | tee client_privatekey | wg pubkey client_publickey
2、创建客户端配置文件(例如 `/etc/wireguard/client.conf`)
ini
[Interface]
PrivateKey = <客户端私钥
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = <服务器公钥
Endpoint = <服务器公网IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
`AllowedIPs = 0.0.0.0/0`:表示所有流量都通过 VPN(实现全网代理)
`PersistentKeepalive = 25`:保持连接活跃,防止 NAT 超时
✅ 六、客户端连接
将 `client.conf` 文件发送给客户端,使用 WireGuard 客户端软件连接。
支持平台:
Windows:[WireGuard 官方客户端](https://www.wireguard.com/install/)
macOS:[WireGuard for macOS](https://github.com/WireGuard/wireguard-apple)
Android:[WireGuard App](https://play.google.com/store/apps/details?id=com.wireguard.android)
iOS:[WireGuard for iOS](https://apps.apple.com/app/wireguard/id1441195209)
Linux:`wg-quick` 命令行工具
✅ 七、高级配置(可选)
1、多客户端支持
为每个客户端生成独立的密钥对,并在服务器配置中添加多个 `[Peer]` 条目:
ini
[Peer]
PublicKey = <客户端1公钥
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = <客户端2公钥
AllowedIPs = 10.0.0.3/32
2、使用 DNS 服务器
在客户端配置中设置 `DNS`,或在服务器上配置 `dnsmasq` 或 `systemd-resolved`。
3、使用 Cloudflare Tunnel 或反向代理(可选)
如果服务器没有公网 IP,可使用 `cloudflared` 或 `frp` 实现代理。
✅ 八、常见问题排查
| 问题 | 解决方法 |
| `wg-quick@wg0.service failed` | 检查 `/etc/wireguard/wg0.conf` 是否格式正确 |
| 客户端无法连接 | 检查防火墙是否放行 UDP 51820 |
| 无法上网 | 检查 `net.ipv4.ip_forward=1` 是否开启,是否配置了 `iptables` MASQUERADE |
| `AllowedIPs` 不生效 | 检查客户端配置是否正确,是否设置了 `PersistentKeepalive` |
✅ 九、安全建议
1、不要使用默认端口(如 51820),可改用其他端口(如 12345)
2、限制客户端 IP 范围(如只允许 `10.0.0.2/32`)
3、定期轮换密钥
4、使用强密码和 SSH 密钥登录服务器
✅ 十、自动化脚本(可选)
你可以编写一个脚本来快速创建客户端配置:
bash
!/bin/bash
CLIENT_NAME=$1
wg genkey | tee /etc/wireguard/$CLIENT_NAME-privatekey | wg pubkey /etc/wireguard/$CLIENT_NAME-publickey
✅ 总结
| 步骤 | 内容 |
| 1 | 安装 WireGuard |
| 2 | 生成密钥对 |
| 3 | 配置服务器接口 |
| 4 | 启用 IP 转发 |
| 5 | 配置防火墙 |
| 6 | 创建客户端配置 |
| 7 | 客户端连接 |
✅ 成功后,客户端将通过 WireGuard 加密连接到服务器,实现安全的远程访问。
如果你需要我提供 一键脚本 或 多客户端管理工具,也可以告诉我,我可以帮你生成。
📣 商家广告:





0
IP地址: 99.55.235.245
搜索次数: 0
提问时间: 2025-11-11 15:04:01
🛒 域名购买:
t-v.com.cn
9.gz.cn
wzsx.net
41.gold
mj.gs
te.biz
jc9.com.cn
0.bj.cn
wenchangji.cn
815.red
❓️ 热门提问:
机房接地网
在线pdf工具广告少
服务器托管及租用
机房服务器配置
美国空间主机
国外vps站
网站服务托管
万网虚拟云主机
买了主机还要买什么
srt域名
豌豆Ai站群搜索引擎系统
🌐 域名评估:
drone.xj.cn
ss.sc.cn
xphone.luxe
vv.hl.cn
evtol.xz.cn
ykra.cn
qbxg.cn
965.net.cn
kqnm.cn
61.gs
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
网址搜索查询
搜全网
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。