Не выполняется сценарий из init.d
в chkconfig-е посмотри, он у тебя включен ?
добавь строки файрвола в файл /etc/rc.d/rc.local
check HOWTO's на http://www.linux.org.ru
а что за говнолинукс у тебя стоит ?
а у меня такой проги нет

ни одной похожей HowTO не нашёл =(
И вообще в дебиане есть утилита для добавления/удаления скриптов.
если, будучи уже загруженным, я сделаю /etc/init.d/firewall - он прекрасно сработает.то есть скрипт правильный
это не может никак быть связано с скриптами в rcS.d?
Ещё часто бывает, что $PATH другой при загрузке, и программы не находятся.
p.s. исправил прекратил.
здесь тебе не LOR
Сообщение удалил
он сказал, что у него ранлевел 4 в inittab
echo -n "Enabling firewall..."
...
<skip>
...
echo "OK"
И при загрузке это не появляется.
А до программы у меня Path вручную введён.
Вот текст скрипта, запускающего файрвол.
#! /bin/sh
#
# skeleton Example initscript
# This file should be used to construct scripts to be
# placed in /etc/init.d.
#
# Author: Miquel van Smoorenburg <cistron.nl>.
# Ian Murdock <gnu.ai.mit.edu>.
#
# Please remove the "Author" lines above and replace them
# with your own name if you copy and modify this script.
#
# Version: @(#)skeleton 2.85-23 28-Jul-2004 cistron.nl
#
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="My Firewall"
NAME=firewall
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x /usr/sbin/$NAME || exit 0
# Read config file if it is present.
#if [ -r /etc/default/$NAME ]
#then
# . /etc/default/$NAME
#fi
#
# Function that starts the daemon/service.
#
d_start {
/usr/sbin/$NAME
}
#
# Function that stops the daemon/service.
#
d_stop {
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
}
case "0" in
start)
echo -n "Enabling $DESC..."
d_start
echo "OK"
;;
stop)
echo -n "Disabling $DESC..."
d_stop
echo "OK"
;;
restart|force-reload)
#
# If the "reload" option is implemented, move the "force-reload"
# option to the "reload" entry above. If not, "force-reload" is
# just the same as "restart".
#
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 1
d_start
echo "."
;;
*)
# echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
команда test -x /usr/sbin/firewall || echo "No" в консоли ничего не выдаёт.
Хотя действительно попробую сейчас добавить echo "TEST" в самое начало скрипта запуска...
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel.
id:4:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# <id>:<runlevels>:<action>:<process>
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:2345:respawn:/sbin/getty 38400 tty2
3:2345:respawn:/sbin/getty 38400 tty3
4:2345:respawn:/sbin/getty 38400 tty4
5:2345:respawn:/sbin/getty 38400 tty5
6:2345:respawn:/sbin/getty 38400 tty6
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
case "0" in
это что?
в оригинале $1
больше версий нет? могу шелл дать, если это поможет...
Права на испонение обоих файлов точно есть?
мне ответить или догадаешься, исходя из содержимого первого поста?
id:4:initdefault:
id:3:initdefault:или если стоят Иксы
id:5:initdefault:
т.е. либо тройку, либо пятерку. У меня в иниттаб другое написано вобщем...
А проблема, собственно, уже решилась - трабла была в том, что почему-то вмварный интерфейс vmnet1 инициализировался после запуска файрвола. Удалил из правил файрвола всё, что касалось vmnet1 и vmnet8 - и заработало.
На заполнение правил это не должно сказаться.
И уж точно на сообщения от echo.
а на заполнение правил влияло вот что:
INTERFACES="eth0 eth1 eth2 eth3 vmnet1 vmnet8 ppp0 lo "
for i in $INTERFACES ; do
$IP link show "$i" > /dev/null 2>&1 || {
log "Interface $i does not exist"
exit 1
}
done
это кусок инициализационного скрипта файрвола

кто ж придумал так писать?
изначально - kmyfirewall, потом я его скрипт разобрал на куски, а это оставил. Ну теперь уже удалил =)
может не хватает: chmod 755 /etc/init.d/firewall
метод вырубать демонов, если 644
Оставить комментарий
Fragaria
Ситуация такая - есть некий скрипт, запускающий файрвол (по сути - просто добавляющий правила для iptables). Он запускается другим скриптом, сделанным на основе skeleton и лежащим в /etc/init.d/. На него стоит ссылка вида /etc/rc4.d/S80firewall -> /etc/init.d/firewall. Так вот при загрузке почему-то этот скрипт не выполяется. В dmesg, syslog и messages про него ни слова нет, в inittab прописан дефолтранлевел 4, команда runlevel показывает N 4. Скрипт запускается после поднятия всех сетевых интерфейсов. Если, будучи уже загруженным, я сделаю /etc/init.d/firewall - он прекрасно сработает. Причём раньше он нормально выполнялся, и вдруг в какой-то момент я обнаружил, что правила для iptables пустые. Стал смотреть на вывод при загрузке и понял, что скрипт не выполняется. С чем это может быть связано?