firewall no Debian 6.0.3 [RESOLVIDO]

1. firewall no Debian 6.0.3 [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 10/01/2012 - 11:48h

Galera do VOL, bom dia!

Antes eu estava com o Debian 5, atualizei para o Debian 6 quando eu restaurei o bkp do firewall.sh para o diretório /etc/init.d o firewall não está roteando.

Tipo:
- No servidor eu consigo pingar para WEB e para dentro de minha rede.
- de um PC eu consigo pinga o meu servidor pela rede local.

Mas quando eu estou com o PC configurado com o Servidor como Gateway não consigo navegar, Porque?

disposição das placas
eth0 = redelocal (onbord)
eth1 = internet (offboard)


Segue meu firewall.sh

#-----------------------------------------------------------------------------
#! /bin/bash

start(){
echo "Firewall iniciando ....................... [OK]";
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#REGRAS FIREWALL

##########HABILITA O ROTEAMENTO
#-------------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward
#-------------------------------------


##########FAZ O ROTEAMENTO DA REDE INTERNA PARA WEB
#---------------------------------------------------------------------
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
#---------------------------------------------------------------------


##########PACOTES RECEBIDOS NA REDE LOCAL DIRECIONADO PARA SQUID(3128)
#---------------------------------------------------------------------------------
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#---------------------------------------------------------------------------------


##########POLITICA FIREWALL
#--------------------------
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#---------------------------


#########BLOQUEIO ULTRASURF (NAO BLOQUEIA - VERIFICAR)
#Tarefa: bloquear porta 443 para todos os IPS do que estao no arquivo "ip_ultrasurf.txt"
#---------------------------------------------------------------------------------------
# for i in $(cat /etc/squid/regras/ip_ultrasurf.txt | grep -e ^[0-9] | cut -d: -f1)
# do
# iptables -A FORWARD -p tcp --dport 443 -s 0/0 -d ${i} -j DROP
# iptables -A FORWARD -p tcp --dport 443 -s ${i} -d 0/0 -j DROP
# done
#---------------------------------------------------------------------------------------


##########LIBERA ACESSO CAMERAS
#-------------------------------------------------------------------------------------------------------
#DVR (STAND ALONE)
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 3630 -j DNAT --to-destination 192.168.1.XX
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 6236 -j DNAT --to-destination 192.168.1.XX

#PC (CAM3)
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 6261 -j DNAT --to-destination 192.168.1.YY
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 4051 -j DNAT --to-destination 192.168.1.YY
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 5051 -j DNAT --to-destination 192.168.1.YY
#-------------------------------------------------------------------------------------------------------


##########LIBERA ACESSO PC-CPD
#------------------------------------------------------------------------------------------------------
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 80 -j DNAT --to-destination 192.168.1.YYY
#------------------------------------------------------------------------------------------------------

##########LIBERA PORTAS
#----------------------------------------------------
#LIBERA SSH (PUTTY)
#iptables -A INPUT -s 0/0 -p tcp --dport 22 -j ACCEPT
#iptables -A FORWARD -s 0/0 -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -s 0/0 -p tcp --dport 3128 -j ACCEPT
#iptables -A FORWARD -s 0/0 -p tcp --dport 3128 -j ACCEPT
#----------------------------------------------------


##########BLOQUEIA PORTA MSN
#------------------------------------------------
iptables -A FORWARD -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -p tcp --dport 5223 -j REJECT
#------------------------------------------------

echo "Firewall ativado! ........................ [OK]";
}


stop (){
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#Politica padrao
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#Compartilha a conexao
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

#Direciona redelocal para web
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

echo "Compartilhadmento da rede ativo .................. [OK]";
echo "Firewall desativado .............................. [OK]";
}


case "$1" in
"start") start ;;
"stop") stop ;;
"reload") stop; start ;;
*)
echo "Use parametros start | stop | reload" ;;

esac




  


2. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 10/01/2012 - 12:00h

Para ver se as regras estão up:
#iptables -NVL

Para ver se tem algum erro no script:
bash -x /caminho/script/firewall


3. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/01/2012 - 12:10h

Bom dia amigo,

primeiro você verificou se as regras estão ativadas ou seja se o script executou as regras ?

Pois no debian 6 o scripts que o administrador for colocar para iniciar nos runlevels tem que ter um cabeçario (parecido)como nas distro baseadas no red hat exemplo abaixo:


#!/bin/sh
# chkconfig: 235 99 10
# description: Start or stop the Webmin server
#
### BEGIN INIT INFO
# Provides: webmin
# Required-Start: $network $syslog
# Required-Stop: $network
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Description: Start or stop the Webmin server
### END INIT INFO

a parte que tem "begin" até "end" é o cabeçario do script.

retorna ai..


4. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Daniel Fernandes de Lima
daniel_4fun

(usa Debian)

Enviado em 10/01/2012 - 12:22h

amigo, parece bobeira, mas da uma olhada nas permissões..

#chmod +x /etc/init.d/Firewall

e olha se ele esta rodando em todos os niveis da inicialização..

#apt-get install rcconf

depois rode o programa.
#rcconf




5. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 10/01/2012 - 14:02h

eabreu, então eu coloco este script no inicio do meu firewall?
como ficaria? e o final fica do jeito que está?

Dei o comando iptables -L (não estão ativos os comandos, realmente terei que alterar o script).


6. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/01/2012 - 14:16h

edite o script firewall.sh colocando o cabeçario como esta abaixo:

#!/bin/sh
# chkconfig: 2345 99 10
# description: Start or stop the firewal.sh
#
### BEGIN INIT INFO
# Provides: firewal.sh
# Required-Start: $network $syslog
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Start or stop the firewall.sh
### END INIT INFO

#-----------------------------------------------------------------------------
#! /bin/bash

start(){
echo "Firewall iniciando ....................... [OK]";
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#REGRAS FIREWALL

##########HABILITA O ROTEAMENTO
#-------------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward
#-------------------------------------


##########FAZ O ROTEAMENTO DA REDE INTERNA PARA WEB
#---------------------------------------------------------------------
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
#---------------------------------------------------------------------


##########PACOTES RECEBIDOS NA REDE LOCAL DIRECIONADO PARA SQUID(3128)
#---------------------------------------------------------------------------------
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#---------------------------------------------------------------------------------


##########POLITICA FIREWALL
#--------------------------
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#---------------------------


#########BLOQUEIO ULTRASURF (NAO BLOQUEIA - VERIFICAR)
#Tarefa: bloquear porta 443 para todos os IPS do que estao no arquivo "ip_ultrasurf.txt"
#---------------------------------------------------------------------------------------
# for i in $(cat /etc/squid/regras/ip_ultrasurf.txt | grep -e ^[0-9] | cut -d: -f1)
# do
# iptables -A FORWARD -p tcp --dport 443 -s 0/0 -d ${i} -j DROP
# iptables -A FORWARD -p tcp --dport 443 -s ${i} -d 0/0 -j DROP
# done
#---------------------------------------------------------------------------------------


##########LIBERA ACESSO CAMERAS
#-------------------------------------------------------------------------------------------------------
#DVR (STAND ALONE)
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 3630 -j DNAT --to-destination 192.168.1.XX
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 6236 -j DNAT --to-destination 192.168.1.XX

#PC (CAM3)
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 6261 -j DNAT --to-destination 192.168.1.YY
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 4051 -j DNAT --to-destination 192.168.1.YY
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 5051 -j DNAT --to-destination 192.168.1.YY
#-------------------------------------------------------------------------------------------------------


##########LIBERA ACESSO PC-CPD
#------------------------------------------------------------------------------------------------------
iptables -t nat -A PREROUTING -p tcp -d MEU_IPFIXO --dport 80 -j DNAT --to-destination 192.168.1.YYY
#------------------------------------------------------------------------------------------------------

##########LIBERA PORTAS
#----------------------------------------------------
#LIBERA SSH (PUTTY)
#iptables -A INPUT -s 0/0 -p tcp --dport 22 -j ACCEPT
#iptables -A FORWARD -s 0/0 -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -s 0/0 -p tcp --dport 3128 -j ACCEPT
#iptables -A FORWARD -s 0/0 -p tcp --dport 3128 -j ACCEPT
#----------------------------------------------------


##########BLOQUEIA PORTA MSN
#------------------------------------------------
iptables -A FORWARD -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -p tcp --dport 5223 -j REJECT
#------------------------------------------------

echo "Firewall ativado! ........................ [OK]";
}


stop (){
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#Politica padrao
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#Compartilha a conexao
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

#Direciona redelocal para web
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

echo "Compartilhadmento da rede ativo .................. [OK]";
echo "Firewall desativado .............................. [OK]";
}


case "$1" in
"start") start ;;
"stop") stop ;;
"reload") stop; start ;;
*)
echo "Use parametros start | stop | reload" ;;

esac

Após editar o arquivo veja se tem permissão de execução e se não tiver dê permissão de execução.

# chmod +x /etc/init.d/firewall.sh

Depois só resta configurar o script para iniciar com runlevel que irá usar:

# update-rc.d firewal.sh defaults

reinicie e veja se as regras foram executas:

# iptables -L

retorna ai...


7. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Daniel Fernandes de Lima
daniel_4fun

(usa Debian)

Enviado em 10/01/2012 - 14:21h

olha também, se programas como skype e msn estão funcionando... pode ser problema com o squid tb.



8. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 10/01/2012 - 14:32h

OK... Subiu na inicialização o firewall.sh
Mas, minha rede interna não esta navegando na web.

SAÍDA iptables -L
------------------------------------------------------------------------------------------------
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT tcp -- anywhere anywhere tcp dpt:msnp reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpt:5223 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
------------------------------------------------------------------------------------------------

está certo ou tem algo errado? está fazendo o roteamento?



9. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 10/01/2012 - 15:24h

Help!!

Parece que não está roteando!


10. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/01/2012 - 15:29h

Ninguém está conseguindo acessar internet é isso (sites, skype e ou msn)?

só para fins de teste remove a regra abaixo e veja se as estações acessam a internet:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


Pois através desta regra você está usando um proxy transparente, redirecionando todo o trafego para está porta que é a porta padrão do squid.

o squid está bem configurado ?

retorna ai..



11. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 10/01/2012 - 15:48h

SIM. Não acessa nada na internet...

Vou comentar esta linha que direciona para o squid e ver se navega!



12. Re: firewall no Debian 6.0.3 [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 10/01/2012 - 15:55h

Acabei de testar! comentei a linha mas ainda NÃO navega quando passa pelo servidor.
Pelo servidor eu consigo pingar normal para fora "ping www.uol.com.br"; e também dentro da minha rede.
Portanto está ok as INTERFACES e DNS.

Parece que nao está ocorrendo o roteamento. eht0 = redelocal / eth1 = internet

-----------------------------------------------------------------------
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
-----------------------------------------------------------------------






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts