Jump to content
Калькуляторы

Приоритезация трафика freebsd + ipfw

Доброго времени суток.

Есть шейпер, под управлением freebsd 8.0.

Вот часть правил ipfw:

fwcmd="/sbin/ipfw -q"

${fwcmd} add 600 allow ip from any to any out           # для обхода пайпов (исключает дублирование шейпинга) на втором(внешнем) интерфейсе

${fwcmd} pipe 1000 config bw 5120Kbit/s queue 768K mask dst-ip 0xffff
${fwcmd} pipe 2000 config bw 4096Kbit/s queue 768K mask src-ip 0xffff
${fwcmd} pipe 1001 config bw 10240Kbit/s queue 1024K mask dst-ip 0xffff
${fwcmd} pipe 2001 config bw 8192Kbit/s queue 1024K mask src-ip 0xffff
${fwcmd} pipe 1008 config bw 15360Kbit/s queue 1024K mask dst-ip 0xffff
${fwcmd} pipe 2008 config bw 12288Kbit/s queue 1024K mask src-ip 0xffff

${fwcmd} add pipe 1000 ip from any to table\(1,5120\)
${fwcmd} add pipe 2000 ip from table\(1,5120\) to any
${fwcmd} add pipe 1001 ip from any to table\(1,10240\)
${fwcmd} add pipe 2001 ip from table\(1,10240\) to any
${fwcmd} add pipe 1008 ip from any to table\(1,15360\)
${fwcmd} add pipe 2008 ip from table\(1,15360\) to any

В таблицу добавляются абонентские подсети скриптом из биллинга.

Необходимо реализовать приоритезацию трафика по портам. Например, чтобы порты 80, 8080 и т.п. имели приоритет выше, чем порты p2p.

Как правильней это можно сделать? Если нужна еще какая-нибудь информация, для решения вопроса, спрашивайте, я ее предоставлю.

Заранее спасибо.

Share this post


Link to post
Share on other sites

что мешает в трубу по порту загонять

Share this post


Link to post
Share on other sites

что мешает в трубу по порту загонять

А подробнее можно?

Share this post


Link to post
Share on other sites

что мешает в трубу по порту загонять

А подробнее можно?

 

    ipfw pipe 1 config mask ([proto N] [src-ip N] [dest-ip N] [src-port N] [dest-port N]

Share this post


Link to post
Share on other sites

что мешает в трубу по порту загонять

А подробнее можно?

 

    ipfw pipe 1 config mask ([proto N] [src-ip N] [dest-ip N] [src-port N] [dest-port N]

 

Еще глупый вопрос. Как я понимаю нужно создавать отдельный пайп для группы портов? И как тогда будет происходить приоритезация, то есть как система будет понимать, какой трафик для нее более приоритетный?

Если не сложно, можно привести пример на основе моих существующих правил?

Edited by meat_08

Share this post


Link to post
Share on other sites

Набросал примерно правила, посмотрите пожалуйста, правильно, или нет.

 

PrPORT="20-23,25,53,80,110,443,777,1080,1111,1313,1360,1377,2106,2352,2593,3128,3389,3504,
3521,3773,5190,5191,5192,5193,8080,8081,8786,21116,25360" #Приоритетные порты

#Шейпим трафик
ipfw pipe 1030 config bw 15Mbit/s

#Очереди с приоритезацией
ipfw queue 1030 config pipe 1030 weight 95 mask dst-ip 0xffffff #Высокоприоритетный трафик
ipfw queue 1031 config pipe 1030 weight 30 mask dst-ip 0xffffff #Торренты
ipfw queue 1032 config pipe 1030 weight 60 mask dst-ip 0xffffff #Остальной UDP трафик

#Добавляем очереди
ipfw add queue 1030 ip from any to table\(1,5121\) ${PrPORT} not 1000-65535 #Очередь для списка портов PrPORT
ipfw add queue 1031 ip from any to table\(1,5121\) 1000-65535 not ${PrPORT} #Очередь для остальных портов, кроме PrPORT
ipfw add queue 1032 ip from any to table\(1,5121\) not 1000-65535,${PrPORT} #Очередь для всех портов, кроме 1000-65535 и PrPort

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this