+ Responder ao Tópico



  1. #1
    Joker
    Visitante

    Padrão Iptables - Redirecionamento interno

    Tenho um servidor com squid, sarg e no-ip, utilizando o iptables como firewall. O no-ip resolve um dominio x na placa de rede externa, quando tento acessar uma página web que utiliza a porta 443 nesse dominio de dentro da minha estrutura ou seja, com a requisição chegando da placa de rede interna não tenho acesso.

    Como deveria se minha regra no iptables para que sempre que houver uma requisição ao dominio x vindo de um computador interno esse pacote seja redirecionado para o servidor interno?

  2. #2

    Padrão

    Citação Postado originalmente por Joker Ver Post
    Tenho um servidor com squid, sarg e no-ip, utilizando o iptables como firewall. O no-ip resolve um dominio x na placa de rede externa, quando tento acessar uma página web que utiliza a porta 443 nesse dominio de dentro da minha estrutura ou seja, com a requisição chegando da placa de rede interna não tenho acesso.

    Como deveria se minha regra no iptables para que sempre que houver uma requisição ao dominio x vindo de um computador interno esse pacote seja redirecionado para o servidor interno?

    esta aqui de barbada..

    iptables -t nat -I PREROUTING -d disneylandia.net -p tcp -m multiport --dports 80,443 -j DNAT --to-dest 192.168.0.1

  3. #3

    Padrão

    Já utilizei essa regra. Quando tento acessar o endereço https://dominio/owa sem a regra aparece o erro: "Essa página web não está disponível". Quando aplico a regra aparece: "Recarrege essa página web posteriormente". Estou tentando acessar pelo Google Chrome.

    Tenho que colocar funcionando internamente porque causa de dispositivos móveis que acessam tanto via wireless interno quando pela internet.

  4. #4

    Padrão

    bom... aqui o meu servidor web fica na mesma rede que as demais máquinas... firewall 192.168.1.1, web 192.168.1.2 e máquinas 192.168.1.X.

    para quem acessa da internet existe uma regra de prerouting para direcionar para o meu servidor web, agora para quem acessa da rede interna não tem essa regra, o que fiz foi criar um dns interno que responde o servidor com o ip 192.168.1.2 e não com o ip fixo (real) que outros usam para acessar via internet.

    no caso aqui tenho 2 servidores dns, um para responder pelo domínio e outro para responder internamente. Consultas vindo da web usam o primeiro servidor.

    []s

  5. #5

    Padrão

    Nao sei se entendi direito o seu problemas...

    mas pelo o que intendi, vc esta tentando acessar um site ssl da internet...como vc esta dentro da sua estrutura, a sua solicitação está passando pelo proxy (squid).

    verifique se no seu squid tem as seguintes ACLS que liberam os acessos a sites ssl (443):

    #/etc/squid/squid.conf

    acl SSL_ports port 443
    http_access deny CONNECT !SSL_ports

    # FIM

    Essas duas linhas devem estar logo no inicio das suas declarações de ACLs.

    Essas linhas fazem com que o squid bloqueio todas as portas SSL (padrão) exceto a porta 443.

    Se entendi o seu problema direito, essa é a sua solução

    poste o resultado

  6. #6

    Padrão

    Amigo, tenta assim

    iptables -t nat -I PREROUTING -i $IF_LAN -d $DOMINIO_X -p tcp -m multiport --dports 80,443 -j REDIRECT

    Porem, como estamos nos retratando de um dominio dinamico, sugiro que voce coloque seu script de firewall para rodar de tempos em tempos

    Grato

  7. #7

    Padrão Re: Iptables - Redirecionamento interno

    Pessoal,

    tenho quase o mesmo problema.

    Tenho um endereço da INTERNET feito no DYNDNS que direciona para um servidor de minha empresa que é meu proxy (sem as regras abaixo entra no servidor), porém, preciso que esse endereço seja redirecionado para outro servidor INTERNO na porta 2222.

    Veja o que já tentei :

    iptables -t nat -I PREROUTING -d meuendereco.dnsalias.com -p tcp -m multiport --dports 80,443 -j DNAT --to-dest xx.xx.xxx.xx:2222

    e também :

    iptables -t nat -I PREROUTING -i meuendereco.dnsalias.com -p tcp -m multiport --dports 80,443 -j REDIRECT --to xx.xx.xxx.xx

    Mas ela sempre dá erro.

    Alguma idéia?

    Abraços

    André Lima

  8. #8

    Padrão Re: Iptables - Redirecionamento interno

    simples:
    Considerando que sua interface que recebe a conexão externa seja eth0, a regra segue abaixo:

    Código :
    iptables -t nat -I PREROUTING -i eth0 -p tcp -m multiport --dports 80,443 -j DNAT --to xx.xx.xxx.xx

  9. #9

    Padrão Re: Iptables - Redirecionamento interno

    Obrigado amigo, mas acho que você não expliquei muito bem.

    O que acontece e que o meu servidor de entrada é para onde o dyndns meuendereco.dyndns.com aponta ou digamos servidor 201.84.126.87, só que quando entro nesse servidor, ele deverá apontar para outro servidor da rede interna ou seja por ex.: 10.84.158.75, mas somente ESSE endereço porque ela fará uma chamada de um aplicativo. Não posso redirecionar todo o conteúdo da porta 80, 443 para outro servidor, mas somente nesse endereço especifico.

    Abraços

    André Lima

  10. #10

    Padrão Re: Iptables - Redirecionamento interno

    André, eu acho que eu estou entendo seu problema, se eu estiver errado, me explique novamente.

    Voce tem um servidor que esta conectado a apenas 01 internet por uma interface de rede. E tem tambem outra interface de rede que esta para o seu switch. Ambas com somente 01 ip. (situação mais comum)

    Nessa situação, ainda tem 02 casos para a sua interface de rede que esta com internet:
    - Essa interface ter um ip não valido atras de um routeador ou modem adsl
    - Essa interface ter um ip valido, concedido apos uma autenticação ppp.

    1º caso:
    A regra a ser utilizada seria essa:
    Código :
    iptables -t nat -I PREROUTING -i eth0 -d [COLOR=red]10.1.1.2[/COLOR] -p tcp -m multiport --dports 80,443 -j DNAT --to 192.168.0.50

    2º caso:
    A regra a ser utilizada seria essa:
    Código :
    iptables -t nat -I PREROUTING -i eth0 -d [COLOR=red]200.200.200.200[/COLOR] -p tcp -m multiport --dports 80,443 -j DNAT --to 192.168.0.50

    Agora vamos ao detalhamento do dyndns:
    O simples fato de voce criar um dyndns seria simplesmente para voce identificar o seu ip dinamico após a troca de ip. Porem, ao chegar no firewall, o pacote nao vem descrito o endereço dyndns no seu destino, e sim, o seu endereço de ip.

    No momento onde um cliente (fora de sua rede), tenta acessar o serviço (ex.: web) utilizando o seu endereço de dyndns, o navegador troca o endereço dyndns pelo endereço de ip atual, e envia o pacote solicitando o site.

    Já vi casos (inclusive eu ja fiz isso) de que a pessoa cria 2 endereços dyndns diferentes apontando para um mesmo destino, um firewall. Quando chega no firewall, ele quer que venha as solicitações feitas pelo dydns_01 sejam encaminhadas para o servidor_web_01. E quando vem do dyndns_02, sejam encaminhadas para o servidor_web_02. Isso não é possivel como falei acima, o pacote chega ao firewall sem o endereço.

    Obs.: Voce pode até colocar o endereço dyndns no parametro -d (em vermelho acima). Porem, da mesma forma, o iptables irá resolver o endereço dyndns com o dns e irá aplicar na regra o endereço que ele obtiver de resposta

    Para mim resolver o problema do meus sites (citado acima), eu criei virtualhosts no meu apache.

    Espero ter ajudado.

  11. #11

    Padrão Re: Iptables - Redirecionamento interno

    Ok, obrigado pela ajuda.

    Estou tentando e ver se dá certo.

    Abraços

    André Lima