Июн 072011
 

Конфигурируется ядро с поддержкой DUMMYNET

options IPFIREWALL
options DUMMYNET
options HZ=1000

DUMMYNET неразрывно связан с файерволлом (IPFW), поэтому опция IPFIREWALL обязательна.

#!/bin/sh
ipfw=’/sbin/ipfw -q’
# Сбрасываем правила
${ipfw} disable one_pass
${ipfw} -f pipe flush
${ipfw} -f queue flush
# основной канал, тут будут кормится все кроме бухов.
${ipfw} pipe 1 config bw 22500Kbit/s queue 20
${ipfw} queue 1 config pipe 1 weight 50 mask dst-ip 0?00000000
${ipfw} queue 2 config pipe 1 weight 75 mask dst-ip 0?00000000
${ipfw} add queue 1 ip from any to 10.15.5.0/25
${ipfw} add queue 2 ip from any to 10.15.5.105/25
# Vip пользователи больше 105 ip, остальные будут пододвигаться на задний план.
# Вторая труба , только для буховскийх ip ,бесят они меня. вот и пусть делят канал на всех.
${ipfw} pipe 2 config bw 450Kbit/s queue 5
${ipfw} queue 3 config pipe 2 weight 50 queue 20 mask dst-ip 0?00000000
${ipfw} add queue 3 ip from any to 10.15.5.44 out via re0
${ipfw} add queue 3 ip from any to 10.15.5.45 out via re0
${ipfw} add queue 3 ip from any to 10.15.5.48 out via re0
${ipfw} add queue 3 ip from any to 10.15.5.51 out via re0
${ipfw} add queue 3 ip from any to 10.15.5.52 out via re0
${ipfw} add queue 3 ip from any to 10.15.5.53 out via re0

# mask dst-ip 0?00000000 – одна очередь/скорость трубы на всех
# mask dst-ip 0xffffffff – на каждого юзера своя очередь/скорость трубы

Приведу цитату из мануала на ipfw:

«Пропуск пакета по каналу dummynet(4) (c целью ограничения полосы, задержки и т.п.). Поиск прерывается в любом случае на выходе из канала и в случае, если переменная sysctl(8) net.inet.ip.fw.one_pass не установлена. Пакет снова обрабатывается фаерволлом, начиная со следующего правила». Другими словами, если не выключить one pass, то в том случае, когда пакет подходит под правила канала и никакие другие правила к этому пакету не применяются, то он пройдет файрволл. Вот этого-то нам совсем не надо.
Вместо использования команды sysctl вы можете попробовать применить с аналогичными целями «ipfw disable one_pass».

 Leave a Reply

(required)

(required)

37 Запросов к базе. 0,411 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.80.87.62