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

Имена макросов не могут содержать такие слова, как 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

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

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