Re: IPTABLES!!! (longo)
On Fri, Jun 11, 2004 at 07:13:54PM -0300, Jonatan wrote:
> Olá !!
>
> Alguém saberia me dizer onde eu posso achar os arquivos que carregam as regras no iptables quando a firewall é reiniciado ???
>
o iptables não salva as regras automaticamente; você deve utilizar o
iptables-save e o iptables-restore para salvar e restaurar,
respectivamente, as regras do seu firewall.
para que isto seja feito automaticamente, você pode criar um script, a
partir do /etc/init.d/skeleton e colocar estes comandos lá,
redirecionando a saida para um arquivo.
com este script pronto e testado, você utiliza o update-rc.d para
colocar os links simbólicos nos runlevels apropriados para o seu
firewall.
abaixo um script que utilizo para um firewall simples que implementei;
as regras foram definidas na linha de comando e depois de ajustadas, o
script mantém as coisas funcionando; para isto, utilizei o update-rc.d
com a opção default:
# update-rc.d SEU_SCRIPT_AQUI defaults
--------------------------- corte aqui ---------------------
#! /bin/sh
#
# regras_fw Script utilizado para restaurar as regras do firewall
# da I.B.Perdizes.
#
# Written by Mario O de Menezes <mario@curiango.ipen.br>.
# Modified for Debian GNU/Linux
#
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version: @(#)regras_fw 1.0 21-Dec-1999 mario@curiango.ipen.br
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/sbin/iptables
RESTAURAR=/sbin/iptables-restore
SALVAR=/sbin/iptables-save
NAME=regras_fw
REGRAS=/etc/network/regras-firewall
DESC="Regras do Firewall"
test -f $DAEMON || exit 0
set -e
salva_regras () {
# funcao para salvar as regras do firewall
echo "Salvando regras do firewall; sobrescrevendo $REGRAS..."
$SALVAR > $REGRAS
echo "Regras salvas em $REGRAS..."
}
inicia_firewall () {
# funcao para iniciar as regras do firewall
echo -n "Iniciando $DESC: "
$DAEMON --flush
echo "Limpando todas as regras anteriores ..."
$DAEMON --table nat --flush
$DAEMON --delete-chain
$DAEMON --table nat --delete-chain
echo "Habilitando forward para Masquerade ..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Carregando modulos iptables..."
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_nat
echo "Restaurando regras de $REGRAS ..."
$RESTAURAR < $REGRAS
echo "$NAME."
}
para_firewall () {
# funcao para parar as regras do firewall
echo -n "Removendo $DESC ..."
$DAEMON --flush
echo "Limpando todas as regras anteriores ..."
$DAEMON --table nat --flush
$DAEMON --delete-chain
$DAEMON --table nat --delete-chain
echo "Desabilitando forward para Masquerade ..."
echo 0 > /proc/sys/net/ipv4/ip_forward
echo "Liberando acesso interface lo..."
$DAEMON -A INPUT -i lo -p all -j ACCEPT
$DAEMON -A OUTPUT -o lo -p all -j ACCEPT
echo "Politica Default: ACCEPT..."
$DAEMON -P INPUT ACCEPT
$DAEMON -P OUTPUT ACCEPT
$DAEMON -P FORWARD ACCEPT
echo "$NAME."
}
case "$1" in
start)
inicia_firewall # chama funcao para iniciar o firewall
;;
stop)
para_firewall # chama funcao para parar o firewall
;;
salvar)
salva_regras # salva regras do firewall
;;
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".
#
para_firewall
sleep 5
inicia_firewall
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|salvar|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
------------------------corte aqui-------------------------
existem scripts prontos e complexos que fazem tudo isto; um
# apt-cache search iptables
trará muitos resultados interessantes também.
abraço
--
Mario O.de Menezes, Ph.D. "Many are the plans in a man's heart, but
LinuxUser: #24626 is the Lord's purpose that prevails" Pv 19.21
http://www.ipen.br/~mario
Reply to: