- 为什么要在 Ubuntu 22.04 上选择 WireGuard?
- 先决条件
- 在 Ubuntu 22.04 上安装 WireGuard
- 生成密钥和文件结构
- 服务器配置 — 实际示例 wg0.conf
- 客户端配置(Linux、Windows、移动设备)
- 启用 IP 转发和 NAT
- 防火墙(UFW/nftables/iptables)
- 设置 WireGuard 服务
- MTU、Keepalive 和 AllowedIPs 优化
- 隧道类型和允许的IP地址
- 针对不同用例的专家建议
- 安全、钥匙流通和监控
- 多节点配置及在生产环境中的应用
- 快速故障排除
- 实用技巧和实验方法
- 连接至公司服务(85+ 个地点和服务)
- 结论
- 查看计划和支持
- 常见问题解答
为什么要在 Ubuntu 22.04 上选择 WireGuard?
如果您正在寻找 VPN 现代的, 风格, 安全的 而且 高效 要连接云服务器、用于交易、游戏或访问GPU集群的VPS, WireGuard 这是最佳选择之一。.
本指南提供分步说明,指导您如何在计算机上安装、配置、优化 WireGuard,以及设置 WireGuard 的安全提示。 Ubuntu 22.04 涵盖实际示例、Linux 命令以及服务器/客户端配置。.
先决条件
开始之前,你需要:
- 服务器 Ubuntu 22.04 需要root或sudo用户权限。.
- 在防火墙中打开UDP端口(默认) 51820).
- 通过 SSH 访问服务器。.
- 建议:使用公司提供的VPS或云服务器之一。 全球85多个地点 实现最低延迟和最佳 BGP 路由。.
在 Ubuntu 22.04 上安装 WireGuard
在 Ubuntu 22.04 中,WireGuard 软件包通常可在官方软件仓库中找到。如果您需要最新版本,可以使用 PPA 或 Backports,但官方发行版软件包通常就足够稳定且可用。.
apt update && apt upgrade -y
apt install -y wireguard qrencode iptables-persistent生成密钥和文件结构
以下示例展示了服务器密钥的生成以及一个示例客户端。必须使用适当的权限保存文件,以保护私钥。.
mkdir -p /etc/wireguard
cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee client_private.key | wg pubkey > client_public.key
chmod 600 /etc/wireguard/*key服务器配置 — 实际示例 wg0.conf
路径中的示例服务器配置文件 /etc/wireguard/wg0.conf 它看起来像这样。请将括号中的值替换为密钥和网关的实际值。请注意,在云环境中,网络接口名称可能为…… eth0 不(例如) ens3 或者 ens5).
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <محتوای سرور_private.key>
SaveConfig = true
# NAT هنگام بالا آمدن اینترفیس
PostUp = ip -4 rule add from 10.10.0.0/24 table 51820 || true
PostUp = ip -4 route add default via <SERIAL_IF_GATEWAY> dev eth0 table 51820 || true
PostUp = iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.10.0.0/24 -o eth0 -j MASQUERADE客户端配置(Linux、Windows、移动设备)
以下是一个用于创建全隧道的 Linux 或移动客户端的示例配置:
[Interface]
PrivateKey = <محتوای client_private.key>
Address = 10.10.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = <محتوای server_public.key>
Endpoint = your.server.ip.or.hostname:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
MTU = 1420生成适用于移动设备的二维码:
qrencode -t ansiutf8 < client.conf启用 IP 转发和 NAT
要使流量能够通过服务器,必须启用 IP 转发并设置适当的 NAT 规则。.
sysctl -w net.ipv4.ip_forward=1
# برای دائمی کردن:
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wg-forward.conf防火墙(UFW/nftables/iptables)
以下是UFW和nftables的配置示例。如果您使用UFW,还应该启用ip_forward并添加NAT规则。.
ufw allow 51820/udp
ufw allow OpenSSH
echo "net/ipv4/ip_forward=1" > /etc/ufw/sysctl.conf
# اضافه کردن قوانین NAT ممکن است در /etc/ufw/before.rules یا با iptables-persistent انجام شودnftables 示例(iptables 的替代方案):
nft add table ip wg
nft 'add chain ip wg postrouting { type nat hook postroute priority 100; }'
nft add rule ip wg postrouting oifname "eth0" ip saddr 10.10.0.0/24 masqueradeIP地址 查看。.设置 WireGuard 服务
配置完成后,您可以启用并运行该服务,并检查其状态。.
systemctl enable wg-quick@wg0
systemctl start wg-quick@wg0
wg show
ip a show wg0MTU、Keepalive 和 AllowedIPs 优化
MTU: 默认值 1420 通常情况下是合适的;但在运营成本较高的情况下,可能需要减少到 1380 是。.
持久保持活动: 数量 25 适用于客户端,可避免 NAT 超时。.
允许的IP地址: 在 WireGuard 中,它既充当路由器又充当过滤器——请仔细配置。.
隧道类型和允许的IP地址
两种常见模式:
- 隧道AllowedIPs = 0.0.0.0/0, ::/0
- 分裂隧道AllowedIPs 仅包含必须通过 VPN 的网络(例如 10.10.0.0/24 或 192.168.1.0/24)。.
针对不同用例的专家建议
1) 用于交易(外汇/加密货币)的虚拟专用服务器 (VPS)
对于交易而言,选择靠近交易所服务器的数据中心位置至关重要。在 85 多个数据中心位置中,选择距离交易所服务器最近且具有低延迟 BGP 路由的数据中心,以降低延迟。.
配置: 完全隧道,防火墙限制严格,MTU 标准,固定 keepalive。.
安全: 将 SSH 访问限制在 VPN 的内部 IP 地址,并使用具有 DDoS 防护功能的专用服务器或 VPS。.
2)游戏VPS
对于游戏而言,选择靠近游戏服务器或玩家网络服务提供商 (ISP) 的位置。使用分离隧道技术,仅将游戏流量通过 VPN 传输,可以提供更低的延迟。.
降低延迟: 建议使用UDP协议、合适的MTU值以及具有10Gbps网络接口的服务器。.
3)GPU云、人工智能和渲染
WireGuard 适用于安全快速地访问 GPU 服务器或渲染集群。对于大数据传输而言,选择与 AI 数据中心或网络骨干网直接连接的部署位置至关重要。.
配置: AllowedIP 仅限于集群子网,并在网络级别使用 QoS 参数。.
4)网站托管和数据库
您可以将 WireGuard 用作隔离的私有网络,用于 Web 服务器和数据库之间的安全通信。管理流量则通过 VPN 和公共网络保留在公共网络上。.
安全、钥匙流通和监控
主要维护和安全提示:
- 关键维护: 私钥绝对不能公开;对于敏感服务器,建议使用加密文件系统。.
- 关键轮转: 制定密钥更新计划;在删除旧密钥之前添加新节点,以避免中断。.
- 日志记录和监控: 诸如此类的工具 wg使用 iptables、fail2ban 和 Prometheus/Grafana 日志进行监控。.
- 限制访问: 将每个对等节点限制为特定的 IP/服务,避免无故使用全局 AllowedIPs。.
多节点配置及在生产环境中的应用
要添加多个客户,只需点击该部分即可。 [同行] 为每个客户端添加一个块服务器。WireGuard 适用于大量对等节点,但当客户端数量扩展到数千时,应使用编排或负载均衡器。.
[Peer]
PublicKey = <client1_pubkey>
AllowedIPs = 10.10.0.2/32
[Peer]
PublicKey = <client2_pubkey>
AllowedIPs = 10.10.0.3/32快速故障排除
故障排除提示和说明:
- wg 秀检查状态、RX/TX 统计信息和上次握手。.
- journalctl -u wg-quick@wg0 -e查看服务日志。.
- tcpdump -i wg0:正在检查隧道内的包裹。.
- 如果握手失败,请确保防火墙和 NAT 提供商已打开 UDP 端口(某些家庭 NAT 网络需要端口转发)。.
实用技巧和实验方法
可持续创业的实践经验:
- 在采用运营商 NAT 的网络中,可能需要使用非常规端口或中继/桥接器。.
- 对于移动客户端和具有动态 IP 的客户端,使用 PersistentKeepalive 非常有用。.
- 将 WireGuard 网关放置在可直接连接到 CDN 的位置,可以优化负载和延迟。.
连接至公司服务(85+ 个地点和服务)
如果您想在全球基础设施上部署 WireGuard,请考虑以下事项。 85+ 个地点 您可以选择距离公司数据中心最近的位置,以降低延迟并优化路由。提供的服务包括:
- 用于交易的VPS,具有低延迟和防DDoS功能
- 具有低延迟网络接口的游戏VPS
- 用于人工智能和渲染的图形服务器(GPU 云),通过 WireGuard 提供安全访问。
- 专用服务器和云服务器,具备 BGP/Direct Connect 和 CDN 连接,用于网络流量。
- 为了增强安全性,GitLab 和数据库托管在 WireGuard 内部网络上。
结论
WireGuard 是一款快速、简单且安全的 VPN,在 Ubuntu 22.04 上易于安装和配置。按照以上提示,您可以为交易、游戏、人工智能或内部网络提供安全、低延迟且可靠的隧道。.
为了安全起见 私钥 保护您的网络,设置合适的防火墙, 允许的IP地址 适可而止。.
查看计划和支持
您可以从公司的VPS、独立服务器和GPU云方案中选择,在全球化基础设施上启动您的项目。如有需要,公司的技术团队随时准备为您提供专业配置、最佳位置选择和WireGuard网络设置方面的支持。.









