如何在 sbc 网关/路由器上正确进行 ip 特定路由?不转发响应

如何在 sbc 网关/路由器上正确进行 ip 特定路由?不转发响应

我的网络使用 192.168.100.0/24

路由器网关是192.168.100.1

我有一台 Windows 电脑,地址是 192.168.100.15

我在 SBC 上全新安装了 ubuntu 20.04,ip 为 192.168.100.207 lan0

在此 sbc 上,我在 192.168.1.0/24 vpn_mom 上配置了一个 vpn 客户端

DHCP 已为 vpn 适配器分配了 ip 192.168.1.166

我可以毫无问题地 ping 该远程子网上的其他机器,包括 192.168.1.1

我还为chris.com(34.174.225.83)设置了一条路由,如下所示:

ip route add 34.174.225.83 via 192.168.1.1 dev vpn_mom

使路线看起来像:

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 执行到 chris.com 的跟踪路由,它就会按照我希望的方式工作,来自 vpn 网络的出站和入站流量都会得到处理,而所有其他互联网流量则会继续按预期从 lan0 工作。

然后我用这个命令设置转发:

sysctl net.ipv4.ip_forward=1

然后我将 Windows 机器上的网关更改为 192.168.100.207 (sbc) 在 Windows 机器上进行测试表明,除 chris.com 外,所有互联网流量均运行正常

检查 tcpdump 显示请求通过 sbc 上的 vpn 发送,但响应没有发送回 windows 机器 (192.168.100.15)

我已经在互联网上搜索了几个星期,但毫无收获。

答案1

尝试在 VPN 接口上添加 NAT,问题可能是目标服务器/来自另一个 VPN 端的网络不知道 192.168.100.0/24,请尝试在 VPN 接口上添加 nat。

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o vpn_mom -j MASQUERADE

答案2

远端需要一条到达的路线192.168.100.0/24

这条路线将是通过VPN 服务器。请记住,路由是双向的,不需要对称;数据包是一个离散单元,回复不需要遵循与前一个相同的跳数。

相关内容