NAT и исходный IP, просачивающийся PF, с помощью OpenBSD> = 4.7

Вы ищете управление конфигурацией или отслеживаете/контролируете изменения файловой системы?

Если бы это ранее, я посмотрел бы на puppet или chef. CFEngine существует в коммерческих целях. puppet популярный зверь в эти дни.

Если это - более позднее, его твердое Вы для наблюдения изменений файловой системы однако существует экземпляр программ как inotify и аудит файловой системы auditctl или SGI's fam но снова, это - контролирующая вещь и может быть дорогой реализацией (производительность файловой системы может получить deterioriated).

8
12.08.2012, 09:40
2 ответа

Исправьте меня, если я был неправ, Вы хотите передать все исходящие пакеты от 10.0.0.0/24, но Вы хотите заблокироваться 10.0.0.23? Раз так измените свое правило на:

match out on $ext_if from 10.0.0.0/24 nat-to ($ext_if)
block drop out quick on $ext_if from 10.0.0.23
pass out on $ext_if from 10.0.0.0/24

Просто используйте quick препятствовать тому, чтобы брандмауэр продолжил фильтровать (подобный break на некоторых языках программирования).

http://www.openbsd.org/faq/pf/filter.html#quick

Быстрое Ключевое слово

Как обозначено ранее, каждый пакет оценен против фильтра ruleset сверху донизу. По умолчанию пакет отмечен для прохода, который может быть изменен любым правилом и мог изменяться назад и вперед несколько раз до конца правил фильтра. Последнее соответствие управляет "победами". Существует исключение к этому: быстрый вариант на правиле фильтрации имеет эффект отмены дальнейшей обработки правила и заставляет указанное действие быть выбранным. Давайте посмотрим на пару примеров:

Неправильно:

block in on fxp0 proto tcp to port ssh
pass  in all 

В этом случае строка блока может быть оценена, но никогда не будет иметь никакого эффекта, поскольку это затем сопровождается строкой, которая передаст все.

Лучше:

block in quick on fxp0 proto tcp to port ssh
pass  in all 

Эти правила оценены немного по-другому. Если строка блока будет подобрана, из-за быстрой опции, то пакет будет заблокирован, и остальная часть ruleset будет проигнорирована.

0
27.01.2020, 20:13
  • 1
    я знаю quick ключевое слово, но мне действительно не нравится он - я всегда пытаюсь использовать порядок оценки pf ;) Btw, я нашел ответ на странице с часто задаваемыми вопросами OpenBSD: "NAT указан как дополнительное туземное - к параметру к исходящему правилу передачи. Часто, вместо того, чтобы быть установленным непосредственно на правиле передачи, правило соответствия используется. Когда пакет выбран правилом соответствия, параметры (например, туземный - к) в том правиле помнят и применяют к пакету, когда подбор правила передачи пакет достигнут".. Таким образом, мой ruleset не вызвал бы проблем, и правильно блок.23 –  dermesser 03.04.2013, 10:57
  • 2
    (правило соответствия в строке 2 позволило пакетам передать после прохождения через всех правил, и затем NAT применяется) –  dermesser 03.04.2013, 11:00

Да, это довольно теоретически, что Вы спросили, но очень интересный вопрос.

match правило будет применено, когда оно будет действовать на последнее правило соответствия. match правила являются "липкими", как Вы упомянутый. Основная цель их состоит в том, чтобы смочь установить вещи как правило NAT однажды и не иметь для помещения туземный - в на конце набора правил, которые Вы имеете об исходящем трафике.

В Вашем примере будет отброшен пакет. Я должен был бы посмотреть на код или попросить, чтобы Henning Brauer был уверен, пропускают ли они проверку NAT полностью в случае отбрасывания, но это не вывело бы NATted.

Я думаю, что Ваше правило охвачено Книгой PF (получил 2-й выпуск?), но я не думаю, что они являются явными об этом с правилом соответствия.

1
27.01.2020, 20:13

Теги

Похожие вопросы