URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89953
[ Назад ]

Исходное сообщение
"Макросы PF"

Отправлено ikarus , 04-Окт-10 13:55 
freebsd 7.3 настраиваю PF
извиняюсь если баян, но найти не смог нигде
вопрос такой, хочу объединить макросы, делаю по ману:

12: #macro
13: den_host="172.16.1.2"
14: mike_host="172.16.1.3"
15: adv_users="{" $den_host, $mike_host "}"

получаю:
/etc/pf.conf:15: syntax error
pfctl: Syntax error in config file: pf rules not loaded

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


Содержание

Сообщения в этом обсуждении
"Макросы PF"
Отправлено mef , 04-Окт-10 14:45 
У меня вот так работает:

myip1= "192.168.1.101"
myip2= "192.168.1.102"
my_net = "{" $myip1 $myip2 "}"

А с запятой не работает.

"Макросы PF"
Отправлено ikarus , 05-Окт-10 06:08 
> У меня вот так работает:
>

> myip1= "192.168.1.101"
> myip2= "192.168.1.102"
> my_net = "{" $myip1 $myip2 "}"
>

> А с запятой не работает.

как же я этот вариант проглядел :)
спасибо, тема закрыта.

ан нет не закрыта, а вот такая конструкция не работает:

den_host="{ 172.16.1.2, 172.16.1.8 }"
mike_host="{ 172.16.1.3, 172.16.1.4 }"
adv_users="{" $den_host $mike_host "}"

и не должна?


"Макросы PF"
Отправлено mef , 05-Окт-10 09:25 
Без запятых будет работать.
den_host="{ 172.16.1.2 172.16.1.8 }"
mike_host="{ 172.16.1.3 172.16.1.4 }"
adv_users="{" $den_host $mike_host "}"

"Макросы PF"
Отправлено ikarus , 05-Окт-10 10:11 
> Без запятых будет работать.
> den_host="{ 172.16.1.2 172.16.1.8 }"
> mike_host="{ 172.16.1.3 172.16.1.4 }"
> adv_users="{" $den_host $mike_host "}"

у меня - syntax error


"Макросы PF"
Отправлено mef , 05-Окт-10 12:32 
>> Без запятых будет работать.
>> den_host="{ 172.16.1.2 172.16.1.8 }"
>> mike_host="{ 172.16.1.3 172.16.1.4 }"
>> adv_users="{" $den_host $mike_host "}"
> у меня - syntax error

фигурные скобки еще уберите.
den_host="172.16.1.2 172.16.1.8"


"Макросы PF"
Отправлено ikarus , 05-Окт-10 14:34 
>>> Без запятых будет работать.
>>> den_host="{ 172.16.1.2 172.16.1.8 }"
>>> mike_host="{ 172.16.1.3 172.16.1.4 }"
>>> adv_users="{" $den_host $mike_host "}"
>> у меня - syntax error
> фигурные скобки еще уберите.
> den_host="172.16.1.2 172.16.1.8"

в таком варианте:

den_host=" 172.16.1.2 172.16.1.8 "
mike_host=" 172.16.1.3 172.16.1.4 "
adv_users="{" $den_host $mike_host "}"

макрос adv_users успешно применяетя, однако pfctl ругается на синтаксис правила где используется макрос $den_host, т.е.:

pass in log on $int_if proto {tcp,udp} from $adv_users to any port $adv_services #успешно отрабатывает

pass in log on $int_if proto {tcp,udp} from $den_host to any #syntax error


"Макросы PF"
Отправлено reader , 05-Окт-10 15:25 
> pass in log on $int_if proto {tcp,udp} from $den_host to any #syntax
> error

$den_host в скобки


"Макросы PF"
Отправлено ikarus , 06-Окт-10 06:08 
>> pass in log on $int_if proto {tcp,udp} from $den_host to any #syntax
>> error
> $den_host в скобки

ну слава те, разобрался, спасибо.


"Макросы PF"
Отправлено mef , 05-Окт-10 18:16 
> den_host=" 172.16.1.2 172.16.1.8 "
> mike_host=" 172.16.1.3 172.16.1.4 "
> adv_users="{" $den_host $mike_host "}"
> макрос adv_users успешно применяетя, однако pfctl ругается на синтаксис правила где используется
> макрос $den_host, т.е.:
> pass in log on $int_if proto {tcp,udp} from $adv_users to any port
> $adv_services #успешно отрабатывает
> pass in log on $int_if proto {tcp,udp} from $den_host to any #syntax
> error

Правильно, ведь den_host - без скобок, а adv_users со скобками.
Если хотите делайте так:
den_host1="{" $den_host "}"


"Макросы PF"
Отправлено Aquarius , 04-Окт-10 15:48 
>[оверквотинг удален]
> 12: #macro
> 13: den_host="172.16.1.2"
> 14: mike_host="172.16.1.3"
> 15: adv_users="{" $den_host, $mike_host "}"
> получаю:
> /etc/pf.conf:15: syntax error
> pfctl: Syntax error in config file: pf rules not loaded
> делал уже всяко разно, и в кавычках и без, и с запятой
> и без, и с пробелами и без, и с бубном и
> с гуслями ...

а так
adv_users="{ $den_host, $mike_host }"
?