- Приоритезация средствами ipfw и dummynet. Это реально?, Pahanivo, 08:47 , 08-Фев-10 (1)
- Приоритезация средствами ipfw и dummynet. Это реально?, Lgo, 19:47 , 08-Фев-10 (2)
>у меня реализовано через двойной пайпинг - первый пайп нарезает скорость индивидуально > >(ну или по группам), второй слой - загоняет всех в один пайп. > >Например канал 2Мбита, персональный пайп 128кбит, вторым слоем идет общий пайп скажем >1Мбит, те пользователи суммарно не могут занять канал шире 1Мб, второй >мегабит остается свободным. Т.е. каскадировать пайпы реально, и система с ума не сходит?
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 00:58 , 09-Фев-10 (3)
- Приоритезация средствами ipfw и dummynet. Это реально?, Lgo, 22:14 , 09-Фев-10 (5)
>[оверквотинг удален] >ipfw add 10002 queue 2 ip from any to <inner ip> >ipfw add 10003 queue 3 ip from <superuser> to any >ipfw add 10004 queue 4 ip from <inner ip> to any > >Разумеется, должен быть включен one-pass режим. > >Пайпы шейпятся 90% полосы физики для того, чтобы корректно работал WF2Q+ и >подстройка ТСР-окна. Лучше сделать натурные замеры и потом по месту отшейпить >90-95% от мах, а не то могут случиться "непредвиденные последствия" (с) >Спасибо большое. Есть комментарий. Для чего пользователям создавать отдельные очереди, queue 2 config weight 10 queue 50 pipe 1 gred 0.002/5/15/0.1 mask dst-ip 0xffffffff если все можно запустить в одну? queue 2 config weight 10 queue 50 pipe 1 gred 0.002/5/15/0.1 Еще 2 вопроса нарисовались:
1. Можно ли сделать big пайп вообще без шейпинга? Так как шейпинг все равно следует после. ipfw pipe 1 2. В каком порядке лучше ставить пайпы - приоритезация потом шейпинг или наоборот?
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 02:23 , 10-Фев-10 (6)
- Приоритезация средствами ipfw и dummynet. Это реально?, Lgo, 23:29 , 11-Фев-10 (7)
>[оверквотинг удален] > > >>2. В каком порядке лучше ставить пайпы - приоритезация потом шейпинг или наоборот? > >Пайпы ipfw приоритезацию делать не умеют. Приоритезация по весам - только через >очереди. >Если вы хотите пайпами нарезать фиксированные полосы, то уровень их "вложенности" ограничен >максимальным количеством пайпов, который умеет создавать ipfw. Разумеется, при очень большом >количестве пайпов, которые придется преодолевать пакету, накладные расходы на его доставку >потребуют мощного проца. Спасибо большое. Теперь из этого всего нужно сочинить "боевое" решение, чем и займусь.
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 08:30 , 12-Фев-10 (8)
- Приоритезация средствами ipfw и dummynet. Это реально?, Pahanivo, 13:29 , 12-Фев-10 (9)
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 13:18 , 15-Фев-10 (11)
- Приоритезация средствами ipfw и dummynet. Это реально?, Pahanivo, 13:38 , 15-Фев-10 (12)
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 15:40 , 15-Фев-10 (13)
- Приоритезация средствами ipfw и dummynet. Это реально?, Pahanivo, 16:33 , 15-Фев-10 (14)
- Приоритезация средствами ipfw и dummynet. Это реально?, rr, 16:49 , 15-Фев-10 (15)
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 19:36 , 15-Фев-10 (16)
- Приоритезация средствами ipfw и dummynet. Это реально?, Pahanivo, 08:14 , 16-Фев-10 (18)
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 13:31 , 16-Фев-10 (19)
- Приоритезация средствами ipfw и dummynet. Это реально?, Pahanivo, 14:30 , 16-Фев-10 (20)
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 14:43 , 16-Фев-10 (21)
- Приоритезация средствами ipfw и dummynet. Это реально?, rr, 15:15 , 16-Фев-10 (22)
- Приоритезация средствами ipfw и dummynet. Это реально?, Pahanivo, 15:35 , 16-Фев-10 (24)
- Приоритезация средствами ipfw и dummynet. Это реально?, Pahanivo, 15:16 , 16-Фев-10 (23)
- Приоритезация средствами ipfw и dummynet. Это реально?, Lgo, 23:57 , 12-Фев-10 (10)
>> Теперь из этого всего нужно сочинить "боевое" решение, чем и займусь. > >Добрый совет: не увлекайтесь ограничениями траффика сверху, пайпами. Скорей всего, в результате >у вас будет простаивать часть полосы, а народ будет тесниться в >рамках жестких лимитов. Ну пользователь платит за канал определенной ширины. Вполне логично ему этот канал дать. И не дать больше, ведь он знает за что платит. Простой - не беда, это даже гут, меньше нагрузка, быстрее пакеты бегают. Правда в последнее время канал под завязку по вечерам, но это уже совсем другая история.
- Приоритезация средствами ipfw и dummynet. Это реально?, Lgo, 05:20 , 22-Фев-10 (25)
Я тут собрал систему, павда не смог убедиться в работоспособности решения. Я корректно сделал?Листин: # Pipe config ############## ipfw pipe 10 config mask dst-ip 0xffffffff bw 256Kbits/s # in ipfw pipe 110 config mask src-ip 0xffffffff bw 256Kbits/s ipfw pipe 11 config mask dst-ip 0xffffffff bw 1Mbits/s # in ipfw pipe 111 config mask src-ip 0xffffffff bw 512Kbits/s ipfw pipe 12 config mask dst-ip 0xffffffff bw 5Mbits/s # in ipfw pipe 112 config mask src-ip 0xffffffff bw 1Mbits/s ipfw pipe 13 config mask dst-ip 0xffffffff bw 10Mbits/s # in ipfw pipe 113 config mask src-ip 0xffffffff bw 2Mbits/s ipfw pipe 14 config mask dst-ip 0xffffffff bw 5Mbits/s # in ipfw pipe 114 config mask src-ip 0xffffffff bw 5Mbits/s ipfw pipe 40 config mask dst-ip 0xffffffff bw 20Mbits/s # in ipfw pipe 140 config mask src-ip 0xffffffff bw 5Mbits/s ipfw pipe 41 config mask dst-ip 0xffffffff bw 50Mbits/s # in ipfw pipe 141 config mask src-ip 0xffffffff bw 10Mbits/s # IPFW rules for pipes ####################### ipfw add 5001 pipe 10 ip from any to "table(10)" in via em0 ipfw add 5002 pipe 110 ip from "table(10)" to any out via em0 ipfw add 5003 pipe 11 ip from any to "table(11)" in via em0 ipfw add 5004 pipe 111 ip from "table(11)" to any out via em0 ipfw add 5005 pipe 12 ip from any to "table(12)" in via em0 ipfw add 5006 pipe 112 ip from "table(12)" to any out via em0 ipfw add 5007 pipe 13 ip from any to "table(13)" in via em0 ipfw add 5008 pipe 113 ip from "table(13)" to any out via em0 ipfw add 5009 pipe 14 ip from any to "table(14)" in via em0 ipfw add 5010 pipe 114 ip from "table(14)" to any out via em0 ipfw add 5040 pipe 40 ip from any to "table(40)" in via em0 ipfw add 5041 pipe 140 ip from "table(40)" to any out via em0 ipfw add 5042 pipe 41 ip from any to "table(41)" in via em0 ipfw add 5043 pipe 141 ip from "table(41)" to any out via em0
#### #### # Priority system # #### #### ipfw table 110 add 10.0.0.1
ipfw pipe 200 config bw 45Mbit/s # in ipfw pipe 300 config bw 45Mbit/s ipfw queue 10 config weight 90 queue 50 pipe 200 gred 0.002/5/15/0.1 mask dst-ip 0xffffffff # in, high priority ipfw queue 11 config weight 90 queue 50 pipe 300 gred 0.002/5/15/0.1 mask src-ip 0xffffffff # high priority ipfw queue 20 config weight 10 queue 50 pipe 200 gred 0.002/5/15/0.1 mask dst-ip 0xffffffff # in ipfw queue 21 config weight 10 queue 50 pipe 300 gred 0.002/5/15/0.1 mask src-ip 0xffffffff ipfw add 6001 queue 10 ip from any to "table(110)" in via em0 # high priority ipfw add 6002 queue 11 ip from "table(110)" to any out via em0 # high priority ipfw add 6003 queue 20 ip from any to not "table(110)" in via em0 ipfw add 6004 queue 21 ip from not "table(110)" to any out via em0 Сначала идут обычные пайпы нарезающие скорость. Таблици 10 - 41 для пользователей с соответствующей скоростью(например те кто в 10 таблице получают скорость 256К).
Далее таблица 110 для пользователей с приоритетом, по идее. IP 10.0.0.1 просто для примера.
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 02:08 , 23-Фев-10 (26)
- Приоритезация средствами ipfw и dummynet. Это реально?, Lgo, 23:45 , 24-Фев-10 (27)
> Синтаксически все верно, кажется. Но я все равно не понимаю, зачем внутри > организации делать фиксированные шейпы. Если б вы торговали полосой - это > было бы понятно. Но зачем отдельного пользователя ужимать до 256Кбит вне > зависимости от обстановки... Ну так так же и есть :-) Люди платят за канал определенной ширины.
- Приоритезация средствами ipfw и dummynet. Это реально?, Lgo, 00:19 , 25-Фев-10 (28)
Блин у нас наже на серверы распространяется минталитет. Ну не работают у нас вещи если их делать правильно.После того как реализовал схему с очередями, интернет стал работать боком. Все жалуются на скорость и на длинный пинг. Убрал очереди, забросил всех в 1 пайп, а особого юзера в другой поуже (Общий канал - 50, дал всем 45, суперюзеру 5), и все, никто не жалуется, у всех все работает. Неправильно? Но работает лучше чем правильно, отак от.
- Приоритезация средствами ipfw и dummynet. Это реально?, DeadLoco, 10:10 , 25-Фев-10 (29)
- Приоритезация средствами ipfw и dummynet. Это реально?, Lgo, 06:21 , 01-Мрт-10 (31)
>Точно задача как формулируется?Извините за сумбур. Задача такая: сделать 1 пользователя высокопроритетным, чтобы он получал свой гарантированный канал при любых раскладах. При этом надо сохранить старую систему нарезки трафика для всех остальных. Ситему приоритетов я сделал ничего не меняя в системе пайпов для гораничения скорости для всех. И правила для проритето поставил после правил ограничителей скорости. Вот та схема которая работала криво: #################################################### # Variant 1 - Guaranteed channel (priority users) # # Temporary closed # #################################################### ipfw table 110 add <superuserip> ipfw pipe 200 config bw 45Mbit/s # in ipfw pipe 300 config bw 45Mbit/s ipfw queue 10 config weight 90 queue 50 pipe 200 gred 0.002/5/15/0.1 mask dst-ip 0xffffffff # in, high priority ipfw queue 11 config weight 90 queue 50 pipe 300 gred 0.002/5/15/0.1 mask src-ip 0xffffffff # high priority ipfw queue 20 config weight 10 queue 50 pipe 200 gred 0.002/5/15/0.1 mask dst-ip 0xffffffff # in ipfw queue 21 config weight 10 queue 50 pipe 300 gred 0.002/5/15/0.1 mask src-ip 0xffffffff ipfw add 6001 queue 10 ip from any to "table(110)" in via em0 # high priority ipfw add 6002 queue 11 ip from "table(110)" to any out via em0 # high priority ipfw add 6003 queue 20 ip from any to not "table(110)" in via em0 ipfw add 6004 queue 21 ip from not "table(110)" to any out via em0 Это только приоритезация, первичные шейперы я из описания опустил. Сейчас действует эта схема: ########################### # Variant 2 - head attack # ########################### ipfw pipe 210 config bw 45Mbit/s # in ipfw pipe 220 config bw 45Mbit/s ipfw pipe 310 config bw 5Mbit/s # in ipfw pipe 320 config bw 5Mbit/s ipfw add 6001 pipe 210 ip from any to not <superuserip> in via em0 ipfw add 6002 pipe 220 ip from not <superuserip> to any out via em0 ipfw add 6003 pipe 310 ip from any to <superuserip> in via em0 ipfw add 6004 pipe 320 ip from <superuserip> to any out via em0 Вот сами Старые добрые пайпы, их я не трогал.
# Pipe config ############## ipfw pipe 10 config mask dst-ip 0xffffffff bw 256Kbits/s # in ipfw pipe 110 config mask src-ip 0xffffffff bw 256Kbits/s ipfw pipe 11 config mask dst-ip 0xffffffff bw 1Mbits/s # in ipfw pipe 111 config mask src-ip 0xffffffff bw 512Kbits/s ipfw pipe 12 config mask dst-ip 0xffffffff bw 5Mbits/s # in ipfw pipe 112 config mask src-ip 0xffffffff bw 1Mbits/s ipfw pipe 13 config mask dst-ip 0xffffffff bw 10Mbits/s # in ipfw pipe 113 config mask src-ip 0xffffffff bw 2Mbits/s ipfw pipe 14 config mask dst-ip 0xffffffff bw 5Mbits/s # in ipfw pipe 114 config mask src-ip 0xffffffff bw 5Mbits/s ipfw pipe 40 config mask dst-ip 0xffffffff bw 20Mbits/s # in ipfw pipe 140 config mask src-ip 0xffffffff bw 5Mbits/s ipfw pipe 41 config mask dst-ip 0xffffffff bw 50Mbits/s # in ipfw pipe 141 config mask src-ip 0xffffffff bw 10Mbits/s # IPFW rules for pipes ####################### ipfw add 5001 pipe 10 ip from any to "table(10)" in via em0 ipfw add 5002 pipe 110 ip from "table(10)" to any out via em0 ipfw add 5003 pipe 11 ip from any to "table(11)" in via em0 ipfw add 5004 pipe 111 ip from "table(11)" to any out via em0 ipfw add 5005 pipe 12 ip from any to "table(12)" in via em0 ipfw add 5006 pipe 112 ip from "table(12)" to any out via em0 ipfw add 5007 pipe 13 ip from any to "table(13)" in via em0 ipfw add 5008 pipe 113 ip from "table(13)" to any out via em0 ipfw add 5009 pipe 14 ip from any to "table(14)" in via em0 ipfw add 5010 pipe 114 ip from "table(14)" to any out via em0 ipfw add 5040 pipe 40 ip from any to "table(40)" in via em0 ipfw add 5041 pipe 140 ip from "table(40)" to any out via em0 ipfw add 5042 pipe 41 ip from any to "table(41)" in via em0 ipfw add 5043 pipe 141 ip from "table(41)" to any out via em0
|