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

Исходное сообщение
"FreeBSD 5.3 ipfw описание переменных?"

Отправлено Redduck , 27-Апр-05 16:55 
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


Содержание

Сообщения в этом обсуждении
"FreeBSD 5.3 ipfw описание переменных?"
Отправлено co6aka , 27-Апр-05 18:16 
а ты подгляди за синтаксисом в файлике /etc/rc.firewall

"FreeBSD 5.3 ipfw описание переменных?"
Отправлено Redduck , 27-Апр-05 19:01 
>а ты подгляди за синтаксисом в файлике /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
то появляется ошибка, и указывается номер строки в которой описывается переменная


"FreeBSD 5.3 ipfw описание переменных?"
Отправлено e719 , 29-Апр-05 18:58 
>>а ты подгляди за синтаксисом в файлике /etc/rc.firewall
В жопу файлик /etc/rc.firewall

Попробуй применять препроцессор m4
для правил файрволла самое то.
ipfw -p m4 /etc/firewall.conf или типа того

мануал по m4 полторы страницы, а в файрволле много переменных и не надо
Можешь пропустить через m4 свою конфу с переменными, а потом сравнить её с файлом конфы, который у тебя есть сейчас, если сомневаешься в том, что всё правильно оттранслировалось

Есть ещё срр, но я его не стал применять из-за того, что знак комментария # там используется в #define и так далее, хрен его знает, как он мои комменты воспримет


"FreeBSD 5.3 ipfw описание переменных?"
Отправлено axbat , 30-Апр-05 19:15 
>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/sh

cmd="/sbin/ipfw"

$cmd add tcp from <...> to <...> via <...>