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

Исходное сообщение
"не получается загрузить правила ipfw из скрипта"

Отправлено grazumond , 17-Фев-13 15:49 
Коллеги, добрый день!
Прошу сильно тапками не закидывать, так как только не давно начал разбираться в теме.
По данной проблеме искал решения и на этом форуме и в гугле - ни одно из найденных решений не помогло.
Суть проблемы в том, что ipfw не хочет загружать правила из скрипта /etc/firewall.conf. Причем если забивать правила руками в виде консольных команд, то все работает замечательно, до первой перезагрузки соответственно.

Часть листинга firewall.conf:

#!/bin/sh
cmd="/sbin/ipfw -q"
IfOut="msk0"
IpOut="192.168.1.107"
NetOut="192.168.1.0/24"
IfIn="nfe0"
IpIn="172.16.1.1"
NetIn="172.16.1.0/16"

${cmd} -f flush
${cmd} add allow ip from any to any via lo0
${cmd} add deny log all from any to ${IpOut} in via ${IfOut} fag
${cmd} add deny log all from any to ${IpOut} in via ${IfOut} ipoptions ss
${cmd} add deny log all from any to ${IpOut} in via ${IfOut} ipoptions ls
${cmd} add deny log all from any to ${IpOut} in via ${IfOut} ipoptions
${cmd} add deny log all from any to ${IpOut} in via ${IfOut} ipoptions ts

и т.д.

В /etc/rc.conf соответственно:

firewall_enable="YES"
firewall_type="open"
firewall_script="/etc/firewall.conf"

В ядре по данной теме:

options        IPFIREWALL        
options        IPFIREWALL_VERBOSE    
options        IPFIREWALL_VERBOSE_LIMIT=50
options        IPFIREWALL_FORWARD
options            IPDIVERT
options        DUMMYNET        

Права на /etc/firewall.conf:

-rwxr-xr-x 1 root wheel 6258 Feb 17 15:23 /etc/firewall.conf

При попытке вручную запустить скрипт получаю пару экранов сообщений:

ipfw: illegal option --
ipfw: usage: ipfw [options]
do "ipfw -h" or "man ipfw" for details

Соответственно в ipfw правила не загружаются.

Где может быть проблема? Заранее очень благодарю за помощь.


Содержание

Сообщения в этом обсуждении
"не получается загрузить правила ipfw из скрипта"
Отправлено михалыч , 17-Фев-13 16:32 
>[оверквотинг удален]
> IPDIVERT
> options  DUMMYNET
> Права на /etc/firewall.conf:
> -rwxr-xr-x 1 root wheel 6258 Feb 17 15:23 /etc/firewall.conf
> При попытке вручную запустить скрипт получаю пару экранов сообщений:
> ipfw: illegal option --
> ipfw: usage: ipfw [options]
> do "ipfw -h" or "man ipfw" for details
> Соответственно в ipfw правила не загружаются.
> Где может быть проблема? Заранее очень благодарю за помощь.

Так ведь сами же указываете тип фаервола как открытый!
А где его искать? Он у вас прописан в вашем скрипте?
Посмотрите внимательно файлы /etc/rc.firewall и /etc/defaults/rc.conf
на предмет типа фаервола (open | client | simple | closed | ... )
и
firewall_script="/etc/rc.firewall" # Which script to run to set up the firewall
firewall_type="UNKNOWN"         # Firewall type (see /etc/rc.firewall)

Может здесь http://www.g0l.ru/blog/htmls/BSDA-course/single.html#firewal... будет проще?


"не получается загрузить правила ipfw из скрипта"
Отправлено arachnid , 18-Фев-13 09:53 
> #!/bin/sh
> cmd="/sbin/ipfw -q"
> При попытке вручную запустить скрипт получаю пару экранов сообщений:
> ipfw: illegal option --
> ipfw: usage: ipfw [options]
> Где может быть проблема? Заранее очень благодарю за помощь.

перепиши первую строчку в скрипте как #!/bin/sh -x
и сможешь увидеть, где именно ошибка у тебя в правилах


"не получается загрузить правила ipfw из скрипта"
Отправлено Сергей , 18-Фев-13 10:29 
>> #!/bin/sh
>> cmd="/sbin/ipfw -q"
>> При попытке вручную запустить скрипт получаю пару экранов сообщений:
>> ipfw: illegal option --
>> ipfw: usage: ipfw [options]
>> Где может быть проблема? Заранее очень благодарю за помощь.

запусти ipfw -a list и увидишь правила, которые загрузились...


"не получается загрузить правила ipfw из скрипта"
Отправлено grazumond , 19-Фев-13 10:49 
Проблема была в синтаксисе скрипта.
Правильный вариант:
cmd='/sbin/ipfw -q'
IfOut=msk0
IpOut='192.168.1.107'

и т.д.

Все спасибо за советы!