You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenVPN Access Server无法通过本地IP访问客户端问题求助

OpenVPN服务端无法通过客户端本地IP反向访问的解决方案

核心根因

你判断的方向是对的,问题本质是两个层面的配置缺失:

  • 客户端默认路由规则下,从VPN隧道(tun0接口)收到的、目标为本地LTE接口IP的请求,回包会默认走LTE公网接口,不会返回到VPN隧道
  • Ubuntu系统默认开启严格模式的反向路径过滤(rp_filter),会直接丢弃上述路由不匹配的入站数据包

分步操作(所有操作均在Ubuntu客户端执行)

1. 调整反向路径过滤规则

先做临时配置验证效果,不影响系统原有配置:

# 先查询自己的LTE接口名,一般为wwan0,可通过ip a命令确认,以下统一替换为实际接口名
sysctl -w net.ipv4.conf.all.rp_filter=2
sysctl -w net.ipv4.conf.tun0.rp_filter=2
sysctl -w net.ipv4.conf.<LTE接口名,如wwan0>.rp_filter=2

临时验证没问题后,修改/etc/sysctl.conf文件,在末尾添加以下三行实现永久生效:

net.ipv4.conf.all.rp_filter=2
net.ipv4.conf.tun0.rp_filter=2
net.ipv4.conf.<LTE接口名>.rp_filter=2

执行sysctl -p使永久配置生效。

2. 配置策略路由保证回包走VPN隧道

首先确认两个网段信息:

  • OpenVPN服务端分配的VPN网段,可通过tun0接口地址判断,默认一般为10.8.0.0/24
  • 客户端LTE接口的本地网段,即你提到的X.X.Y.0/24

执行以下命令配置:

# 新增自定义路由表,仅需执行一次
echo "100 vpn_back" >> /etc/iproute2/rt_tables
# 配置VPN网段的流量走tun0接口
ip route add <VPN网段,如10.8.0.0/24> dev tun0 table vpn_back
# 配置策略:目标地址为VPN网段、源地址为客户端本地LTE网段的流量,走上述自定义路由表
ip rule add to <VPN网段> from <X.X.Y.0/24> table vpn_back

临时验证生效后,可将后两条ip命令添加到OpenVPN客户端的up脚本中,避免VPN重启或系统重启后配置丢失。

3. 防火墙规则验证

如果客户端开启了ufw等防火墙,需要允许VPN网段的入站访问:

ufw allow in on tun0 from <VPN网段>

效果验证

所有配置完成后,在OpenVPN服务端直接ping客户端的本地LTE接口IP,可正常通信即为配置成功。


内容的提问来源于stack exchange,提问作者TjM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:09:02