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.