URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96405
[ Назад ]

Исходное сообщение
"Помогите с DUMMYNET в IPFW"

Отправлено kuksha12 , 18-Дек-15 16:59 
Нужно сделать ограничение скорости для всех пользователей серой сетки.
Канал 10Mbit/sec. Пользователей - 50 человек. По интернету лазят мало, в основном по работе и в целом ширины канала хватает. Пики кратковременны и в основном канал свободен.
И всё-же, надо сделать так, чтобы максимальная скорость для каждого была не более 3Mbit/s.
Какие правила прописать в IPFW?

Попробовал:
pipe 1 config bw 3Mbit/s
add pipe 1 ip from any to 192.168.1.0/24 out
не сразу сообразил, что всех загнал в ОДИН канал три мегабита... :(

Мне не в лом для каждого IP, например для 192.168.1.10, прописать например так:
pipe 10 config bw 3Mbit/s
add pipe 10 ip from any to 192.168.1.10 out
Но, что в итоге-то получится при таких правилах?
Мне не нужны гарантированные 3 мегабита на каждого, тем более что канал всего 10 мегабит... мне нужно только ограничить каждого пользователя сверху (тремя мегабитами если канал свободен или просто поделит его ширину пропорционально) и не более того. Как поделится ширина канала, если при указанных правилах по трубам подключатся одновременно например 5 пользователей?
10Mb/s / 5 человек=2Mb/s? - меня бы это устроило...
Коллеги, выручите пожалуйста!


Содержание

Сообщения в этом обсуждении
"Помогите с DUMMYNET в IPFW"
Отправлено kuksha12 , 18-Дек-15 17:00 
Лирическое отступление о причинах:
Иногда стали появляться пользователи, которые без злого умысла сильно грузят канал Интернета - то видео, то обновления винды, то ещё что-то... При этом интернет у остальных пользователей просто отваливается, а у этих единоличников всё в порядке...
Шлюз не менялся несколько лет, все настройки старые. Разве что перевёл много машин с WinXP на Win7. Сделал сейчас новый шлюз на FreeBSD 10.2 + IPFW + natd.
Странно, что "раньше такого не было" - перед шлюзом все клиенты были "равны" и при перегрузках тормозило у всех одинаково, но теперь временами некоторые почему-то становятся "равнее" других. Я в тихом ауте от такого - даже не знаю на что думать...



"Помогите с DUMMYNET в IPFW"
Отправлено omnomnim , 18-Дек-15 17:55 
> Сделал сейчас новый шлюз на FreeBSD 10.2 + IPFW + natd.

изучайте ipfw kernel nat
natd > /dev/лес



"Помогите с DUMMYNET в IPFW"
Отправлено kuksha12 , 18-Дек-15 18:49 
И чем ядерный нат в данном случае поможет?

"Помогите с DUMMYNET в IPFW"
Отправлено omnomnim , 18-Дек-15 17:53 
1) читаем маны и учимся гуглить, не возникало подозрений что такой вопрос уже мог возникнуть у 100500 школоло-одминов-птушников до вас?

2) я сегодня добрый

ipfw pipe 1 config bw 3Mbit/s mask src-ip 0xffffffff
ipfw pipe 2 config bw 3Mbit/s mask dst-ip 0xffffffff

ipfw add pipe 1 all from 192.168.1.0/24 to any
ipfw add pipe 2 all from any to 192.168.1.0/24

3) самостоятельно изучите необходимость для вашего конкретного случая
net.inet.ip.fw.one_pass = 0
и
kern.hz=1000 (/boot/loader.conf)


"Помогите с DUMMYNET в IPFW"
Отправлено kuksha12 , 18-Дек-15 18:20 
>[оверквотинг удален]
> уже мог возникнуть у 100500 школоло-одминов-птушников до вас?
> 2) я сегодня добрый
> ipfw pipe 1 config bw 3Mbit/s mask src-ip 0xffffffff
> ipfw pipe 2 config bw 3Mbit/s mask dst-ip 0xffffffff
> ipfw add pipe 1 all from 192.168.1.0/24 to any
> ipfw add pipe 2 all from any to 192.168.1.0/24
> 3) самостоятельно изучите необходимость для вашего конкретного случая
> net.inet.ip.fw.one_pass = 0
> и
> kern.hz=1000 (/boot/loader.conf)


"Помогите с DUMMYNET в IPFW"
Отправлено kuksha12 , 18-Дек-15 18:21 
Спасибо :)


"Помогите с DUMMYNET в IPFW"
Отправлено kuksha12 , 21-Дек-15 11:14 
>> ipfw pipe 1 config bw 3Mbit/s mask src-ip 0xffffffff
>> ipfw pipe 2 config bw 3Mbit/s mask dst-ip 0xffffffff
>> ipfw add pipe 1 all from 192.168.1.0/24 to any
>> ipfw add pipe 2 all from any to 192.168.1.0/24

Хрень какая-то получилась...
Поставил эти 4 правила, только изменил 3Mbit/s на 4Mbit/s.
Измеряю скорость на клиенте с этими правилами: 2Mbit/s внутрь и 4Mbit/s наружу
Измеряю скорость на клиенте без этих правил: 10Mbit/s в обе стороны.
Почему входящий трафик в 2 раза меньше заданного?

PS: поставил во второй строке 8Mbit/s - получил требуемые 4Mbit/s для клиента... почему?

PS2: если дело в том, что net.inet.ip.fw.one_pass=0 по умолчанию и пакета дважды проходят через интерфейс, то что делать то? Я так понял, что если поставить net.inet.ip.fw.one_pass=1, то пакеты будут пролетать через трубу не глядя на ниже следующие правила фаервола? Или нет?
Можно бы и так оставить, но как-то неуютно от двойной нагрузки на интерфейс...


"Помогите с DUMMYNET в IPFW"
Отправлено Pahanivo , 21-Дек-15 11:57 
> Хрень какая-то получилась...

маны читай, примеры смотри - сто раз не то что разжевано, а уже переварено.


"Помогите с DUMMYNET в IPFW"
Отправлено universite , 19-Дек-15 05:03 
4) Следующий этап - использование tablearg

"Помогите с DUMMYNET в IPFW"
Отправлено kuksha12 , 21-Дек-15 11:13 
дубль