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

Исходное сообщение
"Не выполняется скрипт с правилами IPFW"

Отправлено Fluorescent , 10-Мрт-11 14:58 
Здравствуйте.

Глупый наверное вопрос, но не могу найти общего языка с csh (FreeBSD 8.2-RELEASE).

Есть rc.conf

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

/etc/firewall.conf начинается так:

#!/bin/sh

cmd="ipfw -q add"
LanIn="em1"
LanOut="em0"
IpIn="xx.xx.xx.xx"
IpOut="yy.yy.yy.yy"
NM="24"       #NetMask
NetIn="xx.xx.xx.xx"

ipfw -f flush

$cmd allow ip from any to any via lo0
........

При загрузке имеет место следующее:

...
Flushed all rules.
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
Line 3: bad  command 'cmd="ipfw'
Firewall rules loaded.
...

Ввожу

#ipfw list
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
65535 deny ip from any to any

а если вводить
#/bin/sh /etc/firewall.conf
тогда все правила благополучно загружаются.
Вопрос: почему? И как все правильно сделать? В сети десятки примеров скриптов для ipfw, и везде написано делать именно так, но у меня ругается почему-то.


Содержание

Сообщения в этом обсуждении
"Не выполняется скрипт с правилами IPFW"
Отправлено aurved , 10-Мрт-11 17:27 
Ну вроде если почитать /etc/rc.firewall то там написано, что если firewall type -- это filename, то выполнится следующая команда -- ${fwcmd} ${firewall_flags} ${firewall_type}, где fwcmd="/sbin/ipfw", то есть получается что у тебя выполняется такая вот команда --
/sbin/ipfw ipfw -q add allow ip from any to any via lo0 и так далее по списку...

Если говорить проще -- то надо в /etc/firewall.conf писать команды в таком вот виде:

add 1 allow ip from any to any via lo0
add 2 deny ip from any to 127.0.0.0/8
add 3 deny ip from 127.0.0.0/8 to any


и так далее...


"Не выполняется скрипт с правилами IPFW"
Отправлено YuSt , 10-Мрт-11 21:11 
> ...
> firewall_enable="YES"
> firewall_type="/etc/firewall.conf"
> ...

или использовать конструкцию  firewall_script= ...


"Не выполняется скрипт с правилами IPFW"
Отправлено Fluorescent , 10-Мрт-11 22:47 
>> ...
>> firewall_enable="YES"
>> firewall_type="/etc/firewall.conf"
>> ...
> или использовать конструкцию  firewall_script= ...

О! Спасибо за разъяснения. Новичок во фре, столько всего изучать приходится, всего и не охватишь сразу.