Den_LocalNet 1 474 Опубліковано: 2006-10-22 20:17:38 Share Опубліковано: 2006-10-22 20:17:38 логично в принципе.... Представь ты выходишь из метро. Если работает 4 двери то ты задерживаешься на 5 секунд при выходе. Если 1 дверь то как минимум на 4*5=20 секунд..... вот и все... Одним словом - Очередь она и в африке очередь Ссылка на сообщение Поделиться на других сайтах
Xeddin 0 Опубліковано: 2006-10-22 20:55:04 Share Опубліковано: 2006-10-22 20:55:04 а как же тогда сделать так, чтобы канал динамически шейпился и небыло такого огромного пинга? может компутеры нужно пускать по отдельным очередям??? ${fwcmd} pipe 1 config bw 1024Kbit/s queue 5 ${fwcmd} pipe 2 config bw 512Kbit/s queue 5 ${fwcmd} queue 10 config pipe 1 weight 50 mask src-ip 0x000000ff ${fwcmd} queue 20 config pipe 2 weight 50 mask dst-ip 0x000000ff ipfw add queue 10 ip from any to 10.0.0.1 in via rl0 ipfw add queue 20 ip from 10.0.0.1 to any out via rl0 ${fwcmd} queue 30 config pipe 1 weight 50 mask src-ip 0x000000ff ${fwcmd} queue 40 config pipe 2 weight 50 mask dst-ip 0x000000ff ipfw add queue 30 ip from any to 10.0.0.2 in via rl0 ipfw add queue 40 ip from 10.0.0.2 to any out via rl0 Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2006-10-23 10:15:31 Share Опубліковано: 2006-10-23 10:15:31 По правде говоря - мне кажется, что очереди ничего не изменят - трубы-то всего 2. Пинги такими и останутся. Или изменится, но незначительно. Проверить нет возможности. У меня такая же байда. Интересно было бы увидеть решение. Я пока создал отдельную pipe в 2 раза уже реального и всех "провинившихся" перенаправил туда. Помогает, но слабо. Всё равно лаги, хоть и намного меньше. Ссылка на сообщение Поделиться на других сайтах
Xeddin 0 Опубліковано: 2006-10-23 12:34:58 Share Опубліковано: 2006-10-23 12:34:58 но без шейпера все ок, все работает с отличными пингами. и когда шеплю на каждый комп по 128 Кбит/с просто пайпом, без очередей, то тоже все ок Ссылка на сообщение Поделиться на других сайтах
-Emrise- 0 Опубліковано: 2006-11-12 12:36:11 Share Опубліковано: 2006-11-12 12:36:11 хелп :bue: юзеры задрали ложат канал? немогу настроить шейп.... Free bsd 5.4 В ядро добавил: options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_FORWARD options IPDIVERT options IPFILTER options IPFILTER_LOG options DUMMYNET options QUOTA options DEVICE_POLLING options HZ=1000 rc.conf defaultrouter="192.168.0.1" hostname="******" ifconfig_fxp0="inet 192.168.0.3 netmask 255.255.255.0" ifconfig_rl0="inet ****** netmask 255.255.255.0" sshd_enable="YES" dhcpd_enable="YES" # dhcpd enabled? dhcpd_flags="-q" # command option(s) dhcpd_conf="/usr/local/etc/dhcpd.conf" # configuration file dhcpd_ifaces="fxp0" # ethernet interface dhcpd_withumask="022" # file creation mask firewall_enable="YES" firewall_script="/usr/local/billing/rc.firewall" natd_enable="YES" natd_interface="rl0" gateway_enable="YES" rc.firewall ipfw='/sbin/ipfw -q' ${ipfw} -f flush ${ipfw} add divert natd all from any to any via rl0 ${ipfw} add allow all from any to any /sbin/ipfw pipe 150 config mask dst-ip 0xffffffff bw 800Bytes/s delay 1 /sbin/ipfw add 150 pipe 150 all from any to 192.168.0.0/24 via fxp0 in покажыте где кривые руки =) Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2006-11-12 15:53:31 Share Опубліковано: 2006-11-12 15:53:31 Под фрю, есть неплохой биллинг abills - там можно мног чего ! сам использую Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2006-11-12 18:18:45 Share Опубліковано: 2006-11-12 18:18:45 -Emrise- Зачем так мучаться - в теме дохрени примеров, посмотри как люди делают. __________________________________________________________________ Вот, канал 240кбит, поделенный между активными юзерами ipfw add 320 pipe 1 ip from 10.0.0.0/24 to any out ipfw add 330 pipe 2 ip from any to 10.0.0.0/24 in ipfw pipe 1 config mask src-ip 0x000000ff bw 240Kbit/s __________________________________________________________________ А это по идее – трафик по приоритету – машина 10.0.0.1 имеет приоритет перед остальными ipfw pipe 1 config bw 256Kbit/s ipfw queue 1 config pipe 1 weight 10 mask dst-ip 0xffffffff ;входящий трафик низкого приоритета ipfw queue 11 config pipe 1 weight 10 mask src-ip 0xfffffff ;исходящий трафик низкого приоритета ipfw queue 2 config pipe 1 weight 90 mask dst-ip 0xffffffff ;входящий трафик высокого приоритета ipfw queue 21 config pipe 1 weight 90 mask src-ip 0xffffffff ;исходящий трафик высокого приоритета ipfw add 350 queue 2 ip from any to 10.0.0.1 via rl0 ipfw add 360 queue 21 ip from 10.0.0.1 to any via rl0 ipfw add 370 queue 1 ip from any to 10.0.0.0/30 via rl0 ipfw add 380 queue 11 ip from 10.0.0.0/30 to any via rl0 __________________________________________________________________ Почитай так же здесь: http://www.opennet.ru/base/net/ipfw_pipe.txt.html http://cenix.nm.ru/ipfw/prim.html http://www.nt.com.ua/info/ipfw/ar01s03.shtml#id2815680 http://local.com.ua/forum/index.php?showtopic=5991&st=15 Ссылка на сообщение Поделиться на других сайтах
Amal 0 Опубліковано: 2006-11-13 20:57:12 Share Опубліковано: 2006-11-13 20:57:12 необходимо одному человеку просто отрезать кусок не более чем 256К. нашёл такую вещь. Ограничение полосы пропускания (Shaping). 1. Определение трубы (канала) # ipfw pipe PIPE_NUMBER config bw BANDWIDTH queue QUEUE_SIZE Замечание: Следует отметить, что pipe использует очередь внутри себя, причем ее параметры можно менять (queue QUEUE_SIZE), но это очередь внутри pipe, она отличается от объекта queue! 2. Классификация трафика # ipfw add IPFW_NUMBER pipe PIPE_NUMBER tcp from IP_ADDR to IP_ADDR значит можно сделать так ipfw pipe 1 config bw 256 queue QUEUE_SIZE (незнаю что ставить наверно вообще писать не надо, в моём случае.) ipfw add 30 pipe 1 tcp(можно all я так понимаю) from АДРЕС_Сервера to АДРЕС_ограничиваемого верно ли это? Ссылка на сообщение Поделиться на других сайтах
devchaos 1 Опубліковано: 2006-12-14 00:15:22 Share Опубліковано: 2006-12-14 00:15:22 Помогите, будьте добры. Нужно сделать так чтоб канал равномерно распределялся между всеми пользавателями в сети. Написал вот такое правило, ipfw pipe 1 config bw 10Mbit/s queue 10 ipfw queue 1 config pipe 1 weight 50 ipfw add 20 queue 1 ip from any to any Бедет ли работать? ОС FreeBSD 6.1 Спасибо ) ЗЫ Посоветывали сделать вот так ipfw add pipe 1 ip from any to any ipfw pipe 1 config bw 10 Mbit/s queue 100 red 0.002/30/80/0.1 Как правильней? Ссылка на сообщение Поделиться на других сайтах
Profi the same 1 Опубліковано: 2006-12-14 08:21:26 Share Опубліковано: 2006-12-14 08:21:26 ответил на хабе Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2008-05-28 16:01:26 Share Опубліковано: 2008-05-28 16:01:26 Лучше так делить поровну, меньше лагов и задержек (пинги уменьшаются существенно). Пример для канала в 600Кбит/с: ipfw pipe 3 config 600Kbit/s ipfw pipe 4 config 600Kbit/s ipfw queue 4 config pipe 3 weight 50 mask src-ip 0xffffffff gred 0.002/10/30/0.1 ipfw queue 5 config pipe 4 weight 75 mask dst-ip 0xffffffff gred 0.002/10/30/0.1 А для юзеров правила: ipfw add 320 queue 4 all from any to 10.0.0.0/24 ipfw add 330 queue 5 all from any to 10.0.0.0/24 Только вот я думаю, что если у вас стоит Squid и NAT - хрень получается, потому что в тот момент, когда SQUID отдаёт по запросу данные из кэша, у вас "потолок" в 600Кбит/с и для данных. А это неправильно, потому что внешний канал хоть и высвобождается, но пользователи это никак не почувствуют, потому что вы режеть ВЕСЬ трафик (если только вы не режете какой-то толстый внешний канал). Сейчас думаю как у себя разрулить это. Этот пример взят с работающего сервера и был проверен мною с двумя машинами, одновременно работающими в сети. Уже не помню откуда стырил решение, но мучался долго. Ссылка на сообщение Поделиться на других сайтах
assasinwar 7 Опубліковано: 2008-05-31 15:17:50 Share Опубліковано: 2008-05-31 15:17:50 С вашего позволения, спрошу в даной теме: Есть VPN-сервер на основе freeradius и mpd5. Юзерам режется канал с помощью радиус атрибутов mpd-limit. НО созрел недавно вопрос следующего характера - шейпить канал юзерам, в зависимости от времени суток. Каким методом можно это реализовать? В какую сторону копать? ОС FreeBSD Ссылка на сообщение Поделиться на других сайтах
911 140 Опубліковано: 2008-05-31 20:56:16 Share Опубліковано: 2008-05-31 20:56:16 С вашего позволения, спрошу в даной теме:Есть VPN-сервер на основе freeradius и mpd5. Юзерам режется канал с помощью радиус атрибутов mpd-limit. НО созрел недавно вопрос следующего характера - шейпить канал юзерам, в зависимости от времени суток. Каким методом можно это реализовать? В какую сторону копать? ОС FreeBSD crontab + прикручивай какой-то скриптик Ссылка на сообщение Поделиться на других сайтах
assasinwar 7 Опубліковано: 2008-05-31 21:23:41 Share Опубліковано: 2008-05-31 21:23:41 Скрипт не проблема прикрутить. Что скрипт должен делать - вот проблема. Может есть какие соображения? Ссылка на сообщение Поделиться на других сайтах
911 140 Опубліковано: 2008-06-01 10:16:59 Share Опубліковано: 2008-06-01 10:16:59 Скрипт не проблема прикрутить. Что скрипт должен делать - вот проблема. Может есть какие соображения? ну тогда рассказывай, как щас организован шейпер =) будем думать Ссылка на сообщение Поделиться на других сайтах
assasinwar 7 Опубліковано: 2008-06-01 19:13:57 Share Опубліковано: 2008-06-01 19:13:57 Биллинг в зависимости от тарифного плана пишет в базу радиуса значение mpd-limit, к примеру: mysql> select * from radgroupreply; | 1 | 64k | mpd-limit | += | in#1=all shape 64000 8000 | 0 | | 2 | 64k | mpd-limit | += | out#1=all shape 64000 8000 | 0 | При авторизации пользователя радиус передаёт атрибут mpd-limit серверу mpd, который в свою очередь генерирует "пайп на юзера". Как вариант, я вижу, кромсать скрипт, который к примеру в 20.50 пишет в базу радиуса "удвоенный бендвиз" каждого юзера. А в 21.00 заставить mpd с помощью радиус параметров "перерезать" пайпы всем юзерам. Ссылка на сообщение Поделиться на других сайтах
911 140 Опубліковано: 2008-06-02 18:24:33 Share Опубліковано: 2008-06-02 18:24:33 проще запихивать юзверов в таблицы в зависимости от тарифного плана ipfw add 10250 pipe 15 ip from any to table(15) ipfw add 10251 pipe 16 ip from table(15) to any и просто распихивать ип клиентов в эти таблицы и потом скриптом по кроны менять значения pipe 15 и pipe 16 Ссылка на сообщение Поделиться на других сайтах
assasinwar 7 Опубліковано: 2008-06-03 12:23:53 Share Опубліковано: 2008-06-03 12:23:53 Благодарю за ответ. Исходя из Ваших слов составил такой набор правил ipfw table 1 add 10.18.1.2 ipfw table 1 add 10.18.1.3 ipfw pipe 1000 config bw 512Kbit/s mask src-ip 0xffffffff ipfw add 1000 pipe 1000 ip from any to "table(1)" ipfw add 1001 pipe 1000 ip from "table(1)" to any Соответственно 2 юзерам "нарежется" канал по 512 каждому. Ссылка на сообщение Поделиться на других сайтах
stvol 4 Опубліковано: 2009-04-13 23:19:15 Share Опубліковано: 2009-04-13 23:19:15 Благодарю за ответ. Исходя из Ваших слов составил такой набор правил ipfw table 1 add 10.18.1.2 ipfw table 1 add 10.18.1.3 ipfw pipe 1000 config bw 512Kbit/s mask src-ip 0xffffffff ipfw add 1000 pipe 1000 ip from any to "table(1)" ipfw add 1001 pipe 1000 ip from "table(1)" to any Соответственно 2 юзерам "нарежется" канал по 512 каждому. Это точно будет у каждого по 512 если оба подключатся?Я сейчас делаю для каждого 128Кбитного свой пайп.Я так понимаю что я плужу и достаточно одного пайпа в 128Кбит? И еще сразу подскажите dst-ip это урезка исходящего а src-ip входящего? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас