[решено] Ограничить канал на интернет

Аватара пользователя
Vygov

[решено] Ограничить канал на интернет

Сообщение Vygov »

Приветствую!

Есть сервак с FreeBSD 4.10 R.-P4, на котором стоит шлюз. Есть рабочие станции, которые выходят в интернет через этот шлюз.

Подскажите, пожалуйста, как каждому юзеру назначить определенную скорость, с которой он может выходить в инет.
Аватара пользователя
Vygov

Re: [решено] Ограничить канал на интернет

Сообщение Vygov »

Понял, курю IPFW. Сразу вопрос. Решил потестить ширину канала на машине с адресом 192.168.111.9. Настраиваю пока все с ходу, не записывая в ipfw.rules, чтобы в случае какой-нибудь непонятки слетело все после перезагрузки.

Реальная ширина канала 256Kbit/s.

Последовательность команд:

ipfw add pipe 1 tcp from 192.168.111.9 to any out

ipfw add pipe 1 tcp from 192.168.111.9 to any in

ipfw pipe 1 config bw 32Kbit/s

ipfw pipe 2 config bw 32Kbit/s

Тестирую скорость, но инет так и продолжает шпарить с 256Kbit/s.

В чем я допустил ошибку?



P.S. А нештатные средства есть какие-нибудь или встроенный firewall вполне надежен?
Аватара пользователя
Igor_I

Re: [решено] Ограничить канал на интернет

Сообщение Igor_I »

ipfw show

ipfw pipe show

1 с 2 не перепутал?

Ядро пересобрал?

Если каждому, то надо вроде бы использовать маску. В смысле, что не прописывать сотни правил на каждую машину, а сразу определить общее поведение.
Аватара пользователя
Vygov

Re: [решено] Ограничить канал на интернет

Сообщение Vygov »

Цитата Dm1try:



Ядро собранно с опцией DUMMYNET ?



Да.


Цитата Igor_I:



ipfw show

ipfw pipe show

1 с 2 не перепутал?

Ядро пересобрал?
[решено] Ограничить канал на интернет




Все правила присутствуют, 1 с 2 не перепутал, просто здесь написал неправильно, по ipfw pipe show выдает:



00001: 32.000 Kbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail

mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000

00002: 32.000 Kbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail

mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000



Все в порядке. Ядро не пересобирал, потому что в конфиге ядра прописано:



options DUMMYNET

options IPFIREWALL




Цитата Igor_I:



Если каждому, то надо вроде бы использовать маску. В смысле, что не прописывать сотни правил на каждую машину, а сразу определить общее поведение.
[решено] Ограничить канал на интернет




Я пока хочу попробовать на одной машине, маску потом сделать не проблема.
Аватара пользователя
Igor_I

Re: [решено] Ограничить канал на интернет

Сообщение Igor_I »

Лично я все время путаюсь вход-выход Изображение если убрать in-out

и сделать



ipfw pipe 1 config bw 32Kbit/s

ipfw pipe 2 config bw 32Kbit/s

ipfw add pipe 1 tcp from 192.168.111.9 to any

ipfw add pipe 2 tcp from any to 192.168.111.9
Аватара пользователя
Igor_I

Re: [решено] Ограничить канал на интернет

Сообщение Igor_I »

Цитата Vygov:



00001: 32.000 Kbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail

mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000

00002: 32.000 Kbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail

mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000



Судя по нулям, ни одного пакета не соответствует этим правилам. Смотри ipfw show.
Аватара пользователя
Vygov

Re: [решено] Ограничить канал на интернет

Сообщение Vygov »

Цитата Igor_I:



Лично я все время путаюсь вход-выход если убрать in-out

и сделать

ipfw pipe 1 config bw 32Kbit/s

ipfw pipe 2 config bw 32Kbit/s

ipfw add pipe 1 tcp from 192.168.111.9 to any

ipfw add pipe 2 tcp from any to 192.168.111.9
[решено] Ограничить канал на интернет




Попробовал, скорость не изменилась.


Цитата Igor_I:



Судя по нулям, ни одного пакета не соответствует этим правилам. Смотри ipfw show.
[решено] Ограничить канал на интернет






Код:

Код: Выделить всё

ipfw show
00100 2482944 1069009847 divert 8668 ip from any to any via xl0
00200 1187203  219726641 allow ip from 210.40.30.6 to any out xmit xl0
00300  112140   45179018 allow ip from any to 210.40.30.6 in recv xl0
00400 1183541  804101788 allow ip from any to 192.168.111.0/24 via xl0
00500   29619    8328569 allow ip from 192.168.111.0/24 to 192.168.111.1 in recv fxp0
00600   34469   26393825 allow ip from 192.168.111.1 to 192.168.111.0/24 out xmit fxp0
00700 1091176  204047454 allow ip from 192.168.111.0/24 to any in recv fxp0
00800 1183541  804101788 allow ip from any to 192.168.111.0/24 out xmit fxp0
00900  114484  104630922 allow ip from any to any via lo0
01000       0          0 deny ip from any to 127.0.0.0/8
01100       0          0 deny ip from 127.0.0.0/8 to any
01200       0          0 pipe 1 tcp from 192.168.111.9 to any
01300       0          0 pipe 2 tcp from any to 192.168.111.9
65535    5351    1754264 deny ip from any to any
Аватара пользователя
Igor_I

Re: [решено] Ограничить канал на интернет

Сообщение Igor_I »

По нулям? Практически все пакеты уходят через верхние правила.

Если поставить нужные правила после divert?
Аватара пользователя
Vygov

Re: [решено] Ограничить канал на интернет

Сообщение Vygov »

Верно, сработало! Респект!



Вот только бы еще понять, почему правила не сработали внизу.
Ответить

Вернуться в «Общий по FreeBSD»