Имеется сервер FreeBSD 10.2, который, в частности, выполняет роль межсетевого экрана. Имеется также несколько серверов, которые нужно пускать в мир только на определенные хосты (обновление ПО и т.д.). IP-адреса этих хостов время от времени меняются, что создает неудобства, т. к. PF фильтрует трафик по IP-адресам. Как грамотно оптимизировать межсетевой экран, чтобы фильтрация косвенно производилась по FQDN?
> Имеется сервер FreeBSD 10.2, который, в частности, выполняет роль межсетевого экрана. Имеется
> также несколько серверов, которые нужно пускать в мир только на определенные
> хосты (обновление ПО и т.д.). IP-адреса этих хостов время от времени
> меняются, что создает неудобства, т. к. PF фильтрует трафик по IP-адресам.
> Как грамотно оптимизировать межсетевой экран, чтобы фильтрация косвенно производилась
> по FQDN?в 10-ке вроде как теперь можно указывать Полное доменное имя, которое будет преобразовано через DNS сервер при загрузке правила. Полученные адреса окажутся в правиле.
Инфа отсюда:
http://skeletor.org.ua/?p=2217Если это так, то нужно просто перестартовывать службу PF по запросу или периодически по крону.
Я не точно сформулировал вопрос. Мне нужно, чтобы имена разрешенных хостов были в единой таблице (ну, чтобы не писать правило для каждого хоста). Для этого я использую таблицы. Но имена хостов в таблицах PF не работают.
Как красиво решить проблему? Может использовать какой-нибудь внеший механизм для преобразования списка имен хостов в IP-адреса?> в 10-ке вроде как теперь можно указывать Полное доменное имя, которое
> будет преобразовано через DNS сервер при загрузке правила. Полученные адреса окажутся
> в правиле.
> Инфа отсюда:
> http://skeletor.org.ua/?p=2217
> Если это так, то нужно просто перестартовывать службу PF по запросу или
> периодически по крону.
> Я не точно сформулировал вопрос. Мне нужно, чтобы имена разрешенных хостов были
> в единой таблице (ну, чтобы не писать правило для каждого хоста).
> Для этого я использую таблицы. Но имена хостов в таблицах PF
> не работают."pfctl -t add" не позволяет вносить по fqdn? Не на чем попробовать...
Вносить-то позволяет. Но есть одна проблема: после команды "pfctl -f /etc/pf.conf" таблицы сбрасываются. В принципе, можно вместо этой команды использовать скрипт, который будет заполнять таблицы. Но как-то оно некрасиво получается.
Есть какой-нибудь более цивилизованный способ решить задачу?> "pfctl -t add" не позволяет вносить по fqdn? Не на чем попробовать...
> Есть какой-нибудь более цивилизованный способ решить задачу?отключить вражеский интернет. диды жили без инета.
> Вносить-то позволяет. Но есть одна проблема: после команды "pfctl -f /etc/pf.conf" таблицы
> сбрасываются. В принципе, можно вместо этой команды использовать скрипт, который будет
> заполнять таблицы. Но как-то оно некрасиво получается.
> Есть какой-нибудь более цивилизованный способ решить задачу?Содержимое таблицы можно брать из файла
table <myhosts> persist file "/etc/myhosts"ну и после уже добавлять записи pfctl -t myhosts -T add ...
или удалять pfctl -t myhosts -T delete ...также с -T можно использовать и kill и flush и replace
Даже если таблицу брать из файла, то при помощи pfctl нельзя добавлять записи в этот файл. Короче, буду писать в файл при помощи какого-нибудь скрипта, после чего буду делать "pfctl -f /etc/pf.conf".
Спасибо за ответы!> Содержимое таблицы можно брать из файла
> table <myhosts> persist file "/etc/myhosts"
> ну и после уже добавлять записи pfctl -t myhosts -T add ...
> или удалять pfctl -t myhosts -T delete ...
> также с -T можно использовать и kill и flush и replace
-T load Load only the table definitions from pf.conf(5).
This is used in conjunction with the -f flag, as
in:# pfctl -Tl -f pf.conf
> Даже если таблицу брать из файла, то при помощи pfctl нельзя добавлять
> записи в этот файл. Короче, буду писать в файл при помощи
> какого-нибудь скрипта, после чего буду делать "pfctl -f /etc/pf.conf".
> Спасибо за ответы!