Я пытаюсь развернуть макрос, содержащий адрес с маской подсети, в список с PF следующим образом:
subnet1 = "192.168.1.0/24"
subnet2 = "10.0.0.0/8"
subnets = "{" $subnet1 $subnet2 "}"
Но это приводит к синтаксической ошибке в последней строке:
/etc/pf.conf:3: синтаксическая ошибка
Он отлично работает с адресами без маски подсети:
ip1 = "192.168.1.0"
ip2 = "10.0.0.0"
ips = "{" $ip1 $ip2 "}"
Я использую PF из FreeBSD 10.0 (≈ PF из OpenBSD 4.5). Как я могу заставить это работать?
Вы должны снова указать адреса маски подсети (в одинарных кавычках) при определении:
subnet1 = "'192.168.1.0/24'"
subnet2 = "'10.0.0.0/8'"
subnets = "{" $subnet1 $subnet2 "}"
К сожалению, это нигде не задокументировано.