Назад | Перейти на главную страницу

Настройка FreeBSD Nic - два сетевых адаптера с задержкой

У меня есть сервер под управлением FreeBSD 9.0. Он имеет две сетевые карты, использующие сетевые драйверы igb. Мне был предоставлен диапазон 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% потерю пакетов. Я пробовал перезапуск службы netif, и это ничего не примечательное, хотя, как

ifconfig: create: bad value 

отображается под lagg0, igb1 и igb0 и показывает status: no carrier

но если я снова наберу ifconfig после перезапуска, он покажет status: active, однако по-прежнему без подключения к Интернету и без возможности проверить связь со шлюзом.

Я сослался на несколько сайтов, но очень немногие ссылаются на двойную настройку nic, lagg с ipv4 и ipv6, и я в значительной степени не понимаю, как исправить / устранить проблему. Любые идеи о том, с чего начать, были бы замечательными.

Используя совет Мэтта, я смог заставить igb0 и igb1 работать отдельно.
Убедившись, что я могу пинговать шлюз с каждым интерфейсом независимо, я снова сбросил интерфейс lagg, сделал service netif restart за которым следует service routing restart и снова смог пропинговать шлюз.

Что касается того, почему они не работали вместе, используя исходную конфигурацию, я не могу сказать. Единственное, что я мог понять, это то, что оба интерфейса igb0 и igb1 пытались подключиться к IP, и их переключение заставило их искать возможность подключения к интерфейсу lagg0.