科学上网

持续优化服务器资源和服务质量,为广大用户打造更加便捷、高效、安全的全球网络加速服务,是值得信赖的专业VPN加速平台。

rdd9514472 2026-07-04 科学上网 2 0

在 Linux 上配置 VPN 时遇到“没有网关”的问题,通常意味着 VPN 连接未能正确设置默认路由或网关参数,以下是逐步排查和解决的方案:


检查 VPN 连接状态

首先确认 VPN 是否已成功连接:

ip a | grep -i tunifconfig | grep -i tun

如果看到 tun0 或类似接口,说明 VPN 已建立,但可能缺少路由。


检查路由表

查看当前路由规则,确认是否添加了 VPN 网关:

ip route showroute -n
  • VPN 网关(如 168.1.1)未出现,可能需要手动添加。
  • 若目标网络(如 0.0.0/0)未通过 VPN 接口(如 tun0),则流量不会走 VPN。

手动添加默认路由

临时添加(重启后失效)

sudo ip route add default dev tun0
# 或指定 VPN 网关(如 OpenVPN 的远程网关)
sudo ip route add default via <VPN_GATEWAY_IP> dev tun0

永久生效(需修改 VPN 配置文件):

  • 对于 OpenVPN,在 .ovpn 文件中添加:

    redirect-gateway def1

    或明确指定路由:

    route 0.0.0.0 0.0.0.0
  • 对于 WireGuard,在 wg0.conf 中确保有:

    [Interface]
    PostUp = ip route add default dev %i

检查 VPN 服务配置

  • OpenVPN:确认服务端推送了网关选项(如 push "redirect-gateway def1")。
  • StrongSwan/IPsec:检查 /etc/ipsec.conf 中的 leftsubnetrightsubnet 是否正确。
  • PPTP/L2TP:可能需要手动配置 ppp0 接口的路由。

防火墙/NAT 干扰

某些防火墙规则可能阻止路由更新:

sudo iptables -L -v -n

临时关闭防火墙测试:

sudo systemctl stop firewalld  # CentOS/RHEL
sudo systemctl stop ufw        # Ubuntu

其他可能性

  • 多网卡冲突:如果存在多个网络接口(如以太网 + Wi-Fi),VPN 可能未优先路由。
  • VPN 客户端限制:某些商业 VPN 客户端(如 NordVPN)可能需要额外参数,--redirect-gateway

日志分析

检查 VPN 服务的日志以获取具体错误:

journalctl -u openvpn@<服务名> -f  # Systemd 系统
tail -f /var/log/syslog            # 通用日志

总结步骤

  1. 确认 VPN 接口已启动。
  2. 检查路由表并手动添加缺失的默认路由。
  3. 修改 VPN 配置文件以持久化路由规则。
  4. 排查防火墙或网络管理器干扰。

如果问题仍存在,请提供以下信息以便进一步诊断:

  • 使用的 VPN 类型(OpenVPN/WireGuard/IPsec 等)。
  • 相关配置文件(隐藏敏感信息)。
  • ip aip route 的输出。

或

猜你喜欢