Можно ли разбить pf.conf на несколько отдельных файлов?
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Можно ли разбить pf.conf на несколько отдельных файлов?
Есть задача натить несколько локальных сетей, каждую в свой белый IP-шник. Для некоторых из них требуется публиковать их внутренние сервисы (www, ssh, ftp и т.д), для некоторых не требуется. Как это делать вроде разобрался.
Если я правильно понял то весь конфиг PF обычно храниться в одном файле pf.conf, за исключением таблиц если используются. Предположим у меня клиентов(сетей) будет много, тогда для каждого нужно будет писать свои правила в pf.conf. В этом случае pf.config вырастет и вероятно будет трудно читаем. Можно ли как то разбить файл pf.config на несколько отдельных файлов, и в каждом отдельном файле рисовать правила для соответствующего клиента? А в основной конфиг просто подключать эти куски. Тогда создание и удаление правил для нового клиента будет проще.
Сейчас получается так, что для того чтобы из конфига pf.conf убрать все правила для отдельного клиента(сети) надо прыгать по конфигу и комментировать все строчки для этой сетки.
В IPTABLES можно было создать основной скрипт, из которого дергать скрипты для каждого клиента(локальной сетки). Тогда подключить или отключить такого клиента со всеми наборами правил можно было быстро - просто раскоментировав/закоментировав одно строчку в основном скрипте.
P.S. Надеюсь что не запутал своим вопросом понятно объяснил.
Если я правильно понял то весь конфиг PF обычно храниться в одном файле pf.conf, за исключением таблиц если используются. Предположим у меня клиентов(сетей) будет много, тогда для каждого нужно будет писать свои правила в pf.conf. В этом случае pf.config вырастет и вероятно будет трудно читаем. Можно ли как то разбить файл pf.config на несколько отдельных файлов, и в каждом отдельном файле рисовать правила для соответствующего клиента? А в основной конфиг просто подключать эти куски. Тогда создание и удаление правил для нового клиента будет проще.
Сейчас получается так, что для того чтобы из конфига pf.conf убрать все правила для отдельного клиента(сети) надо прыгать по конфигу и комментировать все строчки для этой сетки.
В IPTABLES можно было создать основной скрипт, из которого дергать скрипты для каждого клиента(локальной сетки). Тогда подключить или отключить такого клиента со всеми наборами правил можно было быстро - просто раскоментировав/закоментировав одно строчку в основном скрипте.
P.S. Надеюсь что не запутал своим вопросом понятно объяснил.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- проходил мимо
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
пост не читал...
оно?pf.conf(5) писал(а):load anchor ?name? from ?file?
Loads the rules from the specified file into the anchor name.
-
- проходил мимо
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
Гость писал(а):пост не читал...
load anchor ?name? from ?file?
оно?
Неа.
Это все равно не избавит меня от того чтобы в pf.conf комментировать каждый anchor (для nat rdr pass) т.е. как минимум в трех местах.
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
чет я наверное не совсем вьехал
может тогда чуток примеров?
может тогда чуток примеров?
-
- проходил мимо
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
Постараюсь на примере:
А теперь попробуем убрать из конфига все правила для сети 172.20.2.0/24. Давайте не будем считать макросы, тогда получается что надо закоментировать 3 строчки.
А мне хотелось получить конфиг или скрипт, в котором я комментирую или удаляю одну строчку и тем самым исключаю все правила для этой сети 172.20.2.0/24
Возможно пример не самый удачный, но с него можно начать.
Код: Выделить всё
#/etc/pf.conf
WAN_INT_1="em0"
WAN_IP_1="X.X.X.X"
LAN_INT_1="vlan1"
LAN_IP_1="172.20.1.1"
WAN_INT_2="em0"
WAN_IP_2="Y.Y.Y.Y"
LAN_INT_2="vlan2"
LAN_IP_2="172.20.2.1"
rdr pass on $WAN_INT_1 proto tcp from any to $WAN_INT_1 port 2222 -> 172.20.1.5 port 22
rdr pass on $WAN_INT_2 proto tcp from any to $WAN_INT_2 port 2222 -> 172.20.2.5 port 22
nat on $WAN_INT_1 from { $LAN_INT_1:network } to any -> { $WAN_IP_1 }
nat on $WAN_INT_2 from { $LAN_INT_2:network } to any -> { $WAN_IP_2 }
block in all
pass from { $LAN_INT_1:network } to any keep state
pass from { $LAN_INT_2:network } to any keep state
А мне хотелось получить конфиг или скрипт, в котором я комментирую или удаляю одну строчку и тем самым исключаю все правила для этой сети 172.20.2.0/24
Возможно пример не самый удачный, но с него можно начать.
-
- проходил мимо
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
в openbsd есть:vasyun писал(а):Это все равно не избавит меня от того чтобы в pf.conf комментировать каждый anchor (для nat rdr pass) т.е. как минимум в трех местах.
Код: Выделить всё
Additional configuration files can be included with the include keyword,
for example:
include "/etc/pf/sub.filter.conf"
попробуй портировать
-
- проходил мимо
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
На OpenBSD в случае если я использую к примеру такую схему
Могу я использовать следующую последовательность?
Для первой сетки
Для второй сетки
Или я в этом случае нарушаю последовательность правил и применяться они не смогут.
Понятно что придется еще и макросы для каждого списка определить.
Код: Выделить всё
#/etc/pf.conf
include "/etc/pf/sub.filter1.conf"
include "/etc/pf/sub.filter2.conf"
Для первой сетки
Код: Выделить всё
#/etc/pf/sub.filter1.conf
rdr pass on $WAN_INT_1 proto tcp from any to $WAN_INT_1 port 2222 -> 172.20.1.5 port 22
nat on $WAN_INT_1 from { $LAN_INT_1:network } to any -> { $WAN_IP_1 }
pass from { $LAN_INT_1:network } to any keep state
Код: Выделить всё
#/etc/pf/sub.filter2.conf
rdr pass on $WAN_INT_2 proto tcp from any to $WAN_INT_2 port 2222 -> 172.20.2.5 port 22
nat on $WAN_INT_2 from { $LAN_INT_2:network } to any -> { $WAN_IP_2 }
pass from { $LAN_INT_2:network } to any keep state
Понятно что придется еще и макросы для каждого списка определить.
-
- проходил мимо
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
Max Laier сейчас готовиться закомиттить обновление pf(4). Наверное к утру московского времени можно уже будет пощупать include и другие вкусности pf(4) из OpenBSD 4.4.Гость писал(а):http://marc.info/?l=openbsd-cvs&m=119233435413983Код: Выделить всё
Additional configuration files can be included with the include keyword, for example: include "/etc/pf/sub.filter.conf"
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2008-10-30 10:53:09
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
Спасибо! поглядим
- voider
- лейтенант
- Сообщения: 830
- Зарегистрирован: 2008-02-21 20:35:03
- Откуда: msk
Re: Можно ли разбить pf.conf на несколько отдельных файлов?
хех
новые фичи это уже весело 

