+ Responder ao Tópico



  1. #1

    Padrão Como implementar somente o roteamento?

    Olá pessoal.

    O que é necessário para implementar somente o roteamento de pacotes em um servidor linux utilizando iptables? Quais regras devem ser declaradas no script?

  2. #2

    Padrão Como implementar somente o roteamento?

    echo "1" > /proc/sys/net/ipv4/ip_forward

    Isso habilita o repasse de pacotes.

    Já pra fazer nat usa-se o iptables, com a seguinte regra:

    iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE

    ethX - mude eth0 para a interface de rede usada para conexão com a internet.

    Espero ter ajudado!

  3. #3

    Padrão Como implementar somente o roteamento?

    Algumas dúvidas:

    Devo inicializar regras padrão?
    Devo limpar as existentes (iptables -F)?
    Qual a diferença de encaminhamento de pacotes para NAT?

  4. #4
    Visitante

    Padrão Como implementar somente o roteamento?

    depende das suas necessidades...

    se houverem regras alguem as colocou la por algum motivo, concorda?

    eu recomendo que voce as analise e deixe apenas as necessarias...
    mas nao precisa limpar as regras preexistentes nao...

    sobre encaminhamento e nat tem uma grandee diferenca...

    digamos que encaminhamento é "oq o router faz se alguem da internet mandar algum pacote pra ele"... ele diz pra quem aquele pacote tem que ser entregue caso haja a regra...

    já o NAT funciona totalmente ao contrario... ele recebe um pedido da sua rede e repassa pra internet... qdo a maquina remota responde, o roteador devolve a resposta pro micro que originou a conexao...

  5. #5
    gmlinux
    Visitante

    Padrão Como implementar somente o roteamento?

    ou, alternativamente:

    sysctl net.ipv4.ip_forward

    para ver o valor atual, e

    sysctl -w net.ipv4.ip_forward=1

    para alterar para 1 (similar ao echo 1 > /proc/sys/net/ipv4/ip_forward)
    assim, em algumas distros basta editar o /etc/sysctll.conf e colocar uma linha:

    net.ipv4.ip_forward=1

    o sysctl possui a vantagem de poder ser usado em sistemas que não possuem /proc (não é o caso do linux )

  6. #6

    Padrão Como implementar somente o roteamento?

    Fiz tudo como explicado e nada!
    Pcs da minha rede interna não conseguem acessar a internet. Nem mesmo pingam.

    Alguma outra sugestão?

  7. #7

    Padrão Como implementar somente o roteamento?

    mas nas estações vc configurou ip da mesma classe, máscara, dns, gateway etc...???

    outra coisa, se for conexão adsl a regra fica:
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

  8. #8

    Padrão Como implementar somente o roteamento?

    mas nas estações vc configurou ip da mesma classe, máscara, dns, gateway etc...???
    R: Sim. Tudo está OK.

    outra coisa, se for conexão adsl.
    R: É conexão via eth1 (placa de rede), não ppp

    Será que não tem nada a ver com o comando route?

  9. #9

    Padrão Como implementar somente o roteamento?

    Se o servidor está navegando normal. a tabela de roteamento provavelmente está correta tbm.

  10. #10

    Padrão Como implementar somente o roteamento?

    Talvez ele tenha que adicionar regras de roteamento com o comando route sim. De uma olhada se do servidor ele está conseguindo pingar as máquinas clientes e cheque as configurações dos clientes.


    Abraços!

  11. #11

    Padrão Como implementar somente o roteamento?

    De uma olhada se do servidor ele está conseguindo pingar as máquinas clientes
    R: Sim. Pingo normalmente.

    cheque as configurações dos clientes.
    R: Os clientes estão configurados ok.

  12. #12

    Padrão Como implementar somente o roteamento?

    Vc ñ está confundindo as interfaces de rede na regra?

    Se vc recebe o link pela eth1 deve usar a eth1 na regra, mas se a eth1 é usada na rede local vc deve usar a outra interface de rede na regra, como a eth0 por exemplo.

    Exemplo, eu recebo uma conexão wireless na wlan0, então a regra que uso é:

    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

  13. #13
    Visitante

    Padrão Como implementar somente o roteamento?

    iptables -F
    iptables -X
    iptables -F -t nat
    iptables -X -t nat
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT
    iptables -t nat -A POSTROUTING -j MASQUERADE
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

  14. #14

    Padrão Como implementar somente o roteamento?

    Vc ñ está confundindo as interfaces de rede na regra?
    R: Estou configurando p/ a eth1, que é a interface que acessa a internet

    Até agora nada. Testei tudo e não obtive resultados.

  15. #15
    Visitante

    Padrão Como implementar somente o roteamento?

    poste suas regras :/

  16. #16

    Padrão Como implementar somente o roteamento?

    #Variaveis
    ipt=/sbin/iptables

    #Limpa regras atuais
    $ipt -F
    $ipt -t nat -F

    #Habilita Encaminhamento IP
    echo "1" > /proc/sys/net/ipv4/ip_forward

    #Habilita NAT
    $ipt -t nat -A POSTROUTING -o ethX -j MASQUERADE

    #Reinicia
    service iptables restart


    Tem outro problema. Acho que não é iptables porque já tentei tanta coisa e nada. Alguma sugestão?

  17. #17

    Padrão Como implementar somente o roteamento?

    Opa, ethx não, é eth1 (interface da internet - 200.200.200.199)
    a eth0 é da rede local (192.168.0.254)