Den_LocalNet 1,474 Posted 2006-10-22 20:17:38 Share Posted 2006-10-22 20:17:38 логично в принципе.... Представь ты выходишь из метро. Если работает 4 двери то ты задерживаешься на 5 секунд при выходе. Если 1 дверь то как минимум на 4*5=20 секунд..... вот и все... Одним словом - Очередь она и в африке очередь Link to post Share on other sites
Xeddin 0 Posted 2006-10-22 20:55:04 Share Posted 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 Link to post Share on other sites
Kucher2 122 Posted 2006-10-23 10:15:31 Share Posted 2006-10-23 10:15:31 По правде говоря - мне кажется, что очереди ничего не изменят - трубы-то всего 2. Пинги такими и останутся. Или изменится, но незначительно. Проверить нет возможности. У меня такая же байда. Интересно было бы увидеть решение. Я пока создал отдельную pipe в 2 раза уже реального и всех "провинившихся" перенаправил туда. Помогает, но слабо. Всё равно лаги, хоть и намного меньше. Link to post Share on other sites
Xeddin 0 Posted 2006-10-23 12:34:58 Share Posted 2006-10-23 12:34:58 но без шейпера все ок, все работает с отличными пингами. и когда шеплю на каждый комп по 128 Кбит/с просто пайпом, без очередей, то тоже все ок Link to post Share on other sites
-Emrise- 0 Posted 2006-11-12 12:36:11 Share Posted 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 покажыте где кривые руки =) Link to post Share on other sites
kvirtu 315 Posted 2006-11-12 15:53:31 Share Posted 2006-11-12 15:53:31 Под фрю, есть неплохой биллинг abills - там можно мног чего ! сам использую Link to post Share on other sites
Kucher2 122 Posted 2006-11-12 18:18:45 Share Posted 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 Link to post Share on other sites
Amal 0 Posted 2006-11-13 20:57:12 Share Posted 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 АДРЕС_ограничиваемого верно ли это? Link to post Share on other sites
devchaos 1 Posted 2006-12-14 00:15:22 Share Posted 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 Как правильней? Link to post Share on other sites
Profi the same 1 Posted 2006-12-14 08:21:26 Share Posted 2006-12-14 08:21:26 ответил на хабе Link to post Share on other sites
Kucher2 122 Posted 2008-05-28 16:01:26 Share Posted 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Кбит/с и для данных. А это неправильно, потому что внешний канал хоть и высвобождается, но пользователи это никак не почувствуют, потому что вы режеть ВЕСЬ трафик (если только вы не режете какой-то толстый внешний канал). Сейчас думаю как у себя разрулить это. Этот пример взят с работающего сервера и был проверен мною с двумя машинами, одновременно работающими в сети. Уже не помню откуда стырил решение, но мучался долго. Link to post Share on other sites
assasinwar 7 Posted 2008-05-31 15:17:50 Share Posted 2008-05-31 15:17:50 С вашего позволения, спрошу в даной теме: Есть VPN-сервер на основе freeradius и mpd5. Юзерам режется канал с помощью радиус атрибутов mpd-limit. НО созрел недавно вопрос следующего характера - шейпить канал юзерам, в зависимости от времени суток. Каким методом можно это реализовать? В какую сторону копать? ОС FreeBSD Link to post Share on other sites
911 140 Posted 2008-05-31 20:56:16 Share Posted 2008-05-31 20:56:16 С вашего позволения, спрошу в даной теме:Есть VPN-сервер на основе freeradius и mpd5. Юзерам режется канал с помощью радиус атрибутов mpd-limit. НО созрел недавно вопрос следующего характера - шейпить канал юзерам, в зависимости от времени суток. Каким методом можно это реализовать? В какую сторону копать? ОС FreeBSD crontab + прикручивай какой-то скриптик Link to post Share on other sites
assasinwar 7 Posted 2008-05-31 21:23:41 Share Posted 2008-05-31 21:23:41 Скрипт не проблема прикрутить. Что скрипт должен делать - вот проблема. Может есть какие соображения? Link to post Share on other sites
911 140 Posted 2008-06-01 10:16:59 Share Posted 2008-06-01 10:16:59 Скрипт не проблема прикрутить. Что скрипт должен делать - вот проблема. Может есть какие соображения? ну тогда рассказывай, как щас организован шейпер =) будем думать Link to post Share on other sites
assasinwar 7 Posted 2008-06-01 19:13:57 Share Posted 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 с помощью радиус параметров "перерезать" пайпы всем юзерам. Link to post Share on other sites
911 140 Posted 2008-06-02 18:24:33 Share Posted 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 Link to post Share on other sites
assasinwar 7 Posted 2008-06-03 12:23:53 Share Posted 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 каждому. Link to post Share on other sites
stvol 4 Posted 2009-04-13 23:19:15 Share Posted 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 входящего? Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now