URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87724
[ Назад ]

Исходное сообщение
"Указание портов при добавлении queue в ipfw"

Отправлено Vadim_nsk , 26-Дек-09 17:01 
# Списки портов по приоритету (high,middle,low) 
hpsrvs="22,80,443,3128,5190,8080,8081"<><------># ssh, http, https, icq
mpsrvs="21,179,2222,3389"<-----><------><------># ftp
lpsrvs="25,2525,110"<--><------><------><------># mail
${fwcmd} add 8201 queue 11 all from me to not table\(3\) out via ${cn_if}
${fwcmd} add 8204 queue 21 all from me to table\(3\) out via ${cn_if}

Как добавить список портов к таблице? С адресом все понятно (порт через пробел):
${fwcmd} add 8204 queue 21 all from me to 86.86.86.86 80 out via ${cn_if}
А вот так не получается:
${fwcmd} add 8204 queue 21 all from me to not table\(3\) 80 out via ${cn_if}

Так как правильно записать, чтобы организовать очереди с разным приоритетом для http, ftp, mail?

2. Как узнать содержит ли текущее ядро опцию DUMMYNET?
Очень смущает сообщение:
ipfw: setsockopt(IP_DUMMYNET_CONFIGURE): Invalid argument

При этом ipfw show | less выдает:
08201   35711    2376722 queue 11 ip from me to not table(3) out via cnif
08204     345      60159 queue 21 ip from me to table(3) out via cnif
ведь это означает, что шейпинг работает... Но почему же ругается?


Содержание

Сообщения в этом обсуждении
"Указание портов при добавлении queue в ipfw"
Отправлено pupsy , 26-Дек-09 20:16 
from me to any dst-port ${hpsrvshpsrvs} out via ${cn_if}

kldstat - http://www.freebsd.org/cgi/man.cgi?query=kldstat&sektion=8


"Указание портов при добавлении queue в ipfw"
Отправлено Vadim_nsk , 27-Дек-09 10:52 
>from me to any dst-port ${hpsrvshpsrvs} out via ${cn_if}
>
>kldstat - http://www.freebsd.org/cgi/man.cgi?query=kldstat&sektion=8

Спасибо.

# Списки портов по приоритету (high,middle,low)
hpsrvs="22,80,443,3128,5190,8080,8081"<><------># ssh, http, https, icq
mpsrvs="21,179,2222,3389"<-----><------><------># ftp
lpsrvs="25,2525,110"<--><------><------><------># mail
${fwcmd} add 8201 queue 11 all from me to not table\(3\) dst-port ${hpsrvs} out via ${cn_if}
${fwcmd} add 8202 queue 12 all from me to not table\(3\) dst-port ${mpsrvs} out via ${cn_if}
${fwcmd} add 8203 queue 13 all from me to not table\(3\) dst-port ${lpsrvs} out via ${cn_if}
${fwcmd} add 8204 queue 13 all from me to not table\(3\) out via ${cn_if}
${fwcmd} add 8211 queue 21 all from me to table\(3\) dst-port ${hpsrvs} out via ${cn_if}
${fwcmd} add 8212 queue 22 all from me to table\(3\) dst-port ${mpsrvs} out via ${cn_if}
${fwcmd} add 8213 queue 23 all from me to table\(3\) dst-port ${lpsrvs} out via ${cn_if}
${fwcmd} add 8214 queue 23 all from me to table\(3\) out via ${cn_if}

2. Пересобрал ядро и ошибка исчезла. Не понимаю, как раньше работали pipes.


"Указание портов при добавлении queue в ipfw"
Отправлено фейри , 27-Дек-09 12:11 

Можно не менять ядро, а просто добавить в /boot/loader.conf строки
ipfw_load="YES"
dummynet_load="YES"

"Указание портов при добавлении queue в ipfw"
Отправлено Michael , 28-Дек-09 02:10 

>ipfw_load="YES"
>dummynet_load="YES"

или как вариант в rc.conf
firewall_enable="YES"
dummynet_enable="YES"