+ Responder ao Tópico



  1. #1
    luiz_nando
    Visitante

    Padrão Dúvidas com IPTABLES!!

    Olá pessoal.

    Estou com uma dúvida referente ao IPTABLES que é o seguinte:
    Sabendo-se que tenho um Proxy/Firewall com 2 placas de rede.

    Tenho 3 endereços em uma placa de rede e a default e 200.200.200.1

    200.200.200.1
    200.200.200.2
    200.200.200.3

    E na minha rede interna tenho 3 servidores de ftp para servicos distintos:

    10.10.10.1
    10.10.10.2
    10.10.10.3

    A minha dúvida está no seguinte:
    Para a entrada eu faço o seguinte:
    iptables -t nat -A PREROUTING -p tcp -s IP_INTERNET_CLIENTE -d 200.200.200.1 --dport 21 -j DNAT --to-destination 10.10.10.1:21
    iptables -t nat -A PREROUTING -p tcp -s IP_INTERNET_CLIENTE -d 200.200.200.2 --dport 21 -j DNAT --to-destination 10.10.10.2:21
    iptables -t nat -A PREROUTING -p tcp -s IP_INTERNET_CLIENTE -d 200.200.200.3 --dport 21 -j DNAT --to-destination 10.10.10.3:21

    Agora para SAIDA como eu faço para indicar que o endereço de saída deve ser o qual ele entrou e não o defalt?
    SERIA?

    iptables -t nat -A POSTROUTING -p tcp -s 10.10.10.1 --sport 21 -j SNAT --to IP_INTERNET_CLIENT

    Se puderem dar uma força agradeço, pois o bicho tá pegando....

    Abraços

    Fernando




  2. #2
    Danilo_Montagna
    Visitante

    Padrão Dúvidas com IPTABLES!!

    a saida vc tem que definir por source e por ip de entrada que o mesmo usa... pois os pacotes tem que voltar pelo mesmo IP e interface.

    iptables -A POSTROUTING -t nat -o eth0 -s 10.10.10.1 -j SNAT --to 200.200.200.1

    iptables -A POSTROUTING -t nat -o eth0 -s 10.10.10.2 -j SNAT --to 200.200.200.2

    iptables -A POSTROUTING -t nat -o eth0 -s 10.10.10.3 -j SNAT --to 200.200.200.3

    eth0 = interface externa

    falow




    [ Esta mensagem foi editada por: Danilo_Montagna em 10-07-2003 09:39 ]

  3. #3
    luiz_nando
    Visitante

    Padrão Dúvidas com IPTABLES!!

    Olá Danilo, blza!!!

    Pela sua informação, inclusive clareou mais minhas idéias mas uma dúvida continua:

    - Quanto a porta de saida não precisa informar?

    Abraços
    Fernando

  4. #4
    Danilo_Montagna
    Visitante

    Padrão Dúvidas com IPTABLES!!

    isso depende ..

    a regra acima diz que para qualquer porta o default é sair sempre pelo mesmo IP..

    o controle de qual pota sai depois vc faz pelo FORWARD..

    o ideal é vc nao especificar portas no POSTROUTING.. pois assim vc miminiza a administracao das regras.. e faz o controle mais restrito pelo forward..

    pois lembre-se que o mais importante nao é restringir a regra de NAT.. e sim o FORWARD, pois os pacotes sempre iram passar por essa chain..

    falow

  5. #5
    luiz_nando
    Visitante

    Padrão Dúvidas com IPTABLES!!

    Beleza, quer dizer então que o certo seria fazer isto?

    PARA O REDIRECIONAMENTO NA ENTRADA
    iptables -t nat -A PREROUTING -p tcp -s IP_INTERNET_CLIENTE -d 200.200.200.3 --dport 21 -j DNAT --to-destination 10.10.10.3:21

    PARA O REDIRECIONAMENTO NA SAIDA
    iptables -A POSTROUTING -t nat -o eth0 -s 10.10.10.3 -j SNAT --to 200.200.200.3

    PARA ACEITAR OS PACOTES VINDOS DA REDE_INTERNA E ENVIAR PARA PARA O CLIENTE
    iptables -A FORWARD -p tcp -s 10.10.10.3 -d IP_INTERNET_CLIENTE --dport 21 -j ACCEPT


    Abraços
    Fernando

  6. #6

    Padrão Dúvidas com IPTABLES!!

    Habiliete Relacionamento na sua tabela de prerouting. e no forward


    iptables -A FORWARD -m --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -t PREROUTING -m --state RELATED,ESTABLISHED -j ACCEPT

    desta maneira, quando a conexao passar pro servidor interno ele vai usar a regra de entrada, e quando a conexao voltar ela esta relacionada com a conexao jah aberta entao a regra eh criada on the fly se eh que podemos dizer isso <IMG SRC="images/forum/icons/icon_smile.gif">

    Creio que isso resolveria seu problema. Me corrijam se eu estiver errado

  7. #7
    Danilo_Montagna
    Visitante

    Padrão Dúvidas com IPTABLES!!

    isso mesmo luiz_nando

    apenas acrescente essa regra aqui no FORWARD

    iptables -A FORWARD -m --state RELATED,ESTABLISHED -j ACCEPT

    esa segunda que o mistymst passou em desconheço.. e acredito que a mesam não funciona assin nao..

    porem.. mesmo que existir.. nao existe a necessidade de se criar regras de estados de pacotes para uma tabela NAT.. pois o processo sempre sera controlado pelo FORWARD..

  8. #8
    luiz_nando
    Visitante

    Padrão Dúvidas com IPTABLES!!

    Valew Danilo e mistymst!!!

    Voces são fera mesmo, foi só fazer o POSTROUTING e adicionar o FORWARD que alem de fungar as novas situações o acesso dos outros serviços melhoraram (ficaram mais rápido) +- 60%.

    Mais uma vez obrigado.

    Abraços
    Fernando


  9. #9
    Visitante

    Padrão Dúvidas com IPTABLES!!

    Caro,

    As regras acimas estarão corretas da seguinte forma:

    iptables -t nat -A PREROUTING -i (interface da wan ) -p tcp -s IP_INTERNET_CLIENTE -d 200.200.200.1 --dport 21 -j DNAT --to-destination 10.10.10.1:21

    iptables -t nat -A PREROUTING -i (interface da wan ) -p tcp -s IP_INTERNET_CLIENTE -d 200.200.200.2 --dport 21 -j DNAT --to-destination 10.10.10.2:21

    iptables -t nat -A PREROUTING -i (interface da wan ) -p tcp -s IP_INTERNET_CLIENTE -d 200.200.200.3 --dport 21 -j DNAT --to-destination 10.10.10.3:21

    Caso queira uma clareda acessa o LinuxIT

    Que no mesmo fala a verdade sobre redirecionamentos com iptables.

    falou,

    WrochaL - William Rocha <IMG SRC="images/forum/icons/icon_frown.gif">