Erro Squid/Iptables - Porta 53

1. Erro Squid/Iptables - Porta 53

Munir Reda
munir_reda

(usa CentOS)

Enviado em 30/10/2015 - 15:32h

Fala pessoal segui um tutorial aqui do site:
http://www.vivaolinux.com.br/artigo/Controlando-2-links-de-internet-%28roteados%29-em-um-gateway-Lin... 


Estou conseguindo sair normalmente pelo dois links, o problema é que na maioria dos sites não esta carregando, facebook funciona google as vezes. Passei o nmap e a porta 53 está closed, segue o fw:

#!/bin/bash

clear

echo "------------ FIREWALL ------------"

## iptables
ipt=iptables
## link1
link1_iface=eth0 # interface do seu link1
link1_rede=10.0.0.0/255.255.255.0 # aqui você coloca sua rede, com máscara
link1_gw=10.0.0.253 # o gateway do seu link1
link1_ip_local=10.0.0.74 # o ip do seu server do link1
## link2
link2_iface=eth1 # interface do seu link2
link2_rede=10.0.0.0/255.255.255.0 # aqui você coloca sua rede, com máscara
link2_gw=10.0.0.253 # o gateway do seu link2
link2_ip_local=10.0.0.120 # o ip do seu server do link2
## rede local
lan_iface=eth2
lan_rede=192.168.0.0/255.255.255.0 # aqui você coloca sua rede com máscara
lan_gw=192.168.0.254 # aqui coloca o gw da rede local


# carregar módulos
echo "Carregando módulos..."
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_mangle
modprobe ip_nat_ftp
modprobe ip_nat_h323
modprobe ipt_limit
modprobe ipt_tos


# limpar regras
echo "Limpando regras antigas..."
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X


# ação padrão - dropar tudo
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT


# aceitar pacotes de retorno
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


# proteções
# anti-ip spoofing - desativar por causa do iproute2
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 0 > $f
done
fi
$ipt -A INPUT -i $link1_iface -s 192.168.0.0/255.255.255.0 -j DROP
$ipt -A INPUT -i $link2_iface -s 192.168.0.0/255.255.255.0 -j DROP
$ipt -A INPUT -i $link1_iface -s 172.0.0.0/255.0.0.0 -j DROP
$ipt -A INPUT -i $link2_iface -s 172.0.0.0/255.0.0.0 -j DROP
$ipt -A INPUT -i $link1_iface -s 10.0.0.0/255.255.255.0 -j DROP
$ipt -A INPUT -i $link2_iface -s 10.0.0.0/255.255.255.0 -j DROP


# ativando repasse de pacotes
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
echo 1 > /proc/sys/net/ipv4/ip_forward


# QoS
$ipt -I FORWARD -p tcp --tcp-flags SYN,RST SYN --dport 1863 -j TCPMSS --clamp-mss-to-pmtu
$ipt -I FORWARD -p tcp --tcp-flags SYN,RST SYN --dport 5190 -j TCPMSS --clamp-mss-to-pmtu
$ipt -I FORWARD -p tcp --tcp-flags SYN,RST SYN --dport 7001 -j TCPMSS --clamp-mss-to-pmtu


# liberar acesso interno
echo "Liberando acesso local..."
$ipt -A INPUT -i loopback -j ACCEPT
$ipt -A INPUT -s 127.0.0.1 -j ACCEPT
$ipt -A INPUT -s $link1_ip_local -j ACCEPT
$ipt -A INPUT -s $link2_ip_local -j ACCEPT


# serviços externos
echo "Liberando acesso aos serviços..."
# dns
$ipt -A INPUT -p tcp --dport 53 -j ACCEPT
$ipt -A INPUT -p udp --dport 53 -j ACCEPT
$ipt -A INPUT -p tcp --sport 53 -j ACCEPT
$ipt -A INPUT -p udp --sport 53 -j ACCEPT


# retorno proxy
$ipt -A INPUT -p tcp --dport 3128 --sport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 3128 --sport 8080 -j ACCEPT

# serviços internos
# coloque aqui para permitir acesso aos seus serviços internos
$ipt -A INPUT -i $lan_iface -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -i $lan_iface -p tcp --dport 53 -j ACCEPT
$ipt -A INPUT -i $lan_iface -p udp --dport 53 -j ACCEPT
$ipt -A INPUT -i $lan_iface -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -i $lan_iface -p tcp --dport 3128 -j ACCEPT


### rotas
# resetar tabelas de rotas
echo "255 local" > /etc/iproute2/rt_tables
echo "254 main" >> /etc/iproute2/rt_tables
echo "253 default" >> /etc/iproute2/rt_tables
echo "0 unspec" >> /etc/iproute2/rt_tables
echo "30 link1" >> /etc/iproute2/rt_tables
echo "31 link2" >> /etc/iproute2/rt_tables
# remover rotas padrão - se houver
ip route del default &> /dev/null
ip route del default &> /dev/null
ip route del default &> /dev/null
# remover tabelas
ip rule del lookup link1 &> /dev/null
ip rule del lookup link1 &> /dev/null
ip rule del lookup link1 &> /dev/null
ip rule del lookup link2 &> /dev/null
ip rule del lookup link2 &> /dev/null
ip rule del lookup link2 &> /dev/null

# adicionar rotas nas tabelas
# tabela link1
# remover regras
# detalhe antes de cat é uma crase "`" e não uma aspas simples
for ip in `cat /etc/ips.link1`
do
ip rule del from $ip &> /dev/null
done
ip rule del from $link1_ip_local &> /dev/null
# adicionar regras
# detalhe antes de cat é uma crase "`" e não uma aspas simples
for ip in `cat /etc/ips.link1`
do
ip rule add from $ip table link1 prio 30 &> /dev/null
done
ip rule add from $link1_ip_local table link1 prio 30
# adicionar rotas
ip route add $link1_ip_local via $link1_gw dev $link1_iface table link1
ip route add default via $link1_gw table link1

# tabela link2
# remover regras
# detalhe antes de cat é uma crase "`" e não uma aspas simples
for ip in `cat /etc/ips.link2`
do
ip rule del from $ip &> /dev/null
done
ip rule del from $link2_ip_local &> /dev/null
# adicionar regras
# detalhe antes de cat é uma crase "`" e não uma aspas simples
for ip in `cat /etc/ips.link2`
do
ip rule add from $ip table link2 prio 30 &> /dev/null
done
ip rule add from $link2_ip_local table link2 prio 30
# adicionar rotas
ip route add $link2_ip_local via $link2_gw dev $link2_iface table link2
ip route add default via $link2_gw table link2

# aplicar mudanças no iproute
ip route flush cache


# liberando acesso clientes
echo -n "Liberando acesso para clientes..."
# clientes link1
for ip in `cat /etc/ips.link1`
do

# liberação de FORWARD
$ipt -A FORWARD -s $ip -j ACCEPT

# marcar pacotes para gráfico de consumo de banda
$ipt -t mangle -A PREROUTING -s $ip -j ACCEPT # down
$ipt -t mangle -A POSTROUTING -d $ip -j ACCEPT # up

# mascaramento - radio uol
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.221.5.71 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.221.8.74 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.221.8.75 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.221.8.118 -j ACCEPT

# nat caixa econômica federal (conectividade)
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.201.0.0/16 --dport 80 -j ACCEPT

# redirecionamento para o proxy
$ipt -t nat -A PREROUTING -p tcp -s $ip --dport 80 -j REDIRECT --to-port 3128
$ipt -t nat -A PREROUTING -p tcp -s $ip --dport 8080 -j REDIRECT --to-port 3128

$ipt -t nat -A POSTROUTING -s $ip -d 0/0 -j SNAT --to $link1_ip_local

echo -n "."

done
# clientes link2
for ip in `cat /etc/ips.link2`
do

# liberação de FORWARD
$ipt -A FORWARD -s $ip -j ACCEPT

# marcar pacotes para gráfico de consumo de banda
$ipt -t mangle -A PREROUTING -s $ip -j ACCEPT # down
$ipt -t mangle -A POSTROUTING -d $ip -j ACCEPT # up

# mascaramento - radio uol
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.221.5.71 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.221.8.74 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.221.8.75 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.221.8.118 -j ACCEPT

# nat caixa econômica federal (conectividade)
$ipt -t nat -A PREROUTING -p tcp -s $ip -d 200.201.0.0/16 --dport 80 -j ACCEPT

# redirecionamento para o proxy
$ipt -t nat -A PREROUTING -p tcp -s $ip --dport 80 -j REDIRECT --to-port 3128
$ipt -t nat -A PREROUTING -p tcp -s $ip --dport 8080 -j REDIRECT --to-port 3128

$ipt -t nat -A POSTROUTING -s $ip -d 0/0 -j SNAT --to $link2_ip_local

echo -n "."

done
echo ""
echo "----------------------------------"


Alguém tem uma luz?



  


2. Re: Erro Squid/Iptables - Porta 53

Munir Reda
munir_reda

(usa CentOS)

Enviado em 30/10/2015 - 15:53h

Segue log do cache.log do squid.

2015/10/30 15:15:03| comm_udp_sendto: FD 8, (family=2) 208.67.222.222:53: (101) Network is unreachable
2015/10/30 15:15:03| idnsSendQuery: FD 8: sendto: (101) Network is unreachable
2015/10/30 15:15:03| comm_udp_sendto: FD 8, (family=2) 208.67.220.220:53: (101) Network is unreachable
2015/10/30 15:15:03| idnsSendQuery: FD 8: sendto: (101) Network is unreachable







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts