我在网络设备硬件上运行 OpenBSD。它有 5 个 NIC。
我想为 3 个网卡分配同一子网中的不同 IP。例如:
em0:192.168.1.5 em1:192.168.1.90 em2:192.168.1.56
我使用 ifconfig 进行了必要的配置,当所有以太网端口都插入交换机时,所有接口都按预期工作。但路由出了问题。如果我通过任何服务(http、smtp 等)连接到 192.16.1.5,流量将通过链接#3。如果我从 em2 拔下电缆,则无法访问设备上绑定的任何 IP。有没有办法在此 IP 配置中通过不同的链接路由流量?
答案1
您需要在 3 个单独的 Nic 上设置 3 个 ips 的原因是什么?您可以使用 netstat -rn 查看所有路由表,但通常这并不像您希望的那样工作。
您的交换机是否支持 LACP 或类似功能?如果可以,您可以构建一个 LACP 组,将所有 3 个接口放入其中,然后为链接分配 1 个 IP,并将其他 IP 分配为别名。
答案2
你想要的是基于策略的路由。
我猜你已将默认网关设置为 em2 设备。因此,当该链路断开时,指向 em0/1 的任何流量将默认为 em2,然后 em2 不可用。
确保到 em0/1 的流量通过各个相应的设备路由回来,这样就没问题了。
答案3
您遇到了非对称路由的情况。iproute 2 也许可以帮助您。如果您确实无法使用单 IP 通道绑定解决方案,请阅读此内容以了解更多信息。
答案4
您没有说明为什么这样做,但是如果您这样做是因为有多个客户使用相同的 IP 地址范围等情况,那么您将需要使用路由表 ID 来处理这个问题。有关路由表的详细信息,请参阅 man route。