hi all.

На сервере поднято 2 интерфейса $inet_iface, $binet_iface

1) на текущий момент трафик с разных интерфейсов разруливает pf правилами типа:

pass in quick on $inet_iface reply-to ($inet_iface $inet_gw) proto tcp
from any to $inet_ip port smtp
pass in quick on $binet_iface reply-to ($binet_iface $binet_gw) proto
tcp from any to $binet_ip port smtp

Можно как-то глобально прописать роутинг в конфиге pf-а , чтобы не
нужно было прописывать на каждое правило reply-to, чтоб потом можно
было просто писать:

pass in quick on $inet_iface proto tcp from any to $inet_ip port smtp
pass in quick on $binet_iface proto tcp from any to $binet_ip port smtp

2) странная но, логичная особенность:
вот такое вот правило любой трафик, который приходит на заданный
интерфейс отправляется на $inet_gw.

pass in quick on $inet_iface reply-to ($inet_iface $inet_gw) proto tcp
from any to $inet_ip port smtp

Ну в принципе логично, но когда на внешнем интерфейсе не один
айпишник, а сетка, то это приходится добавлять дополнительные правила:

на текущий момент эта конструкция работает вот так:

pass in quick on $inet_iface proto tcp from $inet_net to $inet_ip port smtp
pass in quick on $binet_iface proto tcp from $binet_net to $binet_ip port smtp
pass in quick on $inet_iface reply-to ($inet_iface $inet_gw) proto tcp
from any to $inet_ip port smtp
pass in quick on $binet_iface reply-to ($binet_iface $binet_gw) proto
tcp from any to $binet_ip port smtp

Вопрос один: хочется покрасивее организовать фаервол и писать поменьше
правил - из-за количества информации ошибки в конфиге появляются, на
текущий момент для описания одного сервиса приходится писать 5 правил.

Ответить