Как стать автором
Обновить

Комментарии 3

Спасибо за статьи!
Написано хорошо и понятно!
Очень важное замечание из первой статьи: «То есть, если вы поставили первым правилом «запретить всё», то пакет не будет отброшен, а пометится как запрещенный, пойдёт дальше по правилам… », оно для меня прояснило как работают фильтры.

Можно вопрос по синтаксису?

Вот например:
#Отправляем ICMP ответ пришедший на ExtIf2 в ExtIf2 ExtIf2Gw
pass in quick on $ExtIf2 reply-to ($ExtIf2 $ExtIf2Gw ) proto icmp

В чём разница меду $ExtIf2 и ($ExtIf2)?
Я читал на форумах, что это не одно и тоже, но так и не понял в чём разница.

Или вот здесь:
# разрешаем ходить в интернет первой сети
pass in quick on $IntIf1 from { ($IntIf1:network) } tag PASS
&IntIf1Ip — значит, что это макрос и переменная &IntIf1Ip:network =«172.16.2.0/24», но вот опять не совсем понимаю почему она в круглых скобкам "(" и ещё в фигурных "{"?
Если я правильно понял то "{" — это перечисление.

С уважением,
Приветствую!
Там в первой статье про макросы и списки было. Макрос $ExtIf2 будет при применении конфига превращен в re1 или что там в нем. Макрос — это просто замена строки.
Взятое в скобки, имя интерфейса превращается в ip адрес этого интерфейса. К примеру, если провайдер выдаёт ip динамически из пула, и мы не знаем его заранее, в правиле вместо адреса можно указать интерфейс в скобках. То же самое с сетью (re1:network), если мы получаем настройки по dhcp.
В правилах с reply-to и route-to в скобках указывается интерфейс и шлюз за этим интерфейсом, не относится к интерфейсу в скобках. Путано, но уж как есть.
В случае фигурных скобок это список { ($ExtIf2), 192.168.1.0/24}, например, при чтении конфига будет создыны правила для всех элементов списка. Если в фигурных скобках только одно значение, то и дополнительных правил не будет. Удобно сразу брать в фигурные скобки то место, где в будущем возможны несколько значений, и удобно таскать такой конфиг с хоста на хост с минимальными изменениями.

В статьях я постарался использовать максимально возможное количество комбинаций, знаков и элементов синтаксиса, чтобы показать, как вообще можно.
Извините, если запутал.
Спасибо, теперь стало понятно.
Продолжайте стати в том же духе, всё хорошо написано.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий