Вопрос по правилам фаервола

Технические вопросы по UTM 5.0
Ответить
borozenetsvv
Сообщения: 7
Зарегистрирован: Ср июл 09, 2008 13:35

Вопрос по правилам фаервола

Сообщение borozenetsvv »

Имеем два интерфейса. Один в пиринговую сеть, второй в мир. Hа обоих интерфесах висит natd. Интернет у пользователей работает, трафик классифицируется нормально. Правила для включения-выключения следующие:

Пиринговые сети

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

add RULE_ID divert 8668 ip from UIP/UBITS to any out via rl0
delete RULE_ID
Остальной интернет

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

add RULE_ID divert 8669 ip from UIP/UBITS to any out via ng0
delete RULE_ID
Оба правила присоединены к одному тарифу. Но дело в том, что при добавлении правил, они добавляются с одним RULE_ID, в результате имеем:

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

05001     37      1596 divert 8668 ip from 192.168.9.129 to any out via rl0
05001    215     47505 divert 8669 ip from 192.168.9.129 to any out via ng0
Конструкция конечно работает, но при удалении правил вылетает ошибка.

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

ipfw: rule 5001: setsockopt(IP_FW_DEL): Invalid argument
Я так понимаю что это из-за того, что при удалении правила одной командой удаляются сразу оба, и при удалении второго правила удалять уже нечего.
Это в принципе не так страшно, все работает, но может есть какое-то более красивое решение?

И еще. Прицепил пользователям периодическую услугу "Абонентская плата". Прицеплено на дополнительный счет у пользователя. К тарифу она не привязана. Списания происходят нормально. Но опять-же отрабатываются правила фаервола от привязанного тарифа к пользователю. в результате:

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

05001     44      1934 divert 8668 ip from 192.168.9.129 to any out via rl0
05001    278     64172 divert 8669 ip from 192.168.9.129 to any out via ng0
05001      0         0 divert 8668 ip from 192.168.9.129 to any out via rl0
05001      0         0 divert 8669 ip from 192.168.9.129 to any out via ng0
Опять же, все работает. Но, согласитесь, как-то некрасиво. Прошу помощи, буду благодарен любому ответу. 5.2.1-005, FreeBSD 8.0-Release.

murano
Сообщения: 67
Зарегистрирован: Ср окт 14, 2009 06:53

ipfw

Сообщение murano »

У меня с самого начала и уже на протяжении нескольких лет работает фаерволл по нижеследующей схеме:

включение:
add 11UID allow ip from any to UIP
add 11UID allow ip from UIP to any

выключение:

delete 11UID allow ip from any to UIP
delete 11UID allow ip from UIP to any

цифра 11 в 11UID служит своего рода префиксом, т.е. если клиент имеет ID 100, то в фаерволле его правила будут иметь номер 11100, ну и соответственно, идет уже правило в конце, запрещающее по умолчанию инет.

borozenetsvv
Сообщения: 7
Зарегистрирован: Ср июл 09, 2008 13:35

Сообщение borozenetsvv »

В общем оставил я эту затею с двумя счетами. Все пошло не так как хотелось. Только народ по-конски загнал в минуса. Абонплата продолжала сниматься у заблокированных пользователей, хотя на счете стояла галка не снимать в заблокированном состоянии. Видимо оттого что на счете интернета не была установлена эта галка. Плюнул в общем.

mrDefault
Сообщения: 86
Зарегистрирован: Ср окт 29, 2008 12:04

Сообщение mrDefault »

А что мешает набросать бредовый скриптик на том же sh и уже rfw в качестве фаервола скармливать его, а ни ipfw? И уже в нем можно обрабатывать все как угодно и что угодно. ИМХО, если передавать правила напрямую в ipfw или iptables далеко не уедешь, особенно с хитрыми ТП.

ЗЫ. Сори за некропост.

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

Сообщение JAO »

У меня скриптик перловый.

Ответить