系统相关
首页 > 系统相关> > 使用交叉线缆在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: flags=8843 metric 0 mtu 1500
 options=9b
 ether 00:04:23:c2:c2:e0
 inet 192.168.0.1 netmask 0xfffffffc broadcast 192.168.0.3
 media: Ethernet autoselect
 status: active
 laggproto lacp
 laggport: em3 flags=1c
 laggport: em2 flags=1c
if_lagg_load="YES"
ifconfig_em2="UP"
ifconfig_em3="UP"
#ifconfig_lagg0="create"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto lacp laggport em2 laggport em3 192.168.0.1 netmask 255.255.255.252"

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

[root@xbox ~]# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 00:04:23:C2:C4:DA  
          inet addr:192.168.0.2  Bcast:192.168.0.3  Mask:255.255.255.252
          inet6 addr: fe80::204:23ff:fec2:c4da/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:140000208 errors:0 dropped:0 overruns:0 frame:0
          TX packets:101560577 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3281219872 (3.0 GiB)  TX bytes:3609990240 (3.3 GiB)
[root@xbox network-scripts]# cat ifcfg-bond0 
DEVICE=bond0
IPADDR=192.168.0.2
NETWORK=192.168.0.0
NETMASK=255.255.255.252
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
[root@xbox network-scripts]# cat ifcfg-eth2
DEVICE=eth2
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
[root@xbox network-scripts]# cat ifcfg-eth3
DEVICE=eth3
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
[root@xbox network-scripts]# tail -n2 /etc/modprobde.conf
alias bond0 bonding
options bond0 mode=802.3ad miimon=100

编辑:我发现,在FreeBSD框中,em2和em3的MAC地址是相同的,在Linux框中,eth2和eth3的MAC地址是不同的.

解决方法:

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

标签:linux,networking,freebsd,ethernet,bonding
来源: https://codeday.me/bug/20190810/1637983.html