salimk
25-07-2007, 12:43
Этот скрипт позволяет обьединит два физических инт. в один для увилечения скорости и надежности
две карточки 100MB в сумме дают 200Mb + если выдернуть любой сетевой шнур, будет работать без потерь
возможные трабл: не всегда работает с разными типами карточек (fxp0 и em0) а имено если выдернуть один сетевой шнур при пинги возможны потерии
Создаем скрипт /usr/local/etc/rc.d/01.grouping_em.sh
#!/bin/sh
#
# PROVIDE: grouping_em
# REQUIRE: LOGIN
. /etc/rc.subr
name=grouping_em
rcvar=`set_rcvar`
start_cmd="grouping_em_start"
stop_cmd="grouping_em_stop"
load_rc_config ${name}
grouping_em_start ()
{
kldload /boot/kernel/ng_ether.ko
kldload /boot/kernel/ng_one2many.ko
ifconfig em0 up
ifconfig em1 up
ngctl mkpeer em0: one2many upper one
ngctl connect em0: em0:upper lower many0
ngctl connect em1: em0:upper lower many1
ngctl msg em1: setpromisc 1
ngctl msg em1: setautosrc 0
ngctl msg em0:upper \
setconfig "{ xmitAlg=1 failAlg=1 enabledLinks=[ 1 1 ] }"
ifconfig em0 inet 192.168.0.1 netmask 255.255.255.0
}
grouping_em_stop ()
{
ifconfig em0 down
}
run_rc_command "$1"
Добавим /etc/rc.conf
ifconfig_em0="inet 192.168.0.1 netmask 255.255.255.0" -это строка не обязательная но если ее убрать возможно некоторые службы типа DHCP не страртанут
grouping_em_enable="YES"
две карточки 100MB в сумме дают 200Mb + если выдернуть любой сетевой шнур, будет работать без потерь
возможные трабл: не всегда работает с разными типами карточек (fxp0 и em0) а имено если выдернуть один сетевой шнур при пинги возможны потерии
Создаем скрипт /usr/local/etc/rc.d/01.grouping_em.sh
#!/bin/sh
#
# PROVIDE: grouping_em
# REQUIRE: LOGIN
. /etc/rc.subr
name=grouping_em
rcvar=`set_rcvar`
start_cmd="grouping_em_start"
stop_cmd="grouping_em_stop"
load_rc_config ${name}
grouping_em_start ()
{
kldload /boot/kernel/ng_ether.ko
kldload /boot/kernel/ng_one2many.ko
ifconfig em0 up
ifconfig em1 up
ngctl mkpeer em0: one2many upper one
ngctl connect em0: em0:upper lower many0
ngctl connect em1: em0:upper lower many1
ngctl msg em1: setpromisc 1
ngctl msg em1: setautosrc 0
ngctl msg em0:upper \
setconfig "{ xmitAlg=1 failAlg=1 enabledLinks=[ 1 1 ] }"
ifconfig em0 inet 192.168.0.1 netmask 255.255.255.0
}
grouping_em_stop ()
{
ifconfig em0 down
}
run_rc_command "$1"
Добавим /etc/rc.conf
ifconfig_em0="inet 192.168.0.1 netmask 255.255.255.0" -это строка не обязательная но если ее убрать возможно некоторые службы типа DHCP не страртанут
grouping_em_enable="YES"