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

anchor в pf.conf

Добавлено: 2015-03-24 14:23:06
Abyrvalg
Привет тебе, о великий All!

Пытаюсь в pf.conf прописать внутренний (inline) якорь для NAT-правила. А именно, необходимо при необходимости отключать NAT для конкретной машины.
Но как бы я ни изгалялся, pfctl ругается на синтаксическую ошибку.
Перелистал кучу мануалей, но там почему-то якори подгружают из файлов. А мне не хочется ради одной строчки заводить файл.

Вот как я пытался сделать:

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

nat-anchor "block_int" {
   no nat on $ext_if from $workstation to any
}
nat on $ext_if from 192.168.10.0/24 to any -> ($ext_if)
Разумеется, все используемые переменные определены.

Как правильно прописать этот чёртов якорь? :(

anchor в pf.conf

Добавлено: 2015-03-24 16:04:13
skeletor
Якорь собственно и задумывался, что бы подгружать его отдельно из другого конфига. Иначе, какой смысл держать его в основном, но не загружать?

anchor в pf.conf

Добавлено: 2015-03-26 10:48:29
Abyrvalg
В некоторых ситуациях требуется с помощью скрипта загружать или выгружать отдельные части конфига. Как я понимаю, якори созданы именно для этого. Находятся ли они в отдельном файле или нет - вопрос второй.
В данном случае меня интересует синтаксис якоря внутри конфига. Неохота заводить отдельный файл ради одной строчки :)

anchor в pf.conf

Добавлено: 2015-03-26 11:13:01
skeletor
Перечитал ещё раз доку по PF и таки-да, вы оказались правы.
Нашёл вот такое (http://www.openbsd.org/faq/upgrade47.html):
nat-anchor and/or rdr-anchor lines, e.g. for relayd(8), ftp-proxy(8) and tftp-proxy(8), are no longer used and should be removed from pf.conf(5), leaving only the anchor lines.
Но это касательно OpenBSD. В FreeBSD, я думаю, вообще не было nat-anchor (даже не заимствовали из OpenBSD). Измените nat-anchor на anchor и должно сработать.

anchor в pf.conf

Добавлено: 2015-03-30 0:07:37
Abyrvalg
Увы, это я попробовал первым делом и схлопотал syntax error :( Хотя когда я использовал anchor для обычных правил, всё было ок.