[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[openbsd] pflow и altq на одном интерфейсе



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

Прошу помощи в решении одной задачи. Проблема в следующем.

Eсть OpenBSD 4.6 в качестве роутера + NAT для локальной сети.
Чтобы посчитать трафик с помощью pflow, его нужно прикрутить
к внутреннему интерфейсу, иначе в статистике будет внешний адрес.
pflow работает исключительно с правилами keep state.
В то же время, чтобы на внутреннем интерфейсе отправить трафик
_к пользователю_ в ту или иную очередь - не должно быть состояния,
иначе правило с queue не срабатывает.

Вот пример:

TRANSLATION RULES:
nat on vlan2 inet proto tcp from 10.51.109.40/29 to any -> 193.200.84.226
nat on vlan2 inet proto udp from 10.51.109.40/29 to any -> 193.200.84.226
nat on vlan2 inet proto icmp from 10.51.109.40/29 to any -> 193.200.84.226

FILTER RULES:
block drop in all
pass in quick on vlan2 proto tcp from any to (vlan2) port = ssh flags S/SA keep state (if-bound)
pass out quick on vlan2 all flags S/SA keep state (if-bound)
pass in quick on vlan2 all no state
* pass in quick on vlan621 inet from 10.51.109.40/29 to any flags S/SA keep state (if-bound, pflow)
* pass out quick on vlan621 inet from any to 10.51.109.40/29 no state queue to_Gonta

ALTQ:
queue root_em0 on em0 bandwidth 1Gb priority 0 {DEFQ, to_Customers}
queue  DEFQ on em0 bandwidth 100Mb hfsc( default )
queue  to_Customers on em0 bandwidth 10Mb {to_Akim, to_Gonta}
queue   to_Akim on em0 bandwidth 512Kb hfsc( upperlimit 512Kb )
queue   to_Gonta on em0 bandwidth 512Kb hfsc( upperlimit 512Kb )

Правила, помеченные звездочкой - будет срабатывать только первое правило.
Второе на сработает для ответного трафика никогда, следовательно
очередь - не работает. Если же сделать первое правило с no state,
то очередь работает, но при этом становится невозможным использование
pflow. Если же pflow перенести на внешний интерфейс, то в статистике 
не будет внутренних адресов.

Так как быть? Как одновременно использовать pflow, nat и altq? 
Заранее спасибо.

-- 
MINO-RIPE

-- 
To unsubscribe send an e-mail to openbsd+unsubscribe@uaoug.org.ua
For retrieval in messages archive http://www.uaoug.org.ua/archive