Здравствуйте.Глупый наверное вопрос, но не могу найти общего языка с 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, и везде написано делать именно так, но у меня ругается почему-то.
Ну вроде если почитать /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
и так далее...
> ...
> firewall_enable="YES"
> firewall_type="/etc/firewall.conf"
> ...или использовать конструкцию firewall_script= ...
>> ...
>> firewall_enable="YES"
>> firewall_type="/etc/firewall.conf"
>> ...
> или использовать конструкцию firewall_script= ...О! Спасибо за разъяснения. Новичок во фре, столько всего изучать приходится, всего и не охватишь сразу.