Problemas iptables, squid e outlook

1. Problemas iptables, squid e outlook

Cristiano Miguel da Costa
cristiano_be

(usa Ubuntu)

Enviado em 08/12/2010 - 16:23h

Pessoal, Estou com um problemas bastente comum, mas não encontrei nada na internet. Sou iniciante em linux e estou montando um servidor Ubuntu server 10.04 e parei em um problema que não consigo resolver. Istalei o squid e no navegador eu aponto o proxy. Internet funciona sem problemas. Agora quando é para mandar e receber e-mails nada funciona. Na internet busquei bastante material para configurar o firewall e fiz as configuração mais usadas como:
iptables -A INPUT -p tcp --dport 110 -j ACCEPT

Fiz também para FORWARD com todas as portas (25 e 110).
Veja o problema. O micro com outlook está em um rede (sem firewall e proxy)enviando e redebendo e-mails normalmente. Quando mudo os cabos de rede para o firewall/proxy, configuro o ip e coloco o micro com outlook na rede do firewall/proxy, o outlook continua mandando e enviando e-mails normalmente. O grande problema é que quando eu fecho o outlook, ou reinicio o micro ou reinicio o firewall/proxy, os e-mails param de funcionar.
Não sei se alguem já passou por isso, e tem alguma dica para me dar. Já vasculhei a internet a procura de problemas com o outlook e não encontrei nada. Queria saber se isso se trata de configuração de firewall iptables.

Agradeço a atenção


  


2. Re: Problemas iptables, squid e outlook

Jefferson Diego
Diede

(usa Debian)

Enviado em 08/12/2010 - 16:30h

Em ordem:

1. O Gateway tá setado certo na máquina com Outlook?
2. Seu Firewall tem formard, mas, tem masquerading?
3. Se a nat (masquerading) estiver correta, há alguma política em DROP?


O jeito mais básico e simples de fazer isso funcionar é assim:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -o <interfaceWeb> -j MASQUERADE
iptables -A FORWARD -i <interfaceIntranet> -j ACCEPT
iptables -A INPUT -i <interfaceIntranet> -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


Poste para nós o seu firewall, e nos diga quais são suas interfaces (exe: eth0 = intranet, ppp0 = web).


3. meu firewall iptables

Cristiano Miguel da Costa
Cristiano_Be

(usa Ubuntu)

Enviado em 08/12/2010 - 17:17h

Obrigado pela atenção

segue o firewall


#!/bin/bash

# Interface da Internet:
ifinternet="eth0"

# Interface da rede local
iflocal="eth1"


iniciar(){
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p udp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p udp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
}
parar(){
iptables -F
iptables -F -t nat
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

Fiz uns testes trocando no caso das portas 25 e 110 o IMPUT por FORWARD e também funcionou, mas se fechar o o programa, ou reiniciar o Ubuntu os e-mails param.

Obrigado pela ajuda.


4. Re: Problemas iptables, squid e outlook

Jefferson Diego
Diede

(usa Debian)

Enviado em 08/12/2010 - 19:42h

Tenta assim:

#!/bin/bash

# Interface da Internet:
ifinternet="eth0"

# Interface da rede local
iflocal="eth1"


iniciar(){
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE

iptables -A FORWARD -i $iflocal -o $ifinternet -j ACCEPT
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

}
parar(){
iptables -F
iptables -F -t nat
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac


5. Não deu a nova regra

Cristiano Miguel da Costa
Cristiano_Be

(usa Ubuntu)

Enviado em 09/12/2010 - 19:29h

Obrigado pela ajuda, mas infelismente não deu certo.

O que mais me deixa louco é que eu tó na rede sem firewall/proxy mandando e-mail normal, dai eu só mudo a rede para o firewall/proxy (mudo os cabos e IP) e continuo trabalhando normalmente com os e-mail. Outlook envia e recebe normalmente. Dai se eu fechar o outlook já era e nada faz funcionar.

Sinceramente não estou entendendo por que isso aconece.


6. Re: Problemas iptables, squid e outlook

Luis Henrique Laguna
laguna

(usa Ubuntu)

Enviado em 10/12/2010 - 00:24h

cristiano não sei se você tem acompanhado mais o tem havido uma mudança nas portas padrões de smtp e pop verifique se as portas utilizadas são 25 e 110 caso nao libereas, vou postar um firewall util, veja se te resolve e o adapte da maneira que melhor lhe convir

#!/bin/bash

modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ipt_recent

#############################################################################################
# Limpando Regras #
#############################################################################################


### Exclui todas as regras
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F


### Exclui cadeias customizadas
iptables -X

### Zera os contadores das cadeias
iptables -t nat -Z
iptables -t mangle -Z
iptables -t filter -Z



#############################################################################################
# Definindo Politica Padr.o #
#############################################################################################

iptables -P INPUT DROP
iptables -P FORWARD DROP

echo 1 > /proc/sys/net/ipv4/ip_forward

##############################################################################################
##############################################################################################
# Definindo Vari.veis #
##############################################################################################

# interface ligada a internet
ETH_NET='eth0'
#############################################################################################

# interface rede 1
ETH_REDE1='eth1'


##############################################################################################
# Liberando FireWall #
##############################################################################################

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

##############################################################################################
# Regras #
##############################################################################################


########################################### INPUT ############################################

iptables -A INPUT -p icmp -j ACCEPT # PING
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # SSH
iptables -A INPUT -p udp --dport 22 -j ACCEPT # SSH
iptables -A INPUT -p udp --dport 53 -j ACCEPT # DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT # DNS
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT # WEBMIN
iptables -A INPUT -i $ETH_NET -p tcp --dport 10000 -j ACCEPT # WEBMIN

########################################### FORWARD ##########################################

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT # PING
iptables -A FORWARD -o $ETH_NET -p tcp --dport 21 -j ACCEPT # FTP
iptables -A FORWARD -o $ETH_NET -p tcp --dport 22 -j ACCEPT # SSH
iptables -A FORWARD -o $ETH_NET -p udp --dport 22 -j ACCEPT # SSH
iptables -A FORWARD -o $ETH_NET -p tcp --dport 25 -j ACCEPT # SMTP
iptables -A FORWARD -o $ETH_NET -p tcp --dport 53 -j ACCEPT # DNS
iptables -A FORWARD -o $ETH_NET -p udp --dport 53 -j ACCEPT # DNS
iptables -A FORWARD -o $ETH_NET -p tcp --dport 110 -j ACCEPT # POP
iptables -A FORWARD -o $ETH_NET -p tcp --dport 443 -j ACCEPT # SSL
iptables -A FORWARD -o $ETH_NET -p tcp --dport 995 -j ACCEPT # POP3
iptables -A FORWARD -o $ETH_NET -p tcp --dport 465 -j ACCEPT # SMTP
iptables -A FORWARD -o $ETH_REDE1 -p tcp --sport 1024:65000 -j ACCEPT

####################################### Regras para banco ########################################
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -p tcp -d cmt.caixa.gov.br --dport 80 -j RETURN #CAIXA
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -p tcp -d saude.gov.br --dport 80 -j RETURN #CAIXA
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -p tcp -d 200.221.0.0/16 --dport 80 -j RETURN #CAIXA
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -p tcp -d 200.154.0.0/16 --dport 80 -j RETURN #CAIXA
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -d 200.155.80.0/24 -j RETURN #Bradesco
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -d 200.155.80.15 -j RETURN #Bradesco
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -d 200.199.249.50 -j RETURN #BB
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -d 170.66.11.10 -j RETURN #BB
#iptables -t nat -A PREROUTING -i $ETH_REDE1 -d 200.152.233.40/24 -j RETURN #HSBC
##################################################################################################

######################################### MASCARAMENTO########################################

iptables -t nat -A POSTROUTING -o $ETH_NET -j MASQUERADE

############################################################################################

iptables -t nat -A PREROUTING -i $ETH_REDE1 -p tcp --dport 80 -j REDIRECT --to-port 3128 # Proxy
#############################################################################################
echo " Firewall Ativo....................................................... [ OK ] "
echo




7. vou testar

Cristiano Miguel da Costa
Cristiano_Be

(usa Ubuntu)

Enviado em 14/12/2010 - 14:10h

Obrigado pela ajuda.
Vou testar o firewall que vc me passou.
Buscando na internet, vi assunto que ralatam que isso pode ser problema de dns. Será que tem mesmo a ver isso ?



8. Problemas iptables, squid e outlook

Ricardo Leal de Jesus
ricardoldj

(usa Fedora)

Enviado em 14/12/2010 - 17:41h

Passo pela mesma situação só que no fedora, caso ache a solução poste por favor, pois farei o mesmo.


9. Re: Problemas iptables, squid e outlook

Diego Oliveira da Silva
dolivervl

(usa Slackware)

Enviado em 14/12/2010 - 18:38h

Assim kra, as portas 80,25,110 e 53 tem que estar nas regras de FORWARD, pq são pacotes que vão passar pelo firewall e não INPUT que são pacotes que irão para o firewall.

Elas so param quando vc fecha o outlook pq estão ativas, então quando vc inicia uma nova conexão ai lê as regras novas.

As portas 25 e 110 não vão passar pelo proxy, então faça isso

iptables -t nat -A PREROUTING -i $ifinternet -p tcp --dport 80 -j REDIRECT --to-port 3128 # assim vc vai jogar sua internet 80 para o proxy e o resto vai por fora.


10. Re: Problemas iptables, squid e outlook

Ricardo Leal de Jesus
ricardoldj

(usa Fedora)

Enviado em 14/12/2010 - 19:31h

Caro Laguna

Seu script resolveu minha questão do outlook, porem surgiram alguns problemas:
- pinga mas nao navega a internet
- acessa skype
- não acessa msn

estou usando squid

se puder me ajudar, fico grato


11. Re: Problemas iptables, squid e outlook

Manoel Avelino de Carvalho Neto
papacapim

(usa Outra)

Enviado em 15/12/2010 - 00:14h

Cristiano Be, siga a dica do dolivervl ele está certo, você deve aplicar regras de FORWARD.

ricardoldj adicione esta regra no script do laguna:

iptables -A FORWARD -o $ETH_NET -p tcp --dport 80 -j ACCEPT # HTTP

ou caso esteja usando squid vá pela regra postada pelo dolivervl:

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



12. Gostaria de entender

Cristiano Miguel da Costa
cristiano_Be

(usa Ubuntu)

Enviado em 18/01/2011 - 19:56h

Pessoal, Obrigado pela ajuda e desculpa a demora em responder as postagens, pois estava dando uma estudada mais a fundo na internet sobre iptables.

Já postei o meu script e o meu problema anteriormente. A ideia de fazer FORWARD (Passada pelo amigo dolivervl), despertou meu interesse em aprofundar os estudos, mas aconteceu algo estranho.

O problema do envio e recebimento de e-mail ainda acontecia, então eu apontei nas propriedades da placa de rede de meu micro (windows)um servidor dns na rede (um windows 2003 server)e a partir desse momento precisei apenas da regra de firewall que ativa o compartilhamento da conexão pelo NAT.

Então ó meu firewall só tá com a regras:


# Interface da Internet:
ifinternet="eth0"

# Interface da rede local
iflocal="eth1"


iniciar(){
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE

}
parar(){
iptables -F
iptables -F -t nat
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

Dessa forma estou enviando e recebendo e-mail sem problemas, sem me preocupar liberar portas e etc.

Alguem tem alguma explicação para isso ?

Aguardo contato e obrigado a todos mais uma vez!!



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts