[pf] Разбираем ключевые слова в имени адреса

У pf есть некоторые особенности использования ключевых слов при составлении правил. Ими пользоваться достаточно просто. Основное преимущество заключается в том, что мы не привязывается к IP адресу, а это очень удобно

— один и тот же конфиг можно использовать на многих машинах, без изменений
— при смене IP адреса нет надобности редактировать правила

Разберём ключевые слова. $int_name — означает имя интерфейса

($int_name) — скобки в имени интерфейса означают, что PF будет отслеживать изменения IP адреса. Очень удобно использовать, если у вас динамический адрес

$int_name:network — Замещается сетью CIDR закреплённой за данным интерфейсом

$int_name:broadcast — Замещается широковещательным адресом закреплённым за данным интерфейсом

$int_name:peer — Замещается адресом партнёра для point-to-point интерфейса. То есть эту конструкцию можно использовать как адрес шлюза при подключении через pptp

self — разворачивается в список IP-адресов данного сервера, включая loopback

(self) — это примерно тоже самое, что «{ (первый_интерфейс) (второй_интерфейс) … (последний_интерфейс) }», т.е. динамически меняющийся список адресов всех интерфейсов.

:0 (цифра ноль) — может быть добавлен к любому интерфейсу или к любому из вышеуказанных модификаторов, для указания, что PF не должен затрагивать alias IP адреса. Этот модификатор может использоваться, при указании интерфейса в круглых скобках. Пример: fxp0:network:0

tun — означает группу интерфейсов tun1, …, tunN

Примеры

pass in on ($int_name)
block in proto icmp on $int_name:network
pass in on $int_name proto tcp from $int_name:peer to $int_name port www
block in on $int_name:broadcast

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *