+ Responder ao Tópico



  1. #1

    Post DMZ no ubuntu 11.04 com iptables

    Olá,
    Trabalho em uma empresa que gerencia acesso a internet e tenho uma necessidade que ainda não consegui sanar.
    O cliente (shopping) vende acesso a internet para suas lojas, até ai nada demais, o problema é que algumas lojas têm serviços pela internet (sites/email/...) e por isso foram fornecidos ips publicos. Agora preciso colocar um servidor linux que entregue ips privados sem que as lojas percam os seus serviços online.
    A minha ideia é a loja receber um ip privado (10.10.10.0/24) e o servidor redirecionar os pacotes de um ip valido para esse ip privado.

    A grande dificuldade é fazer com que os ips usados pelas lojas sejam colocados no linux e possam direcionar para cada loja correspondente.
    ips usados hoje:
    loja 1: 200.200.200.2
    loja 2: 200.200.200.3
    loja 3: 200.200.200.4
    loja 4: 200.200.200.5
    Exemplo: Com uma interface virtual na interface do link, usaria algumas regras que redirecionassem todas as requisições com destino a interface virtual para o ip privado da loja 1, ou seja, o servidor linux terá na sua placa de rede ligada no link o ip 200.200.200.1 e quando receber requisições para o ip 200.200.200.2 direcionar para o ip privado da loja 1.

    Não consegui montar um conjunto de regras que eu consiga fazer isso. Abaixo algumas regras que eu tentei.
    informando que a primeira regra do firewall é drop para tudo.

    iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t nat -I PREROUTING -i eth0:1 -j DNAT -to 10.10.10.154
    iptables -t nat -I PREROUTING -i eth0:1 -d 10.10.10.154 -j ACCEPT
    iptables -t nat -I PREROUTING -i eth0:1 -p tcp REDIRECT -to 10.10.10.154
    iptables -I PREROUTING -t nat -d 10.10.10.154 -j RETURN
    iptables -I FORWARD -d 10.10.10.154 -j ACCEPT

    Alguém pode me guiar para eu resolver isso?

  2. #2

    Cool Re: DMZ no ubuntu 11.04 com iptables

    Citação Postado originalmente por eduoliv Ver Post
    Não consegui montar um conjunto de regras que eu consiga fazer isso. Abaixo algumas regras que eu tentei.
    informando que a primeira regra do firewall é drop para tudo.

    iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t nat -I PREROUTING -i eth0:1 -j DNAT -to 10.10.10.154
    iptables -t nat -I PREROUTING -i eth0:1 -d 10.10.10.154 -j ACCEPT
    iptables -t nat -I PREROUTING -i eth0:1 -p tcp REDIRECT -to 10.10.10.154
    iptables -I PREROUTING -t nat -d 10.10.10.154 -j RETURN
    iptables -I FORWARD -d 10.10.10.154 -j ACCEPT

    Alguém pode me guiar para eu resolver isso?


    Vamos do começo...

    1 - O iptables é "top-Down", ou seja, ele lê as regras de cima para baixo. Se a primeira regra do seu firewall faz drop em tudo, ele desconsidera tudo que vem abaixo;

    2 - a tabela "Nat" não é local para regras com "ACCEPT", estas devem ficar na tabela "filter".

    3 - organize suas regras em um arquivo, de forma lógica e ordenada. Agrupe as regras que tratm de um mesmo "problema".

    Você está no caminho certo, só colocando as coisas nos lugares errados...

  3. #3

    Padrão Re: DMZ no ubuntu 11.04 com iptables

    Esquentei um pouco a cabeça mas consegui resolver com...
    iptables -t nat -I PREROUTING -d 200.200.200.2 -p tcp -j DNAT --to 10.10.10.154

    Posso ter feito uma coisa simples... mas to me sentindo "o cara"...

  4. #4

    Thumbs up Re: DMZ no ubuntu 11.04 com iptables

    Citação Postado originalmente por eduoliv Ver Post
    Esquentei um pouco a cabeça mas consegui resolver com...
    iptables -t nat -I PREROUTING -d 200.200.200.2 -p tcp -j DNAT --to 10.10.10.154

    Posso ter feito uma coisa simples... mas to me sentindo "o cara"...
    É exatamente isso. E agora você consegue controlar o fluxo de dados (liberações e bloqueios) através da tabela filter, com regras de FORWARD.

    Parabéns!

  5. #5

    Padrão Re: DMZ no ubuntu 11.04 com iptables

    continuando com a situação... preciso que o pacote que chegou pelo ip 200.200.200.2 (interface virtual) e foi direcionado para 10.10.10.154 volte para o destino com o endereço de ip 200.200.200.2 no cabeçalho e não o ip que que está no router (200.200.200.1).

    Isso é necessário pois o cliente que acessa um noip ou meuip.com.br veja no ip de saída o que é direcionado para ele.

    Não encontrei regra onde eu possa especificar o ip que deve ser colocado quando mascarar...

    Alguém pode me guiar para eu encontrar a solução?

  6. #6

    Lightbulb Re: DMZ no ubuntu 11.04 com iptables

    Faz tempo que não mecho com iptables então pode estar errado... mas não custa tentar...
    Como vc fez DNAT ( Destination NAT ) para o endereço local ( 10.10.... ) eu acredito que fazendo SNAT para o IP-externo funcione... rs mas não tenho certeza... me corrijam os mais experientes em iptables ae...

    ex.:
    Código :
    iptables -t nat -I POSTROUTING -s 10.10.10.154 -p tcp -j SNAT --to 200.200.200.2

    Att.