Problema com Redirect + proxy
Pessoal,
estou com um problema e não sei como resolver o mesmo.
Meu iptables está com ip válido exemplo no firewall 200.300.400.500 e o gateway é 10.11.10.1 o meu dns esta em 10.11.10.3. Quando eu deixo como drop o FORWARD não consigo mais navegar.
Como arrumar isso.
Veja bem: Saindo requisicao de 200.300.400.500 com destino a porta 80
sendo que o DNS esta em 10.11.10.3. e o PROXY ?
# Limpando as Regras
$IPT -t filter -F
$IPT -t filter -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
# Politica
$IPT -t filter -P INPUT DROP
$IPT -t filter -P FORWARD DROP
$IPT -t filter -P OUTPUT ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
# Liberando Loopback
$IPT -t filter -A INPUT -i lo -j ACCEPT
$IPT -t filter -A INPUT -s $LAN_RANGE -j ACCEPT
# Compartilhando a Conexao
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -t nat -A POSTROUTING -o $NET_IFACE -j MASQUERADE
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Estabelecidas / Reincidentes / Invalid
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
$IPT -A INPUT -m state --state UNTRACKED -j DROP
$IPT -A FORWARD -m state --state UNTRACKED -j DROP
# Roteia DNS
$IPT -t nat -A PREROUTING -t nat -p tcp -d 200.300.400.500 --dport 53 -j DNAT --to 10.11.10.3
$IPT -t nat -A PREROUTING -t nat -p udp -d 200.300.400.500 --dport 53 -j DNAT --to 10.11.10.3
$IPT -t nat -A PREROUTING -t nat -p tcp -d 200.300.400.500 --dport 953 -j DNAT --to 10.11.10.3
$IPT -t nat -A PREROUTING -t nat -p udp -d 200.300.400.500 --dport 953 -j DNAT --to 10.11.10.3
# Repassando solicitacoes ao Apache
$IPT -t nat -A PREROUTING -p tcp -i eth0 -d 200.300.400.500 --dport 80 -j DNAT --to-destination 10.11.10.3
$IPT -A FORWARD -p udp -i eth0 --dport 80 -d 10.11.10.3 -j ACCEPT
$IPT -A FORWARD -p tcp -i eth0 --dport 80 -d 10.11.10.3 -j ACCEPT
# Ativar o mascaramento (nat).
$IPT -t nat -A POSTROUTING -d 0/0 -j MASQUERADE
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Ativando Proxy
$IPT -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -s $LAN_RANGE -j REDIRECT --to-port 3128
Re: Problema com Redirect + proxy
isso é porque voce nao tem nenhuma regra como:
iptables -A FORWARD -s 10.11.10.0/24 -p tcp --dport 80 -j ACCEPT
é por isso que o transparente nao funciona, voce so ta liberando a conexao na porta 80 tcp/udp (sendo que udp é desnecessario) para o ip do proxy. no transparante ele conecta (ele pensa que...) diretamente na internet ai seu fw nao deixa passar. easy essa :)
ahh gostei do exemplo do ip do fw .. 200.300 .. (maldade com o octeto, "estambalhaste o brinquedo" do octecto hehe)
Re: Problema com Redirect + proxy
Quanto ao octeto é porque um dia eu coloquei como ex. 200.201.202.203 e um cara mi mando uma MP, para não colocar o IP da minha rede kkkkkk.
Bom, mais duvidas.
Eu tinha add antes de ler a sua resposta ao Forum, so que mesmo assim não está navegando.
O que eu fiz
iptables -A FORWARD -s $LAN_RANGE -j ACCEPT
só que assim fica muito aberto. Ou seja, todo mundo vai poder fazer a festa na rede sendo oposto do que o dono quer.
A ordem em que eu deixei as regras está certo ao seu modo de ver ?
De qualquer forma, obrigado pela resposta.
Re: Problema com Redirect + proxy
Sim as regras estao ok :)
bom nao fica aberto nao se voce especificar que so vai deixar passar a 80 nessa parte do FORWARD...e porque nao navega? onde para exatamente? na resolucao de nomes? no request? a ideia de por aberto no forward para a lan era para ver se funciona porque vem ou mal, nao existe muita diferenca entre por:
iptables -P FORWARD ACCEPT
e por
iptables -P FORWARD DROP
iptables -A FORWARD -s $LAN_RANGE -j ACCEPT
Bom entretanto RELENDO suas regras, o seu proxy nao esta na mesma maquina que o firewall né? tem que fazer um DNAT para lá entao. e um REDIRECT na maquina do proxy, sacou?
-j REDIRECT so redireciona as portas internamente, essas eh uma das grandes diferentes entre port forwarding e redirectors.
Verifica isso e da um retorno
Re: Problema com Redirect + proxy
Esta sim,
O firewall está com o proxy ou seja 10.11.10.1
e o Dns + qmail estao na 10.11.10.3
quando eu especifico --dport 80 ele num vai. Fica processando e não vai.
Agora quando eu nao informo a porta so falo que é ACCEPT navega e passa pelo squid, porque o log esta correndo.