Проблема в том что правила c действием ulog из скрипта автозагрузки не применяются (все остальные правила применяются нормально, а если запустить скрипт вручную через терминал, то применяются все правила.). Два дня пытаюсь решить проблему не выходит. Может кто сталкивался и подскажет, в чем может быть проблема.
Пример скрипта:
IPTABLES в /etc/init.d:
Код: Выделить всё
#!/bin/bash
### BEGIN INIT INFO
# Provides:
# Required-Start: $network $syslog $ulog-acctd
# Required-Stop:
# Default-Start: 5
# Default-Stop:
### END INIT INFO
IPT="/sbin/iptables"
START="/bin/bash"
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
NAME="$0"
N="/etc/init.d/$NAME"
if [ ! -f /etc/rc.firewall ]; then
echo "/etc/rc.firewall does not exist"
exit 0
fi
case "$1" in
start|restart)
echo -n "Starting up iptables firewall..."
$START /etc/rc.firewall
echo "done."
;;
stop)
$IPT -t filter -F
$IPT -t filter -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
echo "done."
exit 0;
;;
*)
echo "Usage: $N {start|restart|stop}" >&2
exit 1
;;
esac
exit 0rc.firewall в /etc/
Код: Выделить всё
#!bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -p tcp -s www.vkontakte.ru -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix "vkontakte"После загрузки в iptables только:
Код: Выделить всё
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destinationНо если запустить скрипт вручную(/etc/init.d/iptables restart), то правило прекрасно добавляется и отлично работает, значит в коде ошибки нет, а вот в чем причина никак не пойму.