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的时候,直接就超时了,完全没响应。
抓包和路由排查的细节
抓包信息
Azure虚拟网络网关抓包:
抓到的报文显示是
172.20.0.5(也就是OpenVPN服务器在Azure的网卡地址)向10.1.0.8发送了ICMP“目标不可达(端口不可达)”的报文,但奇怪的是,这里用的不是客户端的172.32.128.14地址——我明明已经禁用了伪装(masquerade),而且也开启了路由转发功能。OpenVPN服务器上用tcpdump抓包:
IP 172.32.128.14 > 10.1.0.8: ICMP echo request, id 1, seq 970, length 40能看到客户端发往
10.1.0.8的请求包,但从头到尾都没看到任何回复包回来。本地Palo Alto防火墙抓包:
这里能看到来自172.32.128.14的请求,也能看到10.1.0.8返回的回复包,但这些回复包好像在进入Azure网络之前就丢了,根本到不了172.32.128.0/17这个客户端网段。
路由表信息
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的网卡地址Azure虚拟网络的路由表:
名称 网络段 下一跳类型 ToAure 172.31.128.0/17 172.20.0.5 ToLocalNet 10.1.0.0/24 VirtualNetworkGateway
有没有大佬能帮忙分析下,为什么客户端网段和本地内网之间的通信会不通呢?真的万分感谢!
备注:内容来源于stack exchange,提问作者dave1329
相关产品推荐
相关产品推荐

