FreeBSD 和 Linux 上的 802.3ad 使用交叉电缆吗?

FreeBSD 和 Linux 上的 802.3ad 使用交叉电缆吗?

我在 FreeBSD 8.1 上设置了一个 NFS 服务器,它将为一个 Linux 客户端提供服务。每个盒子都有一个双端口 1gig 光纤卡,每个盒子都通过此链路直接连接到另一个盒子。不涉及开关。

我想我的问题是,既然 FreeBSD 和 Linux 都支持 802.3ad,那么在不使用交换机时,以下配置是正确的方法吗?或者,还有更好的方法?这还支持吗?

通过此设置,我可以在主机之间 ping、通过 NFS 传输文件等。

FreeBSD em2 <-> eth2 Linux
         em3 <-> eth3

我已经为 802.3ad (lacp) 配置了 em2 和 em3:

lagg0: 标志=8843 公制 0 mtu 1500
 选项=9b
 以太 00:04:23:c2:c2:e0
 inet 192.168.0.1 网络掩码 0xffffffffc 广播 192.168.0.3
 媒体:以太网自动选择
 状态:活跃
 拉格原语 lacp
 laggport:em3 标志=1c
 laggport:em2 标志=1c
if_lagg_load =“是”
ifconfig_em2="向上"
ifconfig_em3="向上"
#ifconfig_lagg0="创建"
克隆接口=“lagg0”
ifconfig_lagg0="laggproto lacp laggport em2 laggport em3 192.168.0.1 网络掩码 255.255.255.252"

以及用于 802.3ad 绑定的 eth2 和 eth3:

[root@xbox ~]# ifconfig bond0
bond0 链路 encap:以太网 HWaddr 00:04:23:C2:C4:DA  
          inet 地址:192.168.0.2 广播:192.168.0.3 掩码:255.255.255.252
          inet6 地址:fe80::204:23ff:fec2:c4da/64 范围:链接
          上行广播运行主组播 MTU:1500 指标:1
          RX 数据包:140000208 错误:0 丢弃:0 溢出:0 帧:0
          TX 数据包:101560577 错误:0 丢弃:0 溢出:0 运营商:0
          碰撞:0 txqueuelen:0
          RX 字节:3281219872 (3.0 GiB) TX 字节:3609990240 (3.3 GiB)
[root@xbox 网络脚本]# cat ifcfg-bond0
设备=bond0
IPADDR=192.168.0.2
网络=192.168.0.0
网络掩码=255.255.255.252
用户控制=否
BOOTPROTO=无
启动=是
[root@xbox 网络脚本]# cat ifcfg-eth2
设备=eth2
用户控制=否
启动=是
主=债券0
从=是
BOOTPROTO=无
[root@xbox 网络脚本]# cat ifcfg-eth3
设备=eth3
用户控制=否
启动=是
主=债券0
从=是
BOOTPROTO=无
[root@xbox 网络脚本]# tail -n2 /etc/modprobde.conf
别名 bond0 绑定
选项 bond0 模式=802.3ad miimon=100

编辑:我发现,在 FreeBSD 机器上,em2 和 em3 的 MAC 地址是相同的,而在 Linux 机器上,eth2 和 eth3 的 MAC 地址是不同的。

答案1

你可以这样做,但它不会达到你想要的效果。由于 802.11ad 标准的一个深奥要求,即要求通过中继发送到同一主机的数据包按照发送的顺序到达,内核无法通过多个链路将数据包负载平衡到同一主机 - 它可以仅通过一条链路将数据包发送到某些主机,并通过另一条链路将数据包发送到其他一些主机。由于您只有一台主机(在每一端),因此所有数据包最终都会通过一个链路。

答案2

支持您的设置。如果使用链路聚合的主机之间有交换机,则交换机需要支持 LACP,但如果没有交换机,则没有问题。

相关内容