deuz
(usa Debian)
Enviado em 13/01/2012 - 12:33h
Boa tarde amigos, tenho um server instalado rodando o CentOS 5.7, no mesmo funciona squid, sarg, roda certinho, porem tem algo errado com minhas regras de Iptables, pois nenhuma das estações clientes conseguem enviar ou receber e-mail, da erro que nao conseguiu encontrar o servidor de e-mail pop3... e smtp...
qual seria uma regra para abrir ou resolver esse problema, se alguem puder me ajudar, agradeço muito. segue meu script de firewall:
#/bin/sh
firewall_start() {
ipt="/sbin/iptables"
http=80
https=443
### Passo 1: Limpando as regras ###
echo "==============================================="
echo "| :: LIMPANDO REGRAS ANTIGAS :: |"
echo "==============================================="
$ipt -F INPUT
$ipt -F OUTPUT
$ipt -F FORWARD
echo "Limpando todas as regras .................[ OK ]"
# Definindo a Politica Default das Cadeias
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT
echo "Setando as regras padrao .................[ OK ]"
### Passo 2: Desabilitar o trafego IP entre as placas de rede ###
echo "0" > /proc/sys/net/ipv4/ip_forward
echo "Setando ip_foward ........................[ OK ]"
# Interfaces
IADSL=eth1
ILAN=eth0
ILocal=lo
# Redes Internas
LAN=192.168.1.0/255.255.255.0
#ADSL=10.1.1.5/255.0.0.0
### Passo 3: Carregando os modulos do iptables ###
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat
modprobe ipt_MASQUERADE
#modprobe ipt_layer7
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
#modprobe ip_conntrack_irc
echo "Carregando modulos do iptables ...........[ OK ]"
### Passo 4: Agora, vamos definir o que pode passar e o que nao ###
# Cadeia de Entrada
# LOCALHOST - ACEITA TODOS OS PACOTES
$ipt -A INPUT -i lo -j ACCEPT
#$ipt -A INPUT -i $ILAN -p tcp multiport 1863 -j ACCEPT
# PORTA $http - ACEITA PARA A REDE LOCAL
$ipt -A INPUT -i $ILAN -p tcp --dport $http -j ACCEPT
# PORTA 22 - ACEITA PARA A REDE LOCAL
$ipt -A INPUT -i $ILAN -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -i $ILAN -p tcp --dport 1392 -j ACCEPT
# No $ipt, temos de dizer quais sockets sao validos em uma conexao
$ipt -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
echo "Setando regras para INPUT ................[ OK ]"
iptables -A INPUT -p tcp -i eth1 -s 0.0.0.0 --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 -s 0.0.0.0 --dport 110 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Cadeia de Reenvio (FORWARD).
# Primeiro, ativar o mascaramento (nat).
$ipt -t nat -F POSTROUTING
$ipt -t nat -A POSTROUTING -o $IADSL -j MASQUERADE
echo "Ativando mascaramento de IP ..............[ OK ]"
## Redireciona para SQUID
$ipt -t nat -A PREROUTING -i $ILAN -p tcp -m multiport --dport 80,443,1863,25,110 -j REDIRECT --to-port 3128
$ipt -A INPUT -i eth0 -j ACCEPT
#$ipt -t nat -A PREROUTING -i $ILAN -p tcp --dport $https -j REDIRECT --to-port 3128
#serviço pop3
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 110 -j ACCEPT
#serviço smtp
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 25 -j ACCEPT
#serviço dns
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.1.0/24 --source-port 53 -j ACCEPT
# Agora dizemos quem e o que podem acessar externamente
# No $ipt, o controle do acesso a rede externa e feito na cadeia "FORWARD"
# Abre para a interface de loopback.
$ipt -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
# Abre para uma faixa de enderecos da rede local
$ipt -A INPUT -p tcp --syn -s $LAN -j ACCEPT
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# PORTA 3128 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport 3128 -j ACCEPT
# PORTA 53 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p udp --dport 53 -j ACCEPT
# PORTA 110 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport 110 -j ACCEPT
# PORTA 25 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport 25 -j ACCEPT
# PORTA 443 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport $https -j ACCEPT
# PORTA 21 - ACEITA PARA A REDE LOCAL
$ipt -A FORWARD -i $ILAN -p tcp --dport 21 -j ACCEPT
# porta msn
$ipt -A FORWARD -i $ILAN -p tcp --dport 1863 -j ACCEPT
# No $ipt, temos de dizer quais sockets sao validos em uma conexao
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
echo "Setando regras para FOWARD ...............[ OK ]"
# Apesar do padrao do forward ser bloqueio. Aqui a regra eh duplicada para gerar log,
# ou seja, tudo o que eh bloqueado por default no forward eh logado aqui
$ipt -A FORWARD -m limit --limit 2/m -j LOG --log-prefix "FORWARD: Bloqueio Padrao "
$ipt -A FORWARD -j DROP
# Finalmente: Habilitando o trafego IP, entre as Interfaces de rede
echo "1" > /proc/sys/net/ipv4/ip_forward
# Ignora qualquer pacote de entrada, vindo de qualquer endereco, a menos
# que especificado o contrario acima, Bloqueia tudo.
$ipt -A INPUT -p tcp --syn -j DROP
echo "Setando ip_foward: ON ....................[ OK ]"
echo "Firewall configurado com sucesso .........[ OK ]"
#REDIRECIONA TERMINAL SERVICE
#iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 3389 -i eth0 -j DNAT --to 192.168.1.253
#iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 3389 -i eth01 -j DNAT --to 192.168.1.253
## Terminal Server
#iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 3389 -j DNAT --to 192.168.1.249
#iptables -t nat -A POSTROUTING -d 192.168.1.249 -j SNAT --to 192.168.1.253
echo
}
firewall_restart() {
firewall_start
}
firewall_stop() {
echo "==========================================="
echo "| :: DESLIGANDO FIREWALL :: |"
echo "==========================================="
# Limpa as regras
$ipt -F INPUT
$ipt -F OUTPUT
$ipt -F FORWARD
echo "Limpando todas as regras .................[ OK ]"
}
case "$1" in
'start')
firewall_start
;;
'stop')
firewall_stop
;;
'restart')
firewall_restart
;;
*)
firewall_start
esac
abraços..