到远程网络的多个路由,从与请求相同的接口发送响应?

到远程网络的多个路由,从与请求相同的接口发送响应?

我有以下主机,有一个接口和两个 GRE 隧道。它认为它本地连接到三个网络。

eth0:
 inet 10.1.0.123/16
gre1:
 inet 172.16.0.123/16
gre2:
 inet 192.168.0.123/16

两个 GRE 隧道都连接到第四个网络10.0.0.0/16(这与 eth0 的网络无关)。我想配置该主机上的路由表,以便10.0.0.0/16来自网络的请求也gre1能通过172.16.0.123/16via 得到响应gre1。对于隧道来说反之亦然gre2

  • 如果我没有为 配置路由10.0.0.0/16,那么数据包会因为 而被过滤rp_filter
  • 如果我禁用rp_filter但不配置路由,10.0.0.0/16则响应数据包会eth0因该default路由而出去。
  • 我可以将路由设置为10.0.0.0/16gre1gre2但无法同时设置它们。
$ sudo ip route add 10.0.0.0/16 dev gre2
RTNETLINK answers: File exists

相关内容