选择默认路由的传出接口

选择默认路由的传出接口

我有一个 FreeBSD 8.0 虚拟盒,带有两个以太网接口,em0 和 em1。em0 是 192.168.1.99,em1 是 192.168.1.100。两者都“附加到:Bridged Adapter”。

当两者都上升时,如果我说

# route add default 192.168.1.1
# netstat -rn
# default            192.168.1.1        UGS         1        6    em0

到目前为止一切顺利。它选择了 em0。

# ifconfig em0 down
# route delete 0.0.0.0
# route add default 192.168.1.1
# netstat -rn
# default            192.168.1.1        UGS         1        6    *em0*

好的。所以它仍然即使 em0 已关闭,它也会选择它(它一定非常喜欢它)。我已测试过,如果我为 em0 选择另一个 IP(例如 10.0.0.1),它会选择 em1 作为路由。

这让我很疑惑:如何让 freebsd 选择 em1 作为传出接口?在 linux 中我记得我们可以用参数来做到这一点dev

PS 我确实尝试使用 -interface 选项 - 没有成功。我试过

# route add default 192.168.1.1 -interface 192.168.1.100
# route add default 192.168.1.1 -interface em1

结果是

0.0.0.0&0xc0a80164 192.168.1.1        US          0        0    em0 =>

我正在使用 FreeBSD 8.0-STABLE。如能得到任何帮助,我将不胜感激。

编辑:在 Debian Lenny 上,同样的操作套件正确地选择了向上作为传出接口。当两者都处于 up 状态时

route add default gw 192.168.1.1

选择 eth2 路由添加默认 gw 1​​92.168.1.1 dev eth0 选择 eth0

因此一定有办法在 FreeBSD 上实现这一点,对吗?

答案1

听起来您需要两个 IP 和冗余连接。如果是这样,您需要创建一个 LAGG 适配器,将其连接到两个 NIC,并将 IP 放在 LAGG 接口上。

如果不是这样,您能准确描述您想要实现的目标吗?

答案2

您需要使用-ifp标志,而不是-interface

答案3

您应该查看 FreeBSD 手册中的“链路聚合和故障转移”https://www.freebsd.org/doc/handbook/network-aggregation.html

相关内容