Вопросы по конфигу PF

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Вопросы по конфигу PF

Сообщение Trojan »

Ребята помогите пожалуйста разобраться с правилами. Есть такие макросы и таблицы:

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

ext_if_1="sk0"
ext_if_2="sk1
int_if="rl0"
internal_net="192.168.0.0/24"
table <top_sbam> { 192.168.0.250, 192.168.0.248 }

Система выдает ошибку в этих строках:

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

nat on $ext_if_2 proto tcp from $internal_net  to any port 110  -> ($ext_if_2)
nat on $ext_if_2 proto tcp from $internal_net  to any port 145  -> ($ext_if_2)
nat on $ext_if_2 proto tcp from $internal_net  to any port 25  -> ($ext_if_2)
nat on $ext_if_1 proto tcp from $internal_net  to any port 5190  -> ($ext_if_1)
nat on $ext_if_2 proto tcp from $internal_net  to any port 143  -> ($ext_if_2)
nat on $ext_if_2 proto tcp from $internal_net  to any port 445  -> ($ext_if_2)
nat on $ext_if_2 proto tcp from $internal_net  to any port 995  -> ($ext_if_2)
nat on $ext_if_2 proto udp from $internal_net  to any port 53  -> ($ext_if_2)
nat on $ext_if_2 proto udp from $internal_net  to any port 123  -> ($ext_if_2)
nat on $ext_if_2 proto icmp from $internal_net  to any   -> ($ext_if_2)

pass in quick on $int_if proto tcp from <top_sbam> to any port 25
block in on $int_if proto tcp from $internal_net to any port 25
block in on $ext_if_2 proto tcp from any to $ext_if_2 port ssh

Есть еще правила NAT для ext_if_1 но на них система ошибку не выдает:

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

nat on $ext_if_1 proto tcp from $internal_net  to any port 2189  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 2190  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 2191  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 2192  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 2193  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 2194  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 2195  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 2090  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 8443  -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 443   -> ($ext_if_1)
nat on $ext_if_1 proto tcp from $internal_net  to any port 4000  -> ($ext_if_1)

Что неправильно написано?
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали:
multed
Сообщения: 6
ОС: FreeBSD/Linux

Re: Вопросы по конфигу PF

Сообщение multed »

Покажи какую ошибку выдает, сначала. Может просто не в том месте у тебя все это находится.
мой блог: blog. mult edition.
Спасибо сказали:
Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Re: Вопросы по конфигу PF

Сообщение Trojan »

Для этих строк выходит ошибка syntax error:

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

nat on $ext_if_2 proto tcp from $internal_net  to any port 110  -> ($ext_if_2)
nat on $ext_if_2 proto tcp from $internal_net  to any port 145  -> ($ext_if_2)
nat on $ext_if_2 proto tcp from $internal_net  to any port 25  -> ($ext_if_2)
nat on $ext_if_1 proto tcp from $internal_net  to any port 5190  -> ($ext_if_1)
nat on $ext_if_2 proto tcp from $internal_net  to any port 143  -> ($ext_if_2)
nat on $ext_if_2 proto tcp from $internal_net  to any port 445  -> ($ext_if_2)
nat on $ext_if_2 proto tcp from $internal_net  to any port 995  -> ($ext_if_2)
nat on $ext_if_2 proto udp from $internal_net  to any port 53  -> ($ext_if_2)
nat on $ext_if_2 proto udp from $internal_net  to any port 123  -> ($ext_if_2)
nat on $ext_if_2 proto icmp from $internal_net  to any   -> ($ext_if_2)

pass in quick on $int_if proto tcp from <top_sbam> to any port 25

а для этих строк выходит ошибка macro 'int_if' not defined:

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

pass in quick on $int_if proto tcp from <top_sbam> to any port 25
block in on $int_if proto tcp from $internal_net to any port 25


Попробовал в правилах для НАТ заменить $ext_if_2 на $ext_if_1 и после этого ошибка для правил НАТ не выходила.
Я так понимаю проблема в том что я пытаюсь НАТить часть портов через один интерфейс а часть через другой.

РЕБЯТА ПРОШУ ПРОЩЕНИЯ.

ext_if_2="sk1 < --- забыл кавычку поставить.
int_if="rl0"
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали: