FreeBSD Nic 设置 - 带 lagg 的双 NIC

FreeBSD Nic 设置 - 带 lagg 的双 NIC

我有一台运行 FreeBSD 9.0 的服务器。它有两个使用 igb 网络驱动程序的 NIC。我被赋予了一系列 IP,为了举例说明,我将编造一些 IP 地址,假设为 192.168.0.24/29,广播 IP 为 192.168.0.31。网关为 192.168.0.25。

我的rc.conf设置如下:

defaultrouter="192.168.0.25"
hostname="web01.dev.example.com"
ifconfig_igb0="up"
ifconfig_igb1="up"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto failover laggport igb0 laggport igb1 192.168.0.24/29"

当我输入时ifconfig我得到

 igb0: flags=8843<UP,BROADCST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=401bb<RXCSUM, TXCSUM, VLAN_MTU, VLAN_HWTAGGING, JUMBO_MTU, VLAN_HWCSUM, TSO4, VLAN_HWTSO>
    ether XX:XX:XX:XX:XX:XX
    inet6 XXXX::XXX:XXXX:XXXX:XXXX%igb0 prefixlen 64 scopeid 0x1
nd6 options=29<PERFORMNUD. IFDISABLED< AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active

igb1: flags=8843<UP,BROADCST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=401bb<RXCSUM, TXCSUM, VLAN_MTU, VLAN_HWTAGGING, JUMBO_MTU, VLAN_HWCSUM, TSO4, VLAN_HWTSO>
    ether XX:XX:XX:XX:XX:XX
    inet6 XXXX::XXX:XXXX:XXXX:XXXX%igb0 prefixlen 64 scopeid 0x1
nd6 options=29<PERFORMNUD. IFDISABLED< AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options = 600003<RXCSUM, TXCSUM, RXCSUM_IPV6, TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 XXXX:XXXXX prefixlen 62 scipeid 0x5
    inet 127.0.0.1 netmask 0xff000000

lagg0 flags=8843<UP,BROADCST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=401bb<RXCSUM, TXCSUM, VLAN_MTU, VLAN_HWTAGGING, JUMBO_MTU, VLAN_HWCSUM, TSO4, VLAN_HWTSO>
ether XX:XX:XX:XX:XX:XX
inet6: XXXX::XXX:XXXX:XXXX:XXXX%lagg0 prefixlen64 scopeid 0x6
inet 192.168.0.24 netmask 0xffffffff8 broadcast 192.168.0.31
nd6 options=29 <PERFORMNUM IFDISABLED AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
laggproto failover lagghash 12,13,14
laggport: igb1 flags=0<>
laggport: igb0 flags=5<MASTER,ACTIVE>

看起来不错,接口已启动并处于活动状态。我去 ping 网关,发现数据包丢失率为 100%。我试过 service netif restart,结果没什么特别,尽管

ifconfig: create: bad value 

显示在 lagg0、igb1 和 igb0 下,并显示status: no carrier

但是如果我在重启后再次输入 ifconfig,它会显示status: active,但仍然没有互联网连接,并且仍然无法 ping 网关。

我参考了几个网站,但很少有网站提到双网卡、IPv4 和 IPv6 的 lagg 设置,我几乎不知道如何修复/排除问题。任何关于从哪里开始的想法都很好。

答案1

根据 Matt 的建议,我能够让 igb0 和 igb1 分别工作。
确认我可以使用每个接口单独 ping 网关后,我重新放回 lagg 接口,执行了 aservice netif restart然后再执行 a service routing restart ,然后能够再次 ping 网关。

至于为什么它们不能使用原始配置一起工作,我说不上来。我唯一能想到的就是,igb0 和 igb1 接口都在尝试连接到 IP,而将它们切换为关闭状态会迫使它们转向 lagg0 接口进行连接。

相关内容