Шейпер

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Alteron
сержант
Сообщения: 230
Зарегистрирован: 2008-07-21 9:35:11

Шейпер

Непрочитанное сообщение Alteron » 2009-03-05 21:15:56

Господа, взяли и-нет вскладчину. Надо настроить динамический шейпинг.

Почитал форум, доки. Скажите, правильно ли я делаю?
Канал 2Мбит в обе стороны. Использую IPFW
В правилах определяем:

Код: Выделить всё

#Трафик, выходящий со внутреннего интерфейса. Для людей из локалки - входящий.
# Общая входящая труба
${ipfw} pipe 1 config bw 1900Kbit/s
# Определяем очередь. По mask на каждый IP-клиент (внутри сети) будет создаваться отдельная очередь 
${ipfw} queue 1 config pipe 1 weight 50 mask dst-ip 0xffffffff
#Заворачиваем трафик в очередь
${ipfw} add 0900 queue 1 ip from not 192.168.1.0/24 to "table(2)" out via $int_if

#Трафик, выходящий в и-нет. Для людей из локалки - исходящий.
# Общая исходящая труба
${ipfw} pipe 2 config bw 1900Kbit/s
# Определяем очередь. По mask на каждый IP-клиент (внутри сети) будет создаваться отдельная очередь 
${ipfw} queue 2 config pipe 2 weight 50 mask src-ip 0xffffffff
#Заворачиваем трафик в очередь
${ipfw} add 1000 queue 2 ip from "table(2)" to not 192.168.1.0/24 out via $ext_if
На сколько я понимаю, правило 1000 надо ставить перед самым divert natd

Вроде всё. Прокомментируйте.
Измеритель верёвочками.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35117
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Шейпер

Непрочитанное сообщение Alex Keda » 2009-06-07 17:35:49

а вы попробуйте
Убей их всех! Бог потом рассортирует...

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-12 16:08:39

Добрый день. Втрорые сутки мучаюсь с ipfw и все безрезультатно. Задача поделить канал.
Добавил в /etc/rc.conf следующее:

Код: Выделить всё

firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
firewall_logging="yes"
dummynet_enable="yes"
В /etc/ipfw.rules прописал:

Код: Выделить всё

ipfw -f flush
ipfw -f pipe flush
ipfw -f queue flush

ipfw table 1 add 192.168.1.2 #User1
ipfw table 1 add 192.168.1.7 #User2

ipfw pipe 102 config mask src-ip 0x000000ff bw 64Kbit/s queue 50
ipfw add pipe 102 all from "table(1)" to any via re0
ipfw pipe 103 config mask dst-ip 0x000000ff bw 64Kbit/s queue 50
ipfw add pipe 103 all from any to "table(1)" via re0
Канал 300Kbit/s (правда реально не бывает больше 220). По тестам http://www.speedtest.net/ показывает 215Kbit/s входящая и 15Kbit исходящая. При попытке что-либо скачать используется весь доступный канал. В чем может быть проблема?

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Шейпер

Непрочитанное сообщение hizel » 2009-06-12 17:21:29

ipfw pipe show

и это весь фаервол?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-12 17:45:22

Код: Выделить всё

# ipfw pipe show
00102:  64.000 Kbit/s    0 ms   50 sl. 1 queues (64 buckets) droptail
    mask: 0x00 0x000000ff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  4 ip           0.0.0.2/0             0.0.0.0/0      170    27230  0    0   0
00103:  64.000 Kbit/s    0 ms   50 sl. 1 queues (64 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x000000ff/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  2 ip           0.0.0.0/0             0.0.0.2/0       25     3652  1  100   0
Да пока весь.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Шейпер

Непрочитанное сообщение hizel » 2009-06-12 19:31:48

работает :-\
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-12 20:01:01

Я дома пытаюсь откатать схему для использования ее в рабочей сети (Поэтому всего 2 пользователя и такой маленький канал). Смысл в следующем. Есть сервер у которого шлюз в интернет маршрутизатор Cisco (на циске работает NAT). На сервере одна сетевая карта re0. Я хочу с помощью ipfw поделить канал. Это вообще реально или я зря трачу время?
Последний раз редактировалось Linozh 2009-06-12 20:35:19, всего редактировалось 1 раз.

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-12 20:24:55

hizel писал(а):работает :-\
Как то странно работает: входящую не режет а исходящую зажимает до 15Kbit/s :st:

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-14 12:20:30

Код: Выделить всё

ipfw -f flush
ipfw -f pipe flush
ipfw -f queue flush

ipfw table 1 add 192.168.1.2 #User1
ipfw table 1 add 192.168.1.7 #User2

ipfw pipe 102 config bw 64Kbit/s
ipfw queue 102 config mask src-ip 0xffffffff pipe 102

ipfw pipe 103 config bw 64Kbit/s
ipfw queue 103 config mask dst-ip 0xffffffff pipe 103

ipfw add queue 102 ip from "table(1)" to any out xmit re0
ipfw add queue 103 all from any to "table(1)" in recv re0
Теперь исходящую режет как надо 59Kbit/s по тестам, а вот с входящей пока разобраться не смог. В чем может быть проблема?

Аватара пользователя
Burn_
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-12-03 9:19:54
Откуда: Алт.край, г.Бийск
Контактная информация:

Re: Шейпер

Непрочитанное сообщение Burn_ » 2009-06-14 14:01:35

Это все правила или часть ? NAT'а нет ?
Пробуй упростить правила, убери на время отладки маски и т.п.
Добавь в правила log и смотри что в них попадает ...
To know everything is to know nothing! / Я знаю только одно, что я ничего не знаю! © Сократ

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-14 14:25:57

Да это все правила.NAT`а нет

Аватара пользователя
Burn_
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-12-03 9:19:54
Откуда: Алт.край, г.Бийск
Контактная информация:

Re: Шейпер

Непрочитанное сообщение Burn_ » 2009-06-14 15:37:56

Linozh писал(а):Да это все правила.NAT`а нет
Могу конечно ошибаться, но судя по выше написанному у Вас шлюз и тестовые пользователи в одной сети с еще одним шлюзом, шлюзом провайдера, так сказать основным для этой сети. Если так, то входящий трафик через Вас шлюз не пойдет, и соответственно резать полосу не будет.
To know everything is to know nothing! / Я знаю только одно, что я ничего не знаю! © Сократ

harmless
лейтенант
Сообщения: 702
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Шейпер

Непрочитанное сообщение harmless » 2009-06-14 16:28:03

http://forum.lissyara.su/viewtopic.php?f=3&t=12525
Вот тут все расписано!
Выкинь то что тебе не нужно и экспериментируй дальше!???
А лучше не экспериментировать а предельно внимательно почитать хотя бы статьи лиса и остальных, а потом что-то пробовать написать(сам когда-то мучился)

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-14 17:04:25

Burn_ писал(а):
Linozh писал(а):Да это все правила.NAT`а нет
Могу конечно ошибаться, но судя по выше написанному у Вас шлюз и тестовые пользователи в одной сети с еще одним шлюзом, шлюзом провайдера, так сказать основным для этой сети. Если так, то входящий трафик через Вас шлюз не пойдет, и соответственно резать полосу не будет.
Так для пользователей шлюзом выступает не Cisco а машина с FreeBSD. А если честно хочется выкинуть Cisco (по моему мнению без нее было бы проще) и оставить шлюз на FreeBSD.

Аватара пользователя
Burn_
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-12-03 9:19:54
Откуда: Алт.край, г.Бийск
Контактная информация:

Re: Шейпер

Непрочитанное сообщение Burn_ » 2009-06-14 17:16:23

Linozh писал(а):Так для пользователей шлюзом выступает не Cisco а машина с FreeBSD. А если честно хочется выкинуть Cisco (по моему мнению без нее было бы проще) и оставить шлюз на FreeBSD.
Пользователь идет через FreeBSD , но когда запрос возвращается, Cisco выступает в роли шлюза. т.к. у неё есть алиас из сети пользователя и пакеты идут, так сказать, по кротчайшему пути, т.е. сразу к клиенту, а не через FreeBSD.
To know everything is to know nothing! / Я знаю только одно, что я ничего не знаю! © Сократ

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-14 17:20:52

Придется от кошки избавиться :smile: Вопрос немного не по теме - покупать Cisco 2821 на которой из задач маршрутизации указан только статический маршрут до провайдера - это номально?

Аватара пользователя
Burn_
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-12-03 9:19:54
Откуда: Алт.край, г.Бийск
Контактная информация:

Re: Шейпер

Непрочитанное сообщение Burn_ » 2009-06-14 17:27:41

Linozh писал(а):Придется от кошки избавиться :smile: Вопрос немного не по теме - покупать Cisco 2821 на которой из задач маршрутизации указан только статический маршрут до провайдера - это номально?
Зависит от того, что планируется ею рулить. Для небольшого трафика и FreeBSD хватит.
To know everything is to know nothing! / Я знаю только одно, что я ничего не знаю! © Сократ

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-14 17:31:07

Burn_ писал(а):Пользователь идет через FreeBSD , но когда запрос возвращается, Cisco выступает в роли шлюза. т.к. у неё есть алиас из сети пользователя и пакеты идут, так сказать, по кротчайшему пути, т.е. сразу к клиенту, а не через FreeBSD.
Значит у меня впринципе эта идея не прокатит?

Аватара пользователя
Burn_
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-12-03 9:19:54
Откуда: Алт.край, г.Бийск
Контактная информация:

Re: Шейпер

Непрочитанное сообщение Burn_ » 2009-06-14 17:34:26

Linozh писал(а):
Burn_ писал(а):Пользователь идет через FreeBSD , но когда запрос возвращается, Cisco выступает в роли шлюза. т.к. у неё есть алиас из сети пользователя и пакеты идут, так сказать, по кротчайшему пути, т.е. сразу к клиенту, а не через FreeBSD.
Значит у меня впринципе эта идея не прокатит?
Убери с Cisco алиас пользовательской сети и соедини FreeBSD и Cisco любой другой сетью.
To know everything is to know nothing! / Я знаю только одно, что я ничего не знаю! © Сократ

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-14 17:39:23

Burn_ писал(а):
Linozh писал(а):
Burn_ писал(а):Пользователь идет через FreeBSD , но когда запрос возвращается, Cisco выступает в роли шлюза. т.к. у неё есть алиас из сети пользователя и пакеты идут, так сказать, по кротчайшему пути, т.е. сразу к клиенту, а не через FreeBSD.
Значит у меня впринципе эта идея не прокатит?
Убери с Cisco алиас пользовательской сети и соедини FreeBSD и Cisco любой другой сетью.
То есть поставить еще одну сетевую карту? Сейчас я вообще проверяю это дома и дома у меня маршрутизатор D-Link.

Аватара пользователя
Burn_
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-12-03 9:19:54
Откуда: Алт.край, г.Бийск
Контактная информация:

Re: Шейпер

Непрочитанное сообщение Burn_ » 2009-06-14 17:45:11

Linozh писал(а):То есть поставить еще одну сетевую карту? Сейчас я вообще проверяю это дома и дома у меня маршрутизатор D-Link.
Можно vlan настроить, если есть возможность, можно алиас повесить, можно и карту. Смотри сам по обстоятельствам....
To know everything is to know nothing! / Я знаю только одно, что я ничего не знаю! © Сократ

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-06-14 19:27:14

harmless писал(а):http://forum.lissyara.su/viewtopic.php?f=3&t=12525
Вот тут все расписано!
Выкинь то что тебе не нужно и экспериментируй дальше!???
А лучше не экспериментировать а предельно внимательно почитать хотя бы статьи лиса и остальных, а потом что-то пробовать написать(сам когда-то мучился)
Поставил вторую сетевуху сделал по вашему рецепту и УРА все заработало :Yahoo!:

Linozh
рядовой
Сообщения: 24
Зарегистрирован: 2009-01-22 17:15:05

Re: Шейпер

Непрочитанное сообщение Linozh » 2009-10-27 20:16:19

Вечер добрый. Объясните пожалуйста как тут можно использовать очереди для того чтобы обеспечить больший приоритет (в идеале гарантированную скорость) для пользователей со скоростью 1 мегабит?

Код: Выделить всё

###############  256Kbit/s ##############
${FwCMD} add pipe 1 ip from not ${NetIn} to table\(1\) out
${FwCMD} pipe 1 config bw 256000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 2 ip from table\(1\) to not me in
${FwCMD} pipe 2 config bw 256000bit/s mask src-ip 0xffffffff
###############  512Kbit/s ##############
${FwCMD} add pipe 3 ip from not ${NetIn} to table\(2\) out
${FwCMD} pipe 3 config bw 512000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 4 ip from table\(2\) to not me in
${FwCMD} pipe 4 config bw 512000bit/s mask src-ip 0xffffffff
################  1Mbit/s ###############
${FwCMD} add pipe 5 ip from not ${NetIn} to table\(3\) out
${FwCMD} pipe 5 config bw 1000000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 6 ip from table\(3\)  to not me in
${FwCMD} pipe 6 config bw 1000000bit/s mask src-ip 0xffffffff

harmless
лейтенант
Сообщения: 702
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Шейпер

Непрочитанное сообщение harmless » 2009-10-28 10:41:29

Linozh писал(а):Вечер добрый. Объясните пожалуйста как тут можно использовать очереди для того чтобы обеспечить больший приоритет (в идеале гарантированную скорость) для пользователей со скоростью 1 мегабит?

Код: Выделить всё

###############  256Kbit/s ##############
${FwCMD} add pipe 1 ip from not ${NetIn} to table\(1\) out
${FwCMD} pipe 1 config bw 256000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 2 ip from table\(1\) to not me in
${FwCMD} pipe 2 config bw 256000bit/s mask src-ip 0xffffffff
###############  512Kbit/s ##############
${FwCMD} add pipe 3 ip from not ${NetIn} to table\(2\) out
${FwCMD} pipe 3 config bw 512000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 4 ip from table\(2\) to not me in
${FwCMD} pipe 4 config bw 512000bit/s mask src-ip 0xffffffff
################  1Mbit/s ###############
${FwCMD} add pipe 5 ip from not ${NetIn} to table\(3\) out
${FwCMD} pipe 5 config bw 1000000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 6 ip from table\(3\)  to not me in
${FwCMD} pipe 6 config bw 1000000bit/s mask src-ip 0xffffffff

Код: Выделить всё

${FwCMD} pipe 1 config bw [bw your chanel]Mbit/s queue 20
${FwCMD} pipe 2 config bw [bw your chanel]Mbit/s queue 20

${FwCMD} queue 1 config pipe 1 weight 90 queue 20 mask dst-ip 0xffffffff
${FwCMD} queue 2 config pipe 2 weight 90 queue 20 mask src-ip 0xffffffff

${FwCMD} queue 3 config pipe 1 weight 5 queue 20 mask dst-ip 0xffffffff
${FwCMD} queue 4 config pipe 2 weight 5 queue 20 mask src-ip 0xffffffff

${FwCMD} add queue 1 ip from not ${NetIn} to table\(3\) out
${FwCMD} add queue 2 ip from table\(3\) to not ${IpIn} in

${FwCMD} add queue 1 ip from not ${NetIn} to not table\(3\) out
${FwCMD} add queue 2 ip from not table\(3\) to not ${IpIn} in

###############  256Kbit/s ##############
${FwCMD} add pipe 1 ip from not ${NetIn} to table\(1\) out
${FwCMD} pipe 1 config bw 256000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 2 ip from table\(1\) to not me in
${FwCMD} pipe 2 config bw 256000bit/s mask src-ip 0xffffffff
###############  512Kbit/s ##############
${FwCMD} add pipe 3 ip from not ${NetIn} to table\(2\) out
${FwCMD} pipe 3 config bw 512000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 4 ip from table\(2\) to not me in
${FwCMD} pipe 4 config bw 512000bit/s mask src-ip 0xffffffff
################  1Mbit/s ###############
${FwCMD} add pipe 5 ip from not ${NetIn} to table\(3\) out
${FwCMD} pipe 5 config bw 1000000bit/s mask dst-ip 0xffffffff
${FwCMD} add pipe 6 ip from table\(3\)  to not me in
${FwCMD} pipe 6 config bw 1000000bit/s mask src-ip 0xffffffff

${FwCMD} add allow ip from table\(3\) to not ${NetIn} in via ${LanIn} setup

${FwCMD} add allow ip from not table\(3\) to not ${NetIn} in via ${LanIn} setup
а также

Код: Выделить всё

sysctl net.inet.ip.fw.one_pass=0