SBC网关/路由器配置特定IP路由后,VPN转发响应无法返回至Windows主机的问题求助
SBC网关/路由器配置特定IP路由后,VPN转发响应无法返回至Windows主机的问题求助
大家好,我遇到了一个网络转发的问题,折腾了两周都没找到解决办法,希望能得到各位的帮助。先把我的环境和操作过程详细说明一下:
基础网络环境
- 本地局域网段:
192.168.100.0/24,默认网关为192.168.100.1 - Windows主机IP:
192.168.100.15 - 一台搭载Ubuntu 20.04的单板计算机(SBC),LAN口(
lan0)IP为192.168.100.207
VPN与路由配置
我在这台SBC上配置了VPN客户端,相关信息如下:
- VPN对应远程网段:
192.168.1.0/24,网卡标识为vpn_mom - DHCP为VPN适配器分配的IP:
192.168.1.166 - 当前能正常ping通远程子网内的所有设备,包括远程网关
192.168.1.1
为了让访问chris.com(对应公网IP34.174.225.83)的流量走VPN,我添加了一条特定路由规则:
ip route add 34.174.225.83 via 192.168.1.1 dev vpn_mom
当前SBC的路由表如下:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default _gateway 0.0.0.0 UG 100 0 0 lan0 83.225.174.34.b 192.168.1.1 255.255.255.255 UGH 0 0 0 vpn_mom link-local 0.0.0.0 255.255.0.0 U 1000 0 0 lan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 vpn_mom 192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 lan0
从SBC本地执行traceroute chris.com完全符合预期:访问该域名的流量通过VPN进出,其他互联网流量则正常走lan0接口,没有任何问题。
转发配置与问题现象
为了让Windows主机通过SBC转发流量,我做了以下操作:
- 开启SBC的IP转发功能:
sysctl net.ipv4.ip_forward=1 - 将Windows主机的默认网关修改为SBC的IP:
192.168.100.207
测试后发现:Windows主机上除了chris.com之外,其他所有互联网访问都能正常工作。但访问chris.com时完全无法连接。
我用tcpdump在SBC上抓包分析,发现:
- Windows主机发往
chris.com的请求确实通过SBC的vpn_mom接口发送出去了 - 但远程返回的响应没有被转发回Windows主机(192.168.100.15)
我已经在网上搜索了两周,尝试了各种可能的配置调整,但始终没能解决这个问题。有没有大佬能帮我分析一下问题出在哪里,该怎么解决?
备注:内容来源于stack exchange,提问作者Chris Zahrt
相关产品推荐
相关产品推荐

