Свич мы на строили по примеру из предыдущего поста, настала очередь роутера.
1. Пересобираем ядро с поддержкой bonding, и обязательно в виде модуля, т.к. только в этом случае мы можем задавать ему разные опции.
2. Настраиваем модуль:
/etc/modprobe.d/bond.conf
alias bond0 bonding
alias bond1 bonding
options bonding mode=4 max_bonds=2 xmit_hash_policy=1
Тут поподробнее bond0 - первый интерфейс, bond1 - второй
bonding mode=4 - режи работы бондинга совместимый с 802.1ad который включен у нас на свиче.
max_bonds=2 Количество бонд-интерфейсов, без него сможем создать только 1 интерфейс.
xmit_hash_policy=1 - самое интересное, аналог config link_aggregation algorithm both_ip_mac_source_dest в свиче D-Link, без него те же траблы. Кому интересно очень подробное описание находится в файле /usr/src/linux/Documentation/networking/bonding.txt
Теперь настраиваем собственно интерфейсы:
/etc/conf.d/net
modules=( "iproute2" )
config_eth0=(<->"192.168.100.1/32"<---->)
config_eth1=(<->"192.168.100.2/32"<---->)
config_eth2=(<->"192.168.100.3/32"<---->)
config_eth3=(<->"192.168.100.4/32"<---->)
slaves_bond0="eth0 eth1"
slaves_bond1="eth2 eth3"
config_bond0=(<>"192.168.100.5/32"<---->)
config_bond1=(<>"192.168.100.6/32"<---->)
vconfig_bond0=( "set_name_type VLAN_PLUS_VID" )
vconfig_bond1=( "set_name_type VLAN_PLUS_VID" )
vlans_bond0="220"
vlans_bond1="226 227 496 526 527 606 497 604 504 550 551 332 498 506 525 602 603 605"
config_vlan0220=(<----->"1хх.1хх.1хх.2хх/30"<-->)
.... и дальше собственно настройки vlan-интерфейсов
Почему-то с конструкцией "NULL" в виде адреса интерфейса не создавались вланы, поэтому прописал фейковые адреса.
Теперь добавляем симлинки:
ln -s /etc/init.d/net.lo /etc/init.d/net.bond0
ln -s /etc/init.d/net.lo /etc/init.d/net.bond1
И добавляем автозагрузку:
rc-update add net.bond0 default
rc-update add net.bond1 default
Все работает, как и надо
Система Gentoo Linux, свич D-Link DGS-3100