Код: Выделить всё
${fwcmd} flush -f
И еще строка check-state, имя я так понимаю говорящее, проверяет статус... чего? опять же не нашел ни одного внятного объяснения.
Модератор: terminus
Код: Выделить всё
${fwcmd} flush -f
Код: Выделить всё
check-state
Checks the packet against the dynamic ruleset. If a match is
found, execute the action associated with the rule which gener-
ated this dynamic rule, otherwise move to the next rule.
Check-state rules do not have a body. If no check-state rule is
found, the dynamic ruleset is checked at the first keep-state or
limit rule.
Код: Выделить всё
fwcmd=/sbin/ipfw
pdc=10.0.10.85,10.0.10.82,10.0.10.86,10.0.10.17,10.0.10.87,10.0.10.84,10.0.10.95
iip=10.0.10.82
oip=10.0.1.3
mylan=10.0.10.0/24
iif=fxp0
oif=em0
${fwcmd} -f flush
${fwcmd} add check-state
Истина. У меня то же самое происходит, запускать надо без привязке к сессии.iye писал(а):Подозреваю что это происходит примерно так: вы рестартите ipfw. при этом дефолтное правило запрещает все. при -f flush устанавливается именно то дефолтное правило. как следствие вам рубит ssh сессию, что влечет убиение шела а тот в свою очередь процесса выполнения скрипта. и у вас в итоге ничего не подгружается.
Там как бэ в заголовке написано как его пользовать. Единственно на что стоит обратить внимание - он писан под rc.firewall и если вы пользуете свой собственный скрипт отличный от rc.firewall то он вам как готовое решение мало пригоден.nakonechny писал(а):спасибо, нашел объяснение, достаточно внятное, Вы оказались правы.
Еще Вас помучаю, не подскажете, как использовать данный скрипт и есть ли ман по его синтаксису /usr/src/share/examples/ipfw/change_rules.sh
CHECKLIST
Here are some important points to consider when designing your rules:
o Remember that you filter both packets going in and out. Most connec-
tions need packets going in both directions.
o Remember to test very carefully. It is a good idea to be near the
console when doing this. If you cannot be near the console, use an
auto-recovery script such as the one in
/usr/share/examples/ipfw/change_rules.sh.
o Do not forget the loopback interface.
[off]Улыбнуло ) Нада запомнить )[/off]hizel писал(а):*зивнул* man-ы читать не модно это понятно, но когда приводит к больной жопе непонятно почему нервные сигналы не включают моск
Листинг:arkan писал(а):nakonechny
Листинг правил фаера выложи
У меня /etc/rc.d/ipfw restart по ssh все нормально работает
несмотря на то что функцию IPFIREWALL_DEFAULT_TO_ACCEPT в ядро не встявлял
Код: Выделить всё
fwcmd=/sbin/ipfw
iip=10.0.0.25
oip=192.168.1.10
mylan=10.0.0.0/24
iif=re0
oif=vr0
serv=10.0.0.10
#
${fwcmd} -q -f flush
${fwcmd} add check-state
${fwcmd} add allow ip from any to any via lo0
#${fwcmd} add deny ip from any to 127.0.0.0/8
#${fwcmd} add deny ip from 127.0.0.1/8 to any
${fwcmd} add allow ip from ${mylan} to any 3333 via ${iif}
${fwcmd} add allow tcp from ${mylan} to any 443 via ${iif}
${fwcmd} add allow tcp from ${serv} to any 22 via ${iif}
${fwcmd} add allow ip from any to ${mylan} via ${iif}
${fwcmd} add divert natd ip from ${mylan} to any out via ${oif}
${fwcmd} add allow ip from ${oip} to any out via ${oif}
${fwcmd} add divert natd ip from any to ${oip} in via ${oif}
${fwcmd} add allow ip from any to ${oip} in via ${oif}
${fwcmd} add allow ip from ${oip} to any out via ${oif}
${fwcmd} add allow tcp from any to ${oip} established
${fwcmd} add deny ip from any to any
Код: Выделить всё
${fwcmd} add check-state
А если выполнять в самом начале flush и загружать все правила заново (скриптом)?iye писал(а):Потому что если вам например вздумается сделать /etc/rc.d/ipfw restart то у вас будут ваши правила загружены дважды.