четверг, 23 апреля 2009 г.

Стартовый скрипт для iptables в OpenSUSE 11.1

В OpenSUSE по умолчанию входит SUSEfirewall2 - фирменная настройка для iptables. О вкусах не спорят, но мне он как-то не подошел. Скрипта для запуска "просто" iptables в данном дистрибутиве нет. В принципе, задачу можно решить через Webmin - но это не наш путь. Итого - пишем сами скрипт /etc/init.d/iptables - такого, например, содержания:

#!/bin/bash

IPTAB_BIN=/usr/sbin/iptables
test -x $IPTAB_BIN || exit 5
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Starting iptables"
# сюда вставляем наши политики
$IPTAB_BIN -P INPUT DROP
$IPTAB_BIN -P OUTPUT ACCEPT
$IPTAB_BIN -P FORWARD DROP
# а сюда - правила
$IPTAB_BIN -A INPUT -i lo -j ACCEPT
$IPTAB_BIN -A INPUT -i eth0 -p tcp ! --syn -j ACCEPT
$IPTAB_BIN -A INPUT -i eth0 -p udp --sport 53 -j ACCEPT
$IPTAB_BIN -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
rc_status -v
;;
stop)
echo -n "Shutting down iptables"
$IPTAB_BIN -F
$IPTAB_BIN -X
$IPTAB_BIN -Z
$IPTAB_BIN -P INPUT ACCEPT
$IPTAB_BIN -P OUTPUT ACCEPT
$IPTAB_BIN -P FORWARD ACCEPT
rc_status -v
;;
restart)
$0 stop
$0 start
rc_status
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
rc_exit


Комментариев нет: