+ Responder ao Tópico



  1. #1

    Padrão Problemas com Firewall

    Bom dia para todos..
    Estou tentando montar um firewall (iptables) onde trabalho, estou aprendendo, e estou tendo dificuldades.
    O serviço que estou precisando é um redirecionamento de um acesso ao firewall na porta 80, para a porta 80 de um servidor com Apache rodando (escutando a porta 80)
    Já olhei em varios topicos, mas não consigo fazer o redirecionamento.

    Ativo o ip_forward

    modprobe iptable_nat
    iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward

    Logo após essa regra, tento o redirecionamento

    iptables -t nat -A PREROUTING -i eth2 (interface externa) -p tcp --dport 80 -j DNAT --to 172.XXX.XXX.XXX:80

    Pelo que entendi, essa linha de comando iria redirecionar para meu servidor o que entrasse pela eth2 destinado à porta 80, mas isso não está acontecendo!



    Espero que me ajudem...
    Já faz um tempo que estou tendo esse problema...

    Obrigado.
    Última edição por kjeldorano; 22-07-2008 às 13:29.

  2. #2

    Padrão

    Como é que estão as políticas padrão do seu iptables?

    Como está a tabela de roteamento do seu firewall? Qual é o gateway padrão da sua rede?

    Existe mais alguma regra no seu iptables?

  3. #3

    Padrão

    Bom, acho que ficou meio confuso minha pergunta
    Vou falar mais um pouco como estou tentando fazer esse firewall
    A maquina firewall possui 3 interfaces de rede, eth0 para rede interna, eth1 para o servidor de web e eth2 para internet
    As politicas estão assim: INPUT DROP, FORWARD ACCEPT, OUTPUT ACCEPT
    Tentei deixar a politica FORWARD DROP, mas ai não consigo acessar internet pela rede interna nem pelo servidor web.

    Tenho as seguintes regras no meu firewall
    iptables -A FORWARD -s $IP_SWEB -d $IP_INT -j ACCEPT
    iptables -A FORWARD -d $IP_SWEB -s $IP_INT -j ACCEPT

    iptables -A FORWARD -d $IP_SWEB -p tcp --dport 80 -j ACCEPT
    iptables -A FORWARD -s $IP_SWEB -p tcp --sport 80 -j ACCEPT

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -i eth2 -m multiport -p tcp --dport ! 80,443 -j DROP

    Regras de roteamento:
    iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

    iptables -t nat -A PREROUTING -s $IP_EXT -p tcp --dport 80 -j DNAT --to $IP_SWEB
    iptables -t nat -A POSTROUTING -s $IP_SWEB -j SNAT --to $IP_EXT

    Acho que essas são as regras mais importantes as outras são só de proteção contra ping ping of death e regras para acesso da Rede interna para o Servidor Web

    Obrigado pela ajuda....

  4. #4

    Padrão

    Seu problema está na seguinte regra:

    Código :
    iptables -t nat -A PREROUTING -s $IP_EXT -p tcp --dport 80 -j DNAT --to $IP_SWEB

    ele só vai redirecionar para o servidor web o que vier do IP_EXT, ou seja, nada! Troca o -s para -d que deve funcionar.

  5. #5

    Padrão

    Valeu pela dica, funcionou sim, o redirecionamento ocorreu!
    Obrigado