Макросы и списки

Имена макросов не могут содержать такие слова, как pass, out, или queue.

  ext_if = "fxp0"
  block in on $ext_if from any to any

Это правило создаст макрос, под названием ext_if. Когда обращаются к макросу, после того, как он был создан, перед его именем стоит знак $.

Также макросы могут развёртываться в списки

  friends = "{ 192.168.1.1, 10.0.2.5, 192.168.43.53 }" 

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

  rdr on fxp0 proto tcp from any to any port { 22 80 } -> \
     192.168.0.6
  block out on fxp0 proto { tcp udp } from { 192.168.0.1, \
     10.5.32.6 } to any port { ssh telnet } 

Обратите внимание, что запятая между пунктами списка не обязательна.

Макрос self

Без скобок "self" это такой же макрос, как имя интерфейса (без скобок) - т.е. один раз при чтении правил разворачивается с список IP-адресов.

pass in quick proto tcp from any to self port $tcp_services

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!