Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Скрипт объединяющие сетевые интерфейсы (http://forum.oszone.net/showthread.php?t=87585)

salimk 25-07-2007 12:43 618400

Скрипт объединяющие сетевые интерфейсы
 
Этот скрипт позволяет обьединит два физических инт. в один для увилечения скорости и надежности
две карточки 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"


Время: 10:49.

Время: 10:49.
© OSzone.net 2001-