#!/bin/sh
#############################################################
# Script Criado Por: #
# Rodrigo Gustavo Gallacci #
# FIREWALL EM LINUX - iptables #
#############################################################

case $1 in
´start&acute
#Primeiro precisamos levantar todos os serviços do firewall
#E verificar se eles não estão ativos...
USO=`cat /usr/firewall`
if [ $USO != 1 ]
then
echo 1 > /usr/firewall
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
insmod ip_nat_ftp
insmod ip_conntrack_ftp
fi
#Agora limpamos todas as regras
iptables -F
iptables -t nat -F
iptables -X
iptables -X -t nat
iptables -Z

#Agora trocamos o ip interno para o acesso a outras redes
iptables -A PREROUTING -t nat -d 127.0.0.1/24 -j DNAT --to ip_interno
iptables -A POSTROUTING -t nat -s ip_interno -j SNAT --to ip_externo
iptables -A POSTROUTING -t nat -s ip_interno -j MASQUERADE
#Troque os ips pelos ips das placas do servidor...

#Aqui colocamos a política
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

touch /var/lock/subsys/firewall
;;
´stop&acute
#Paramos o serviço
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
echo 0 > /usr/firewall
rm -f /var/lock/subsys/firewall
;;
´restart&acute
#Restartamos o serviço
echo "Parando o serviço de firewall: [OK]"
$0 start
echo "Iniciando o serviço de firewall: [OK]"
;;
´list&acute
iptables -L
;;
*)
echo "Tente digitar $0 {start|stop|restart|list}"
exit 0
;;
esac

Salve ele no /usr/bin com o nome de firewall aí crie os links

ln -s /usr/bin/firewall /etc/rc.d/init.d/firewall
ln -s /etc/rc.d/init.d/firewall /etc/rc.d/rc0.d/K40firewall
ln -s /etc/rc.d/init.d/firewall /etc/rc.d/rc3.d/S99firewall
ln -s /etc/rc.d/init.d/firewall /etc/rc.d/rc6.d/K40firewall

Se não entendeu posta aí..... <IMG SRC="images/forum/icons/icon_wink.gif">

[ Esta mensagem foi editada por: Futuremax em 18-12-2002 12:48 ]