Problema ao passar IP fora do proxy [RESOLVIDO]

1. Problema ao passar IP fora do proxy [RESOLVIDO]

Silas Matos
silasmg

(usa Debian)

Enviado em 10/08/2010 - 16:09h

Quando configuro o iptables para passar um IP fora do proxy ele redireciona para o index do apache2.

SQUID Transparente, segue o meu script:

#!/bin/sh
# ------------------------------------------------------------------------------------
# Firewall criado sem fins lucrativos, por favor, mantenha os créditos.
# (c) 2010, www.SilasMatos.com under GNU/GPL v2.0+
# -------------------------------------------------------------------------------------

# IP do servidor SQUID
SQUID_SERVER="192.168.1.1"
# Interface que se conecta com a internet
INTERNET="ppp0"
# Interface da rede local
LAN_IN="eth0"
# Porta do SQUID
SQUID_PORT="3128"

# NÃO MODIFIQUE AS LINHAS ABAIXO:
# LIMPAR FIREWALL
iptables -F
iptables -X
iptables -X -t filter
iptables -F -t filter
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# CARREGAR MÓDULOS PARA NAT E SUPORTE PARA IP CONTRACK
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe iptable_nat
# COMPARTILHAMENTO DE INTERNET.
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# DEFINIR POLITICAS DE ACESSO
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# ACESSO ILIMITADO AO LOOPBACK
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# PERMITIR UDP, DNS E FTP PASSIVO
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# DEFINIR ESTE SISTEMA COMO O ROTEADOR PADRÃO PARA O RESTO DA LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# ACESSO ILIMITADO PELA LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT

#LIBERA IP ESPECIFICO PARA QUALQUER SITE
iptables -t nat -I PREROUTING -i $LAN_IN -p tcp -s 192.168.1.2 -m multiport --dports 80,443 -j ACCEPT
# LIBERA IP ESPECIFICO PARA SITE ESPECIFICO
iptables -I FORWARD -d www.orkut.com.br -s 192.168.1.2 -p tcp --dport 80 -j ACCEPT

# DNAT PARA A PORTA 80 SOLICITADA PELA LAN PARA A PORTA DO SQUID 3128 ($SQUID_PORT) PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
# SE FOR DO MESMO SISTEMA
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port 80

# LIBERAÇÃO DE PORTAS
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 5900 -j ACCEPT
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT

# REJEITAR O RESTO E CRIAR LOG
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP



  


2. esclareça-nos..

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 10/08/2010 - 16:21h

# DNAT PARA A PORTA 80 SOLICITADA PELA LAN PARA A PORTA DO SQUID 3128 ($SQUID_PORT) PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

o server NÃO ESTÁ na mesma máquina? se for outra máquina, a regra está errada. Se for na mesma máquina, a regra TAMBÉM está errada.

# SE FOR DO MESMO SISTEMA
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port 80

se vc NÃO redirecionar para a porta 80 vai acessar diretamente na porta 80.. e (pelo que estou vendo) é acesso externo (-i $INTERNET); qual era sua intenção aqui?


e, finalmente, defina:

"Quando configuro o iptables para passar um IP fora do proxy ele redireciona para o index do apache2."

COMO vc configurou? (ponha a regra aqui).







3. Re: Problema ao passar IP fora do proxy [RESOLVIDO]

Silas Matos
silasmg

(usa Debian)

Enviado em 10/08/2010 - 16:35h

iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

Esta foi a unica maneira que o squid funcionou de forma transparente.
O server está na mesma máquina, é apenas um servidor (squid, firewall, apache) tudo na mesma maquina em uma rede cheia de estações

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

Essa parte apenas deixei como veio no script pronto, já removi esta regra e não fez diferença nenhuma

######Segue abaixo a regra que coloquei para passar o IP fora do proxy:

#LIBERA IP ESPECIFICO PARA QUALQUER SITE
iptables -t nat -I PREROUTING -i $LAN_IN -p tcp -s 192.168.1.2 -m multiport --dports 80,443 -j ACCEPT
# LIBERA IP ESPECIFICO PARA SITE ESPECIFICO
iptables -I FORWARD -d www.orkut.com.br -s 192.168.1.2 -p tcp --dport 80 -j ACCEPT

Se eu quiser liberar qualquer site deixo a segunda regra comentada #, caso quero liberar apenas um site deixo a primeira regra comentada.

Na primeira regra, todos os sites redirecionam para o index do apache
Na segunda regra, o IP navega normal nos outros sites, menos para o que foi definido, ele redireciona para o index do apache



##################UPDATE


RESOLVIDO:
Adicionei apenas uma regra, e removi a regra sem sentido:

iptables -t nat -I PREROUTING -i $LAN_IN -p tcp -s 192.168.1.2 -d www.orkut.com.br -m multiport --dports 80,443 -j ACCEPT

Agora passa tranquilamente

removida:
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port 80

Caso ainda queira me ajudar a melhorar a regra de redirecionamento da porta 80 para 3128 eu agradeço.


4. Re: Problema ao passar IP fora do proxy [RESOLVIDO]

irado furioso com tudo
irado

(usa XUbuntu)

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

esta regra é funcional:

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








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts