Страница 1 из 1
ipfw - ограничение скорости
Добавлено: 2006-10-26 15:52:45
dikens3
Обычное ADSL подключение к прову 8Mbit/s | 1mbit/s. + Здесь есть телефон. Т.е. скорость в момент звонка урезается до 4Mbit/s. (Не помню точно, но где-то читал)
Есть две сетевухи, одна в лан, другая в инет.
Нужно сделать максимально быстрый доступ к сайту через ipfw pipe
Т.к. канал ограничивается только на выходе, на какой лучше сетевухе это сделать?
На той, которая в инет или Лан?
P.S. Предполагаю, что на той, которая в инет.
Добавлено: 2006-10-26 16:14:25
Alex Keda
какому сайту?
Добавлено: 2006-10-26 16:58:34
dikens3
lissyara писал(а):какому сайту?
Мдя, действительно непонятно.. Своему корпоративному.
Чё-то перемудрил я:
Добавил
Код: Выделить всё
# Ускоряем Web-Site
${fwcmd} pipe 1 config bw 8Mbit/s queue 10
${fwcmd} queue 1 config pipe 1 weight 80
${fwcmd} queue 2 config pipe 1 weight 20
${fwcmd} add queue 1 ip from ${webmailserver} to any out via ${ifout}
${fwcmd} add queue 2 ip from not ${webmailserver} to any out via ${ifout}
НО:
Код: Выделить всё
# ipfw pipe show
00001: 8.000 Mbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
q00001: weight 80 pipe 1 50 sl. 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 tcp 192.168.*.*/80 89.109.4.168/2769 1408 1214253 0 0 0
q00002: weight 20 pipe 1 50 sl. 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 udp 192.168.*.*/6369 217.11.48.13/53 1567 168977 0 0 0
Так собственно всё и стоит, счётчики изменяются, но
никаких новых очередей не появляется. Что делать? Так и должно быть?
Добавлено: 2006-10-26 18:16:01
dikens3
Сделал так:
Код: Выделить всё
${fwcmd} pipe 1 config bw 7Mbit/s
${fwcmd} queue 1 config pipe 1 weight 80 queue 20 mask src-ip 0xffffffff
${fwcmd} queue 2 config pipe 1 weight 20 queue 20 mask src-ip 0xffffffff
${fwcmd} add queue 1 ip from ${webmailserver} to any out via ${ifout}
${fwcmd} add queue 2 ip from not ${webmailserver} to any out via ${ifout}
Вроде работает.
Сайт Объем данных Время загрузки Загрузка 1 Kб
1 http://www.mydomain.ru > 10 Kбайт 0.84 сек 0.08 сек
2 http://www.mydomain2.ru > 10 Kбайт 0.89 сек 0.09 сек
Тестировал тут:
http://web.nettools.ru/
Добавлено: 2007-02-15 17:24:48
BAV_Lug
Появилось несколько вопросов
1. Как правильно равномерно распределить между пользователями канал?
2. И как решить ту-же задачу, но, например, разбив пользователей на две группы с разными приоритетами?
Стоит сквид. И хотелось бы, чтобы канал делился на внутреннем интерфейсе только по порту 3128 (средствами сквида херня получается

)
ЗЫ Статью на сайте читал, но там ограничение по каждому пользователю, а мне нужно, что-бы когда канал пустует и один ползователь он весь отдавался ему.
Добавлено: 2007-02-15 17:39:15
dikens3
BAV_Lug писал(а):Появилось несколько вопросов
1. Как правильно равномерно распределить между пользователями канал?
2. И как решить ту-же задачу, но, например, разбив пользователей на две группы с разными приоритетами?
Стоит сквид. И хотелось бы, чтобы канал делился на внутреннем интерфейсе только по порту 3128 (средствами сквида херня получается

)
ЗЫ Статью на сайте читал, но там ограничение по каждому пользователю, а мне нужно, что-бы когда канал пустует и один ползователь он весь отдавался ему.
${fwcmd} queue 1 config pipe 1
weight 80
Вес так называемый. 80% предпочтение траффика по этому критерию.
Добавлено: 2007-02-16 10:03:50
BAV_Lug
dikens3 писал(а):
${fwcmd} queue 1 config pipe 1 weight 80
Вес так называемый. 80% предпочтение траффика по этому критерию.
Вот, что накопал по первому вопросу
Код: Выделить всё
ipfw pipe 10 config bw 10Mbit/s
ipfw pipe 20 config bw 10Mbit/s
ipfw queue 10 pipe 10 weight 50 mask src-ip 0xffffffff
ipfw queue 20 pipe 20 weight 50 mask dst-ip 0xffffffff
ipfw add ... queue 10 ip from any to any in via rl0
ipfw add ... queue 20 ip from any to any out via rl0
где rl0 - сетевая карта, обращенная в сторону "юзеров"
но не работает

что нужно подставить вместо точек?
и как посмотреть работают ли трубы? (ipfw pipe show - показывает две трубы, и все нули

)
Добавлено: 2007-02-16 11:45:20
dikens3
Код: Выделить всё
# Указываешь скорость исходящего/входящего интерфейса
${fwcmd} pipe 1 config bw 100Mbit/s
# Создаёшь 1 очередь с приоритетом 80% (Группа 1)
${fwcmd} queue 1 config pipe 1 weight 80 queue 20 mask dst-ip 0xffffffff
# Создаёшь 2 очередь с приоритетом 20% (Группа 2)
${fwcmd} queue 2 config pipe 1 weight 20 queue 20 mask dst-ip 0xffffffff
В итоге 100% определение канала?
# Приоритет для VIP юзеров
${fwcmd} add queue 1 ip from any to ${vip_users} out via ${iflan}
# Приоритет для остальных пользователей
${fwcmd} add queue 2 ip from any to not ${vip_users} out via ${iflan}
В итоге при 100% загрузке исходящего потока траффика c интерфейса iflan
80% канала будет отдаваться VIP пользователям и 20% обычным юзерам
Учти, что пример работать не будет, т.к. входящий(интернетный) трафик у тебя гораздо меньше 100Mbit/s.
Посмотреть ipfw pipe show