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

OpenVPN客户端无法访问本地内网服务器(端口不可达)问题求助

OpenVPN客户端无法访问本地内网服务器(端口不可达)问题求助

各位大佬好,我最近遇到了一个网络连通性的问题,折腾了好久都没解决,想请大家帮忙分析下:

我的网络环境概况

  • 我在Azure上部署了一台Debian系统的OpenVPN服务器,它所在的Azure虚拟网络段是172.20.0.0/24
  • 这个Azure虚拟网络已经通过IPsec站点到站点VPN和本地内网10.1.0.0/24打通了,两端分别是Azure虚拟网络网关和本地的Palo Alto防火墙,目前172.20.0.0/24和10.1.0.0/24之间的通信完全正常
  • OpenVPN服务器还配置了点到点VPN,给客户端分配的地址段是172.32.128.0/17,现在客户端和Azure内网172.20.0.0/24的通信也没问题

遇到的问题

现在的麻烦是,OpenVPN客户端(比如我用来测试的172.32.128.14)没办法访问本地内网的服务器,比如ping本地DNS服务器10.1.0.8的时候,直接就超时了,完全没响应。

抓包和路由排查的细节

抓包信息

  1. Azure虚拟网络网关抓包:

    抓到的报文显示是172.20.0.5(也就是OpenVPN服务器在Azure的网卡地址)向10.1.0.8发送了ICMP“目标不可达(端口不可达)”的报文,但奇怪的是,这里用的不是客户端的172.32.128.14地址——我明明已经禁用了伪装(masquerade),而且也开启了路由转发功能。

  2. OpenVPN服务器上用tcpdump抓包:

    IP 172.32.128.14 > 10.1.0.8: ICMP echo request, id 1, seq 970, length 40
    

    能看到客户端发往10.1.0.8的请求包,但从头到尾都没看到任何回复包回来。

  3. 本地Palo Alto防火墙抓包:
    这里能看到来自172.32.128.14的请求,也能看到10.1.0.8返回的回复包,但这些回复包好像在进入Azure网络之前就丢了,根本到不了172.32.128.0/17这个客户端网段。

路由表信息

  1. OpenVPN服务器的路由表:

    default via 172.28.1.1 dev eth0
    10.1.0.0/24 via 172.28.1.1 dev eth0
    172.20.0.0/24 dev eth0 proto kernel scope link src 172.20.0.5
    172.32.128.0/17 via 172.32.128.2 dev tun0
    172.32.128.2 dev tun0 proto kernel scope link src 172.32.128.1
    

    注:172.20.0.5是OpenVPN服务器在Azure的网卡地址

  2. Azure虚拟网络的路由表:

    名称网络段下一跳类型
    ToAure172.31.128.0/17172.20.0.5
    ToLocalNet10.1.0.0/24VirtualNetworkGateway

有没有大佬能帮忙分析下,为什么客户端网段和本地内网之间的通信会不通呢?真的万分感谢!

备注:内容来源于stack exchange,提问作者dave1329

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:58:04