ng, ipfw pipe, выделение канала на безлимитчиков

Технические вопросы по UTM 5.0
Ответить
nixon
Сообщения: 12
Зарегистрирован: Пн авг 18, 2008 08:31

ng, ipfw pipe, выделение канала на безлимитчиков

Сообщение nixon »

Здравствуйте! Имеется в наличии FreeBSD 7.1+mpd 5.1+UTM 5.2.1-006
Создан безлимитный тариф путем задания радиус-параметров в услуге передача трафика (vendor: 12341 attr: 7
значение: out#1=all shape 128000 pass тип: string
и vendor: 12341 attr: 7
значение: in#1=all shape 128000 pass тип: string
). Теперь необходимо ограничить всех пользователей с таким тарифом общим каналом в 1024 Кбит. Как правильно это сделать? Я попробовал сделать следущим образом: IP адрес в услугах всех безлимитных пользователей взят из сети 172.16.200.0/24, создан pipe: ipfw pipe 1024 config bw 1024Kbits queue 10, изменено sysctl net.inet.ip.fw.one_pass=0

в итоге правила получились такими:

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

00010 allow ip from any to any via lo0
00020 deny ip from any to 127.0.0.0/8
00030 deny ip from 127.0.0.0/8 to any
00050 divert 8668 ip from any to 91.x.x.x in via em1
00060 divert 8668 ip from 172.16.0.0/16 to any via em1
00061 pipe 1024 ip from 172.16.200.0/24 to any
00062 pipe 1024 ip from any to 172.16.200.0/24
00070 allow ip from any to me
00080 allow ip from me to any
00090 allow ip from table(1) to any
00091 allow ip from any to table(1)
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
64000 allow gre from any to any
65500 deny ip from any to any
При просмотре ipfw pipe show в независимости от колчества подключенных всегда отображена одна очередь

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

ipfw pipe show
01024:   1.024 Mbit/s    0 ms   30 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     172.16.200.4/64855    x.x.x.3/53    195491 161563578  0    0  41
Где ошибка?

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

man ipfw на предмет queue, я на такие грабли уже наступал. Очередь надо закрепить на трубу и прописать ей маску для сети /24, это будет насколько помню 0x000000ff. Трубы должно быть две, с одинаковыми параметрами, и своя очередь должна быть прицеплена к каждой трубе, для in пакетов маска очереди должна быть на src-ip, для out - на dst-ip. In пакеты должны идти в одну очередь, out - в другую. Если же не проставлять in и out, то рискуете один и тот же пакет дважды завернуть в одну трубу либо в одну очередь и переломать нарезку скорости. Оно вам надо?

Или если вы с одного адреса после NAT хотите скорость порезать, то все равно надо две трубы делать, только без очередей и масок, и завертывать прямо в них, опять же различая in и out пакеты. Я вижу, у вас оно именно так задумано.

nixon
Сообщения: 12
Зарегистрирован: Пн авг 18, 2008 08:31

Сообщение nixon »

JAO писал(а): Или если вы с одного адреса после NAT хотите скорость порезать, то все равно надо две трубы делать, только без очередей и масок, и завертывать прямо в них, опять же различая in и out пакеты. Я вижу, у вас оно именно так задумано.
Я наверное не правильно описал). Резать нужно не с одного адреса, а сеть 172.16.200.0/24

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Если только их и никого более, тогда читайте про очереди. И резать их нужно до NAT.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

исходняк до ната, входняк после.

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Да, верно, чтобы различие шло на основе внутренних адресов.

nixon
Сообщения: 12
Зарегистрирован: Пн авг 18, 2008 08:31

Сообщение nixon »

Спасибо за направление :) разобрался. Остался не до конца ясным вопрос из каких соображений выбирать оптимальный размер очереди?

Ответить