Не работает шейпер ipfw pipe

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
chipset
мл. сержант
Сообщения: 113
Зарегистрирован: 2012-05-12 11:24:30

Не работает шейпер ipfw pipe

Непрочитанное сообщение chipset » 2012-10-05 13:53:27

Сетевка rl1 подключена к роутеру который по l2tp подключается к провайдеру, а от сетевки rl0 мы будем подключать компы на которые режем скорость.

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

rl0: inet 10.113.1.1 netmask 0xffffff00 broadcast 10.113.1.255
rl1: inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
Начну то что работает. Создаем таблицу в фаерволе ipfw в которой у нас будут разрешенные пользователи.

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

ipfw add 501 deny ip from not table\(15\) to any out recv rl0 xmit rl1
Затем добавим в эту таблицу пользователей которых мы блокировать не будем. Для примера добавим один ip

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

ipfw table 15 add 10.113.1.240/32
Если добавить в таблицу не блочит удаляем пользователя из нее работает блокировка.

Теперь к тому что не работает.

Режем скорость согласно тарифному плану:
Для каждого тарифного плана создадим 2 pipe с требуемой скоростью, один на вход, другой на выход, и укажем у входящего dst-mask 0xffffffff а у исходящего src-mask 0xffffffff

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

ipfw pipe 220 config bw 4096Kbit/s mask src-ip 0xffffffff noerror
ipfw pipe 221 config bw 4096Kbit/s mask dst-ip 0xffffffff noerror
И добавим следующие правила в фаервол ipfw:

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

ipfw add 1001 pipe tablearg ip from table\(12\) to any out recv rl0 xmit rl1
ipfw add 1002 pipe tablearg ip from any to table\(13\) out recv rl1 xmit rl0
Теперь нам надо добавить в таблицу 12 и 13 всех пользователей указав им в качестве аргумента номер пайпа их тарифного плана, например:

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

ipfw table 12 add 10.113.1.240/32 220
ipfw table 13 add 10.113.1.240/32 221
Ну и ответственно скорость не режется на 4 Мбит/с
Не как не пойму где косяк

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

mak_v_
проходил мимо

Re: Не работает шейпер ipfw pipe

Непрочитанное сообщение mak_v_ » 2012-10-05 14:03:18

Если добавить в таблицу не блочит удаляем пользователя из нее работает блокировка.
Если кто понял - отпишите

chipset
мл. сержант
Сообщения: 113
Зарегистрирован: 2012-05-12 11:24:30

Re: Не работает шейпер ipfw pipe

Непрочитанное сообщение chipset » 2012-10-05 14:08:14

Да там написал не совсем понятно.
Если добавить в таблицу то блокировки нет. Если удаляем пользователя из таблицы то пользователь заблокирован.
Да и вопрос то не по части блокировки. Она как раз работает.


chipset
мл. сержант
Сообщения: 113
Зарегистрирован: 2012-05-12 11:24:30

Re: Не работает шейпер ipfw pipe

Непрочитанное сообщение chipset » 2012-10-05 14:32:51

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

ipfw show
00005       93        6220 deny ip from table(1) to me dst-port 22
00100  5259431   345990979 count ip from any to me in via rl1
00105        3         168 allow udp from any to me dst-port 53 in recv rl1
00200  9534419 11805396675 count ip from me to any out via rl1
00205        0           0 allow udp from me 53 to any out xmit rl1
00305     5428      655382 allow udp from any 53 to me in recv rl1
00405     5416      341552 allow udp from me to any dst-port 53 out xmit rl1
00501       61       20815 deny ip from not table(15) to any out recv rl0 xmit rl1
00505        0           0 allow tcp from any to me dst-port 53 in recv rl1 setup
00605    48998     5023280 allow ip from any to any via lo0
00705        0           0 deny ip from any to 127.0.0.0/8
00805        0           0 deny ip from 127.0.0.0/8 to any
00905 17930051 14867626908 allow ip from any to any
01001        0           0 pipe tablearg ip from table(12) to any in
01002        0           0 pipe tablearg ip from any to table(13) out
65535        0           0 deny ip from any to any

mak_v_
проходил мимо

Re: Не работает шейпер ipfw pipe

Непрочитанное сообщение mak_v_ » 2012-10-05 14:50:50

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

00905 17930051 14867626908 allow ip from any to any
Соответственно правила с пайпами должны стоять выше, чтобы в них попадали пакетики, например с номерами 815 и 820 соответственно

chipset
мл. сержант
Сообщения: 113
Зарегистрирован: 2012-05-12 11:24:30

Re: Не работает шейпер ipfw pipe

Непрочитанное сообщение chipset » 2012-10-05 15:03:29

Да и правда проблема была в этом. Про это даже не подумал.
Может лучше сделать правило:

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

65534 allow ip from any to any

mak_v_
проходил мимо

Re: Не работает шейпер ipfw pipe

Непрочитанное сообщение mak_v_ » 2012-10-05 15:04:45

Делайте как вам удобно