私有远程访问

在 VPS 上运行 WireGuard,并确保路由与恢复路径清晰

WireGuard VPS 可以为您有权使用的系统提供加密远程访问。可靠部署依赖明确的地址规划、防火墙与转发规则、受保护密钥、经过测试的 IPv4 和 IPv6 路由,以及不依赖隧道本身的恢复路径。它不承诺匿名,也不意味着可以绕过规则。

关键信息

常用监听端口示例
`51820/udp`,可配置且并非强制要求
身份模型
公钥标识对等端,私钥必须保密
路由控制
`AllowedIPs` 影响对等端选择和允许的来源路由
恢复规则
完成验证前保留隧道外的控制台或 SSH 访问

先画出隧道与信任边界

列明授权用户、对等设备、受保护子网、DNS 解析器和应通过隧道的目标。确定 VPS 只是远程访问端点、通往另一私有网络的路由器,还是出口网关。这些设计需要不同的转发、过滤和日志选择。避免隧道地址与客户端所在本地网络重叠。

WireGuard 会加密已配置对等端之间的数据包,但不能保护已被入侵的端点、验证应用用户,或隐藏流量离开出口 VPS 后的活动。相关网络仍可观察 VPS 公共地址和时间信息。仅将其用于合法的私有连接,并继续采用应用身份验证和数据保护控制。

  • 为每个对等端分配唯一的隧道地址和密钥对。
  • 记录 IPv4、IPv6、DNS 和互联网出口是否在范围内。
  • 不要路由未经授权承载的流量。

更改防火墙前先核实网络可达性

确认 VPS 公共地址、默认路由、接口名称、服务商防火墙、客户系统防火墙,以及目标地址族是否已启用 IP 转发。典型部署仅允许一个选定的 UDP 监听端口,例如 51820/udp,保留管理访问,并按目标过滤转发流量,而不是接受所有数据包。

使用 ip routess -lunp 和服务商控制台建立基线。若客户端发送 IPv6,请确认 VPS 具有已路由 IPv6 和相应防火墙规则;不要假设仅适用于 IPv4 的伪装也能覆盖它。应用更改前保存当前防火墙配置,并为远程实验保留自动回滚机制。

  • 只开放已配置的 UDP 端口和必要管理路径。
  • 仅在架构需要时应用转发与 NAT 规则。
  • 从真正的外部网络测试,不要只从 VPS 自身测试。

把密钥和 `AllowedIPs` 当作安全控制

在实际使用私钥的设备上生成私钥并限制文件权限,只共享公钥。在 /etc/wireguard/wg0.conf 中逐一审查对等端:AllowedIPs 会影响向该对等端发送哪些流量,以及接受来自它的哪些源地址。过宽或重叠的条目可能把流量路由到错误对等端,或意外扩大访问。

NAT 后方的漫游客户端可能需要 PersistentKeepalive,但只应在必要时使用,并根据网络环境选择间隔。保活不能替代监控。设备丢失或人员离开后应立即删除其公钥,怀疑泄露后签发新密钥对,并保留将密钥映射到所有者的清单,但不得公布私钥材料。

  • 切勿通过工单或聊天发送私钥。
  • 使用满足任务所需的最窄隧道路由。
  • 记录密钥签发、所有者、设备、轮换与撤销。

验证握手、路由、DNS、MTU 和泄漏

启动接口后,通过 wg show 检查预期对等端、最近握手、端点和传输计数器。测试隧道地址、每个受保护目标、DNS 解析,以及两个地址族的预期公共出口。在客户端使用 ip route 确认哪些前缀进入隧道,不要根据一次成功的 ping 推断行为。

若小数据包正常但较大传输停滞,应先调查路径 MTU 与封装开销,不要盲目降低 MTU。在有代表性的移动、办公和家庭网络上测试。确认隧道故障不会违反客户端预期路由策略而泄漏流量,并确保管理恢复仍可用。

  • 测试允许的目标以及特意禁止的目标。
  • 分别检查 IPv4、IPv6 和 DNS。
  • 记录已验证配置和回滚点。

将隧道作为高权限网络服务运维

修补受支持的操作系统,监控接口可用性、磁盘容量、异常传输变化和失败的管理访问,并备份配置而不暴露私钥。限制能够编辑对等端定义或防火墙规则的人员。明确授权用户如何申请新设备、报告丢失并证明账户控制权。

按计划审查对等端、密钥、路由、DNS、转发和业务需求。删除过期访问,并在内核、防火墙或网络变更后测试恢复。停用服务器时,应撤销对等端、擦除配置和密钥材料,并确认 DNS 或自动化不再指向旧端点。

  • 在无法访问时发出告警,但不收集不必要的浏览数据。
  • 保持配置备份加密并限制访问。
  • 每次服务商或防火墙变更后重新测试路由。

来源

  1. WireGuard — 快速入门
  2. Linux 内核文档 — WireGuard Netlink 规范
  3. NIST SP 800-123 — 通用服务器安全指南
常见问题

常见问题

WireGuard 会让 VPS 流量匿名吗?

不会。它只加密已配置对等端之间的流量。端点 IP、时间、VPS 账户、出口流量、应用和其他记录仍可能建立关联。

WireGuard 必须使用 51820 端口吗?

不必。51820/udp 是常见示例。已配置监听器可以使用其他合适的 UDP 端口,但必须与服务商和客户系统防火墙规则一致。

没有握手时应检查什么?

核实端点地址与端口、UDP 防火墙路径、公钥、系统时间,并用 ss -lunp 查看监听状态、用 wg show 查看对等端状态。排查期间保留控制台访问。

是否应把 `AllowedIPs` 设为默认路由,让所有流量进入隧道?

仅当全隧道设计是有意为之且已经测试时才这样做。若只访问特定系统,使用较窄前缀可减少路由意外和不必要暴露。