FreeBSD 5.3, ipfw
Firewall работает, но хочется в правилах применять переменные как в стандартном rc.firewall.Вот часть rc.conf
firewall_enable="YES"
firewall_type=/etc/asus.firewall
firewall_logging="YES"в файле asus.firewall команды
add pass tcp from any to any 80 via fxp0
вот вместа via fxp0 хочу использовать via ${ifout}, но где описать переменные что бы можно было бы их применять в файле asus.firewall
а ты подгляди за синтаксисом в файлике /etc/rc.firewall
>а ты подгляди за синтаксисом в файлике /etc/rc.firewall
Посмотрел, описание переменных происходит в секциях, например
[Cc][Ll][Ii][Ee][Nn][Tt])
############
# This is a prototype setup that will protect your system somewhat
# against people from outside your own network.
############# set these to your network and netmask and ip
net="192.0.2.0"
mask="255.255.255.0"
ip="192.0.2.1"и вот
[Ss][Ii][Mm][Pp][Ll][Ee])
############
# This is a prototype setup for a simple firewall. Configure this
# machine as a DNS and NTP server, and point all the machines
# on the inside at this machine for those services.
############# set these to your outside interface network and netmask and ip
oif="ed0"
onet="192.0.2.0"
omask="255.255.255.240"
oip="192.0.2.1"# set these to your inside interface network and netmask and ip
iif="ed1"
inet="192.0.2.16"
imask="255.255.255.240"
iip="192.0.2.17"
если я описываю переменные в файле asus.firewall
то появляется ошибка, и указывается номер строки в которой описывается переменная
>>а ты подгляди за синтаксисом в файлике /etc/rc.firewall
В жопу файлик /etc/rc.firewallПопробуй применять препроцессор m4
для правил файрволла самое то.
ipfw -p m4 /etc/firewall.conf или типа тогомануал по m4 полторы страницы, а в файрволле много переменных и не надо
Можешь пропустить через m4 свою конфу с переменными, а потом сравнить её с файлом конфы, который у тебя есть сейчас, если сомневаешься в том, что всё правильно оттранслировалосьЕсть ещё срр, но я его не стал применять из-за того, что знак комментария # там используется в #define и так далее, хрен его знает, как он мои комменты воспримет
>Firewall работает, но хочется в правилах применять переменные как в стандартном rc.firewall.>Вот часть rc.conf
>firewall_enable="YES"
>firewall_type=/etc/asus.firewall
>firewall_logging="YES"
>
>в файле asus.firewall команды
>
>add pass tcp from any to any 80 via fxp0
>Начни с того, что поменяй строку firewall_type=/etc/asus.firewall на firewall_script - и описывай себе переменные на здоровье
Почувствуй разницу:
при firewall_type ты пишешь в файле правил файрволла:
add tcp from <...> to <...> via <...>при firewall_script ты пишешь в файле правил файрволла:
!/bin/shcmd="/sbin/ipfw"
$cmd add tcp from <...> to <...> via <...>