Ключевые слова:freebsd, ipfw, dummynet, limit, shaper, qos, bandwidth, (найти похожие документы)
Date: Sun, 22 Dec 2002 13:30:02 +0500
From: Eugene Grosbein <[email protected]>
Newsgroups: ftn.ru.unix.bsd
Subject: [FreeBSD] Ограничение трафика по ip
OA> Дано примерно следующее:
OA> инет
OA> |
OA> рутер ======тонкий канал====наш рутер(freebsd4.5) --- наша локалка
OA> |
OA> соседняя
OA> локалка
OA> Когда качается например фильм из соседней локалки в нашу - умирает интернет,
OA> скорость падает почти до 0.
OA> Так должно быть?
Если тонкий канал забивается, то да.
OA> Можно ли без жесткого ограничения скорости для локалок исправить ситуацию?
OA> Что-нибудь вроде приоритетов сущетвует?
OA> смотрел ipfw, но в глаза ничего не бросилось :)
Плохо смотрел. Ищи слово weight.
Для затравки:
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
Править по вкусу.
# In traffic speed down via xl0
${fwcmd} add $C $(C=$(($C+$STEP))) pipe 1 tcp from any to any in via xl0
${fwcmd} pipe 1 config mask dst-ip 0x000000ff bw 32Kbyte/s queue 30 delay 10ms
# Out traffic speed down via xl0
${fwcmd} add $C $(C=$(($C+$STEP))) pipe 2 tcp from any to any out via xl0
${fwcmd} pipe 2 config mask src-ip 0x000000ff bw 32Kbyte/s queue 50 delay 10ms