
		stefaniobrunhara
		
		(usa CentOS)
		
		Enviado em 03/08/2013 - 09:36h 
		Nas disbribuições centos e mandriva o arquivo de firewall se encontra no diretório /etc/init.d/iptables.
Eu criei/adotei a seguinte situação: 
Crio um arquivo que starta ou para o meu script de firewall
vim /etc/init.d/firewall 
#!/bin/bash
# set -x
# FireWall - Iptables
#
# description:FireWall 02 - Estefanio Brunhara <estefanio@brunhara.com>
# chkconfig: 2345 13 90
#
# coloque este arquivo no /etc/rc.d/init.d/
# e ative ele no ntsysv
#====== Sangiovanne Informatica Ltda. (31)3375-1202 ======#
#    Estefanio Brunhara 11-04-2012 BH-MG-BR               #
#==========================================#
case "$1" in
  start)
  /usr/sbin/Firewall $1
  ;;
  stop)
  /usr/sbin/Firewall $1
  ;;
  echo "Uso: $0 {start|stop}"
  exit 1
  ;;
esac
exit 0
Tornando ele inicial pelo boot 
cd /etc/init.d
chmod +x firewall 
chkconfig firewall on 
Esta linha "# chkconfig: 2345 13 90", no script determina os níveis que o script vai funcionar "2345", "13 90" é a ordem para ser iniciar e finalizar o script.   
E no /usr/sbin/Firewall eu coloco todas faz minhas regras feitas com o binário iptables
no arquivo Firewall ideia !!!
#!/bin/bash
# Variáveis de configurações 
ALL="0/0"
DVLan="eth0"
DVGW1="eth1"
REDE="192.168.1.0/24"
IPGW1="201.170.243.5"
# Ativando repasse de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Carregando Modulos
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_tables
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_irc
# Crie uma função para limpar as regras 
LimpaRegras ()
{
# Limpado Regas
iptables -F
iptables -X
iptables -t nat -F
}
# Crie uma função para iniciar as regras 
IniciaRegras()
{
# define as politicas
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
## Regras Prerouting 
## Regras Input 
## Regras Forward 
## Regras Mascaramento 
}
## Controle do Firewall 
case "$1" in
 start)
 LimparRegras 
 IniciaRegras 
 ;;
 stop)
 LimpaRegras 
 ;;
 echo "Uso: $0 {start|stop}"
 exit 1
 ;;
 esac
 exit 0
O correto e você inciar o firewall com tudo drop, mas como você esta inciando seus estudos, comece somente com o forward drop. 
Obedeça a ordem Prerouting, Input, Forward, mascaramento, para criar seu Firewall,desta forma você vai estar dentro de um padrão adotado por muito, que facilita o desenvolvimento do seu pequeno código.