Liberar um site no iptables. [RESOLVIDO]

1. Liberar um site no iptables. [RESOLVIDO]

Idalmo Junior
calaff2

(usa CentOS)

Enviado em 18/08/2009 - 08:37h

Bom dia galera do vol!

Gostaria de saber como liberar um site para não passar pelo o proxy.

Att: Idalmo Junior


  


2. MELHOR RESPOSTA

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 18/08/2009 - 10:47h

Suponho que tenhas uma regra no iptables semelhante a esta, certo?

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to 3128

Seria a regra do proxy transparente, que captura a porta 80 e a joga na 3128. Ou isto ou algo semelhante, jogando para outra máquina.

Suponho também que detalhes de roteamento e DNS estejam 100% resolvidos, ou seja, se a regra acima for COMENTADA, todos continuam navegando perfeitamente, porém não via proxy.

Então, se entendi bem, o que queres é que para determinado DESTINO não se aplique a regra de proxy. Tipo, um cliente acessando www.vivaolinux.com.br passe DIRETO, sem proxy. É isto?

Sendo APENAS UM IP DE DESTINO, a regra pode ser assim:
vivaolinux.com.br => 76.74.248.57

iptables -t nat -A PREROUTING -i eth0 -d ! 76.74.248.57 -p tcp --dport 80 -j REDIRECT --to 3128

Ou seja, ela não é aplicada para ip destino do VOL. Mas se quer mais de um destino, ai complica um pouco, pois o -d só permite um ip ou um IP/Mascara. AI tens que criar uma lista para isto:

# Cria a lista
iptables -t nat -N PROXY

# desvia tudo que for porta 80 para a lista PROXY
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j PROXY

# Agora na lista proxy:
# para cada IP que se deseja PULAR o proxy,
# uma regra como esta a seguir:
iptables -t nat -A PROXY -d 76.74.248.57 -j RETURN
...

# No fim, a regra que desvia
iptables -t nat -A PROXY -p tcp --dport 80 -j REDIRECT --to 3128

Se eu ENTENDI o que tu quer, seria isto.

Senão, mande mais detalhes;

[]'s

3. Proxy

Filippe
spolti

(usa Fedora)

Enviado em 18/08/2009 - 09:12h

Amigo, deixa eu ver se entendi, você que liberar um site para não passar pelo proxy.... bloquear o site certo?
Neste caso você tera que usar o Squid, por que até onde sei o iptables não trabalha com o bloqueio de url, e bloquear a porta, provavelmente a 80, você bloqueara o acesso a internet de qualquer máquina que passe pelo firewall.

Abraços


4. Iptables

Idalmo Junior
calaff2

(usa CentOS)

Enviado em 18/08/2009 - 10:19h

Meu squid ta rodando perfeitamente so que tem um site que não abre de forma alguma . O que gostaria de fazer é o seguinte:

colocar uma regra no iptables , para que esse site não seja redirecionando parao squid.


5. Iptables

Thiago Roberth
throberth

(usa CentOS)

Enviado em 18/08/2009 - 10:41h

Um exemplo de conectividade social da CEF


ip_ext="200.999.999.999"
Caixa="200.201.173.0/24 200.201.174.0/24" ## IPs Caixa Economica Federal

for DIRECT in $Caixa; do
$IPTABLES -t nat -A PREROUTING -d $DIRECT -p tcp -m tcp --dport 80 -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -d $DIRECT -j SNAT --to-source $ip_ext
done


Este exemplo foi realizado com IPs mas pode ser realizado por dominios.



6. Re: Liberar um site no iptables. [RESOLVIDO]

Joab
joabpj

(usa Slackware)

Enviado em 18/08/2009 - 10:54h

Elgio,

Essa lista q vc falow, ela é feita dentro do IPTABLES , ou um arquivo separado fazendo referência a ele nas regras do IPTABLES??


7. Re: Liberar um site no iptables. [RESOLVIDO]

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 18/08/2009 - 10:57h

DENTRO!

A regra
iptables -t nat -N PROXY

Cria uma nova lista de nome PROXY, atrelada a tabela nat.

A regra

iptables -t nat -A PREROUTING -t tcp --dport 80 -j PROXY

determina que todos os pacotes que casem com a regra (sejam porta 80 TCP) sejam avaliadas pela lista de nome PROXY.

A regra
iptables -t nat -A PROXY -d www.vivaolinux.com.br -j RETURN

determina que todos os pacotes que casem voltem para a lista anterior, a nat a fim de continuarem a avaliação pelas demais regras que lá existirem;


8. Re: Liberar um site no iptables. [RESOLVIDO]

Joab
joabpj

(usa Slackware)

Enviado em 18/08/2009 - 11:23h

Elgio,

Não se posso postar esse assunto aki, mas continuando no raciocinio anterior; fiz um servidor de controle de tráfego de internet, para bloquear todos os sites e liberar só um, deu tudo certo. Mas tem três páginas do site q quando vou acessar dá "erro socket #11004".
Concluindo: Vc sabe pq esse erro? Pelo q li é DNS
Se eu fizer essa lista q vc comentou anteriormente, vc acha q funciona??


9. Re: Liberar um site no iptables. [RESOLVIDO]

Raoni Dore
dvs

(usa Debian)

Enviado em 05/01/2016 - 18:15h

elgio escreveu:

Suponho que tenhas uma regra no iptables semelhante a esta, certo?

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to 3128

Seria a regra do proxy transparente, que captura a porta 80 e a joga na 3128. Ou isto ou algo semelhante, jogando para outra máquina.

Suponho também que detalhes de roteamento e DNS estejam 100% resolvidos, ou seja, se a regra acima for COMENTADA, todos continuam navegando perfeitamente, porém não via proxy.

Então, se entendi bem, o que queres é que para determinado DESTINO não se aplique a regra de proxy. Tipo, um cliente acessando www.vivaolinux.com.br passe DIRETO, sem proxy. É isto?

Sendo APENAS UM IP DE DESTINO, a regra pode ser assim:
vivaolinux.com.br => 76.74.248.57

iptables -t nat -A PREROUTING -i eth0 -d ! 76.74.248.57 -p tcp --dport 80 -j REDIRECT --to 3128

Ou seja, ela não é aplicada para ip destino do VOL. Mas se quer mais de um destino, ai complica um pouco, pois o -d só permite um ip ou um IP/Mascara. AI tens que criar uma lista para isto:

# Cria a lista
iptables -t nat -N PROXY

# desvia tudo que for porta 80 para a lista PROXY
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j PROXY

# Agora na lista proxy:
# para cada IP que se deseja PULAR o proxy,
# uma regra como esta a seguir:
iptables -t nat -A PROXY -d 76.74.248.57 -j RETURN
...

# No fim, a regra que desvia
iptables -t nat -A PROXY -p tcp --dport 80 -j REDIRECT --to 3128

Se eu ENTENDI o que tu quer, seria isto.

Senão, mande mais detalhes;

[]'s


Obrigado! Isso me ajudou muito!

A minha regra ficou assim:

############################################
# Passando ips da Unimed por tras do proxy #
############################################
iptables -t nat -N PROXY
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j PROXY
iptables -t nat -A PROXY -d 201.73.134.32 -j RETURN
iptables -t nat -A PROXY -d 201.73.134.33 -j RETURN
iptables -t nat -A PROXY -d 201.73.134.34 -j RETURN
iptables -t nat -A PROXY -d 201.73.134.35 -j RETURN
iptables -t nat -A PROXY -p tcp --dport 80 -j REDIRECT --to 3128
#

Esta certa ? Aparentemente funcionou!

Entretanto eles usam também a porta 8081, devo fazer um --dport 8081 ?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts