Распределение загрузки канала связи – обязательное решения грамотного системного администрирования.

Для управления ограничением канала связи нам необходимо подключить две опции в ядре FreeBSD: DUMMYNET и FIREWALL. Делаем:

cd /usr/src/sys/i386/conf
cp GENERIC HEART (создаем свою сборку ядра, если её не было)

вставляем опции в наше ядро (делаем это обычной правкой с помощью ткстового редактора)

options DUMMYNET
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
config HEART
cd ../compile/HEART
make cleandepend
make depend
make
make install

Далее перезагружаемся:

reload

Настраиваем правила фаервол.
Добавляем в /etc/rc.conf

firewall_enable="YES"
firewall_script="/etc/rc.firewall"

парвим файл /etc/rc.firewall

#!/bin/sh
oif=fxp0 # имя внешнего интерфейса
bw=100Kbit/s # его ширина
ipfw pipe 1 config bw $bw # исходящая труба
ipfw pipe 2 config bw $bw # входящая труба
ipfw queue 1 config pipe 1 mask src-ip 0xffffffff # per-ip fair queueing
ipfw queue 2 config pipe 2 mask dst-ip 0xffffffff
ipfw add 1000 queue 1 ip from any to any via $oif out
ipfw add 1010 queue 2 ip from any to any via $oif in
Tagged with:  

One Response to Ограничение загрузки канала FreeBSD

  1. Один вопрос, это на Ubuntu работает? Если там по другому ставятся ограничения канала, то может подскажите где поискать?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>