绑定 VLAN 上的路由

绑定 VLAN 上的路由

我有一个 Linux d/b 服务器(OEL 6.4 但我相信实际上是 Redhat 6),带有连接到瞻博网络交换机的绑定网卡。

我已将 Bond 拆分为多个 VLAN(bond0.11,... bond0.18),IP 地址范围为 192.168.XY/22,以便 d/b 服务器实例可以分别侦听这些地址,从而确保 d/b 访问由适当的 VLAN 成员资格完成,并且不同 VLAN 上的项目如果没有 Juniper 防火墙上的明确规则就无法连接到彼此的数据库。

当我启动网络时遇到了两个问题:

  1. 每个 Bond 网络上的 g/w 均设置为 0.0.0.0
  2. 我必须手动为每个网络添加正确的网关路由

例如,我默认有以下路由:

Destination  GateWay  Genmask        ... Iface
192.168.4.0  0.0.0.0  255.255.252.0      bond0.11
192.168.8.0  0.0.0.0  255.255.252.0      bond0.12
... etc

我必须手动将路由添加到每个网络的网关

route add -net 192.168.4.0 netmask 255.255.252.0 gw 192.168.4.1
route add -net 192.168.8.0 netmask 255.255.252.0 gw 192.168.8.1

我想做的是让它在网络启动时自动设置 X.1 网关地址,但我还没有找到适当的魔法来实现这一点。

我尝试使用以下命令添加 route-bond0.11 的文件:

192.168.4.0/22 via 192.168.4.1

但是当我启动网络时,出现错误

Bringing up interface bond0:                           [ OK ]
Bringing up interface bond0.11: RTNETWORK answers: File exists

我查了一下,通常意味着该路由不需要,因为它已经存在。这可能是因为我得到的是默认的 0.0.0.0 条目。

我在任何 ifcfg-bond0.XX 文件中都没有 GATEWAY 条目(尝试过并且“最后一个”获胜设置全局默认网关,但这不是我在这种情况下想要的)。

我的问题是:

  • 如何让网络在没有 0.0.0.0 条目的情况下启动?
  • 这是否能让 route-bond.XX 文件正常工作?
  • 或者是否有其他方法可以在网络启动时定义路由?

一旦我的手动路由到位,一切都会很好,瞻博网络上的网关都在那里,并且流量按预期在我的 VLAN 之间流动,我只是无法让初始设置为启动或重新启动网络时发生的情况。

编辑令人尴尬的是,在重新启动所有设备后,一切都正常工作,不需要添加路由即可让流量通过交换机传输到其余的 VLAN。这似乎是新设置的暂时性问题和我对网关的理解造成的。

答案1

您似乎读取了错误的路由表信息。

目的地 GateWay Genmask ... Iface
192.168.4.0 0.0.0.0 255.255.252.0 债券0.11
192.168.8.0 0.0.0.0 255.255.252.0 键0.12

上述内容实际上意味着网络 192.168.4.0/255.55.252.0 在 bond0.11 上本地连接,因此无需网关即可访问。
网关条目如下所示:

目的地 GateWay Genmask ... Iface
172.16.0.0 192.168.4.1 255.255.255.0 键0.11

但是,您不需要它将流量发送到本地连接的网络。

所以从我所看到的情况来看,您的接口设置并没有问题,并且通常重新启动后,vlan x 的客户端应该能够连接到 vlan x 上的服务器 IP。

相关内容