ipfw как проверить на существующее правило?

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
imroot
мл. сержант
Сообщения: 127
Зарегистрирован: 2007-12-18 14:06:19

ipfw как проверить на существующее правило?

Непрочитанное сообщение imroot » 2009-10-07 17:47:25

собственно есть прога которая при успешной авторизации юзера добавляет правило в фаервол.
но вот если разлогирование не корректно произошло и он снова авторизуется то в фаерволле появляется идентичная запись

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

10601    22        231 allow ip from 192.168.1.99 to any
10601    0        0 allow ip from 192.168.1.99 to any
как-то некравиво получается (и скорее всего начинает лагать инет), как бы организовать проверку тем-же скриптом на существование такой записи в таблице?

Заранее благодарен!

Хостинговая компания 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/

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: ipfw как проверить на существующее правило?

Непрочитанное сообщение Laa » 2009-10-07 17:53:26

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

_n=`ipfw show|grep "allow ip from 192.168.1.99 to any"|awk '{print $1}'`;
if [-n $_n ]; then ipfw delete $_n; fi
Ну как-то так. ;)
Можно еще привязывать номера правил к юзерам и удалять правило (есть оно или нет) перед включением юзера по номеру.
Да вообще масса способов.

И еще, при больших нагрузках и кол-вах юзеров, лучше когда в файерволе указано направление прохождения пакета (in recv fxp0, out xmit rl0), так ему легче работать.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: ipfw как проверить на существующее правило?

Непрочитанное сообщение hizel » 2009-10-07 18:35:47

а еще такие вещи лучше делать через table :]
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

imroot
мл. сержант
Сообщения: 127
Зарегистрирован: 2007-12-18 14:06:19

Re: ipfw как проверить на существующее правило?

Непрочитанное сообщение imroot » 2009-10-07 20:09:05

ткните пальцем :oops:
или покажите. ПОЖАЛУСТА :sorry:

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: ipfw как проверить на существующее правило?

Непрочитанное сообщение Laa » 2009-10-08 16:10:19

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

ipfw table 41 add 10.0.1.3
ipfw table 41 add 10.0.1.45
...
ipfw table 41 delete 10.0.1.91
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!