排除多宿主设备上的默认路由故障

排除多宿主设备上的默认路由故障

我正在尝试设置一个多宿主 Debian 系统,以便每个接口都有一个默认路由,而不仅仅是系统的默认路由。这是一个众所周知的设置,但我似乎无法让它工作,而且我不确定如何以我有限的网络知识来最好地排除故障。

作为参考,这些是我关注的主要信息来源 http://www.thegeekstuff.com/2014/08/add-route-ip-command/#comments https://ubuntuforums.org/showthread.php?t=2044148 http://lartc.org/lartc.html#LARTC.RPDB.MULTIPLE-LINKS https://unix.stackexchange.com/questions/4420/reply-on-same-interface-as-incoming

我尝试了两种方法

  • 接口启动后更改 IP 路由(DHCP/手动)
  • 编辑 /etc/network/interfaces 文件以使用 post-up / post-down (静态)

但我最终只选择一条默认路线。

这是启动后的路由表。 在此处输入图片描述

我已将新的 IP 表添加到 /etc/iproute2/rt_tables

在此处输入图片描述

然后我手动应用更改,但最终得到相同的 IP 路由输出

在此处输入图片描述

这是我的接口文件的最新版本的示例,结果相同。

在此处输入图片描述

我想学习如何解决这个问题,但也愿意寻求解决方案。

谢谢

答案1

通常,只有一个默认路由。在多宿主设备上,在路由到 Internet 的接口上设置默认路由。仅/etc/network/interfaces包含default该接口的设置。如果其他接口可以访问非本地路由,则可能需要其他路由。尝试限制这些路由的数量。

看起来您正在尝试进行分割路径路由。在配置中去掉default和规范,并使用命令来配置路由。每个接口只需要几行,例如:gatewaypost-up

post-up ip route add 192.168.30.0/24 dev eth1 src 192.168.30.100 table T2
post-up ip route add default via 192.168.30.1 table T2
post-up ip route add 192.168.30.0/24 dev eth1 src 192.168.30.100
post-up ip rule add from 192.168.30.100 table T2

您可能需要使用命令ip rule show来显示您的路由规则表。

这仍然会让你没有default本地流量的默认路由。NAT 和伪装增加了额外的复杂性。

使用类似的防火墙工具shorewall可能会简化事情,特别是当您想要跟踪和平衡流量时。

相关内容