Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. Então, como eu tinha postado antes, já achei a solução e já apliquei, funciona perfeitamente.

    Voltando a explicação, tenho dois links ADSL, porém, não queria fazer load balancing, queria somente usar o segundo link ADSL para o Postgres.

    Um link está com o modem em PPPoA e modo router, o segundo link está em um modem em PPPoE modo Bridge.

    Então precisei criar uma tabela de roteamento exclusiva para os acessos da Vivo e outra para o Postgres.

    root@globalinux:/# cat /etc/iproute2/rt_tables
    #
    # reserved values
    #
    255 local
    254 main
    253 default
    #
    #
    #
    0 unspec
    #
    # local
    #
    #1 inr.ruhep

    201 vivo
    200 flexis


    Após isso, precisei adicionar as rotas às tabelas. A tabela flexis é a tabela do Postgres e a tabela Vivo dispensa comentarios

    # ip rule add from <endereço ip da interface ppp0> lookup flexis
    Definimos qual é a rota que todos os pacotes vindos do IP da ppp0 vai usar para entrada e saida.

    # ip route add default dev ppp0 via <gateway da brasil telecom> table flexis
    Adicionamos a interface ppp0 como sendo rota na tabela flexis e indicamos seu gateway. Assim a regra criada de entrada e saída por essa rota pode 'vigorar'.

    Agora, para os sites da vivo, precisei usar a tabela mangle do iptables para poder marcar os pacotes, para depois incluir uma rota para eles.

    # ip route add default dev eth1 via 192.168.1.203 table vivo
    Primeiro adicionamos o caminho na tabela da vivo, no caso, o meu sinal com destino à Vivo, vai passar por um servidor Windows 2003, que estará conectado com um cliente VPN, para assim não precisar autenticar todas as máquinas e economizar tempo e, claro, saco!

    # iptables -t mangle -A PREROUTING -i eth1 -p tcp -s 192.168.1.0/24 -d <endereço IP do destino> -j MARK --set-mark 2
    Fazemos então a marcação '2' para os pacotes com o destino.

    # ip rule add fwmark 2 lookup vivo
    Pronto, definido para todos os pacotes marcados pelo firewall como 2 passem a buscar a rota definida na tabela Vivo.

    # ip route flush cached
    Temos que fazer vigorar as regras do iproute2.

    Então galera, foi resolvido assim, tem muitos caminhos e possibilidades com as duas ferramentas, iproute2 e iptables, pensei em fazer também um load balancing na rede, mas só o fato de ter tirado os acessos do programa do link principal já deu uma bela desafogada, e não precisou fazer.

    Se interessar a alguém, estou usando no-ip no link de IP dinâmico. Como para algumas coisas no linux eu ainda sou verde e escolhi uma distro meio complicadinha, que é a Slackware, usei o seguinte comando para verificar o IP e atualizar a rota, também para que o domínio no-ip fique sempre atualizado:

    for i in `ifconfig ppp0 | cut -c 21-33 | grep 20; do
    PPP=$i
    done

    ip rule add from $PPP lookup flexis
    ip route flush cached


    Adicionei no script do firewall, para efeitos de reinicialização e também fiz um script e adicionei no CRON para verificação de 5 em 5 minutos (nóia, as vezes a conexão pode cair rapidamente e voltar com outro IP e eu não vou querer ficar o tempo inteiro cuidando se a rota está certa ou não).

    Bom, a solução foi esta galera, está funcionando 100%, sem problema algum.

    Abraços e obrigado à quem deu atenção ao caso!
    Última edição por glaucioklipel; 21-01-2007 às 11:41.

  2. Vale lembrar também que as vezes o Kernel pode estar compilado com alguns módulos do iptables não nativos, ou seja, marcados como [M] ao invés de[*].

    Me fu%$%# pra recompilar o meu kernel. O Slack vem com Kernel 2.4.33 e eu passei para 2.6.17.13, com patch para o layer7. Deu 325345987 paus hehehe, mas no fim, deu tudo certinho.

    Se por acaso alguns comandos do iptables não funcionarem, é só inserir os módulos necessários. Na dúvida, estes módulos podem ser utilizados:

    #/sbin/modprobe iptable_nat
    #/sbin/modprobe iptable_mangle
    #/sbin/modprobe ipt_conntrack
    #/sbin/modprobe ip_conntrack_ftp
    #/sbin/modprobe ip_nat_ftp
    #/sbin/modprobe ipt_multiport
    #/sbin/modprobe ipt_LOG
    #/sbin/modprobe ipt_mark
    #/sbin/modprobe ipt_MARK






Tópicos Similares

  1. Duvidas com Iptables
    Por Nath no fórum Servidores de Rede
    Respostas: 2
    Último Post: 30-07-2005, 08:35
  2. Dúvidas com IPTables
    Por no fórum Servidores de Rede
    Respostas: 3
    Último Post: 09-05-2005, 17:32
  3. Dúvidas com IPtables
    Por guareschi no fórum Servidores de Rede
    Respostas: 7
    Último Post: 27-04-2005, 19:45
  4. Dúvidas com IPTABLES!!
    Por luiz_nando no fórum Servidores de Rede
    Respostas: 8
    Último Post: 10-07-2003, 16:47
  5. Dúvida com IpTables
    Por no fórum Segurança
    Respostas: 6
    Último Post: 29-10-2002, 10:49

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L