Страница 1 из 1

PF: изменить значение макроса во время работы?!

Добавлено: 2009-06-09 19:15:02
MarvinFS
коллеги,

freebsd 7.1
фиревол PF
написано в pf.conf

ext_if="fpx0"
nat on $ext_if from <LANclients> -> ($ext_if)

задача: 2 канала, хочу динамичеки прямо во время работы изменять значение макроса ext_if чтобы соответственно натило в другой интерфейс.

пишу как в мануале: чтота типа
route change 0.0.0.0. new_gw
pfctl -D ext_if=xl0

результат: ниего не меняется по pfctl -sa
и соответственно НАТ продолжает работать со старым интерфесом... как побороть? помогайте... завтра нужно включать файер...

пробовал
pfctl -D 'ext_if=xl0'
pfctl -D "ext_if=xl0"
pfctl -D ext_if="xl0"
pfctl -D 'ext_if="xl0"'

Re: PF: изменить значение макроса во время работы?!

Добавлено: 2009-06-10 13:38:06
MarvinFS
UP

Re: PF: изменить значение макроса во время работы?!

Добавлено: 2009-06-11 16:46:41
MarvinFS
UP!

Re: PF: изменить значение макроса во время работы?!

Добавлено: 2009-06-11 17:55:53
Гость
ты можешь сделать то же самое через interface renaming

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

$ ifconfig xl0 name fxp0
Макросы по определению не могут менятся без перезагрузки правил просто потому, что значение макросов подставляется во время разборки правил перед загрузкой их в ядро.

Re: PF: изменить значение макроса во время работы?!

Добавлено: 2009-06-11 18:08:13
MarvinFS
Каков тогда механизм работы с правилами PF в случае множественных интерфейсов?
дублирование всех правил с подставлением разных имен интерфейсов туда где используются входящие соединения?!

Re: PF: изменить значение макроса во время работы?!

Добавлено: 2009-06-11 18:17:15
Гость
хм, ну можно сделать через якоря (nat-anchor) или через скрипт, кой будет менять значения правил и перезагружать их

ps, пусть лучше кто-то с опытом ответит

Re: PF: изменить значение макроса во время работы?!

Добавлено: 2009-06-11 23:12:37
schizoid
можно еще таблицы заюзать...
мну как-то с ipfw проще шоле...

конкретнее задачу опишите