+ Responder ao Tópico



  1. #1

    Padrão Link de sombra

    Atualmente tenho 2 redes rodando sobre um link de 1mb adsl telemar ... e estou querendo contratar outro adsl e separar um para cada rede ...

    Atualmente

    ppp0 - link adsl

    eht2 - rede 1

    eth3 - rede 2


    Quando eu estiver com os 2 links pretendo deixar a rede assim

    ppp0 - link adsl 1

    ppp1 - link adsl 2

    eth2 - rede 1

    eth3 - rede 2

    onde eth2 navega pela ppp0 e eth3 navega pela ppp1, porém queria que um servisse de link de sombra pra o outro .... por exemplor ... se a conexão de ppp0 cair ppp1 assumir tudo e vice-versa ...

    Obs.: naum keria usar os modens adsl em modo router pois o trafego de pacotes eh intenso e os modens ki tenho aki ficam travando ...

  2. #2

    Padrão

    Balanceamento de Links...é isso que voce deseja fazer?

  3. #3

    Padrão

    naum naum ... naum kero balancear naum .... kero ki fike um link para cada rede mesmo ... mais keria ki um link assumisse tudo caso outro link caia entende??

  4. #4

    Padrão

    Bom...eu entendo isso como balanceamento de carga...pois nesse balanceamento, voce pode direcionar as solicitacoes de uma interface direto pra outra....

    segue abaixo um link muito util....(se for para o que voce necessita):

    https://under-linux.org/forums/proxy-nat-firewall/93645-balanceamento-de-carga-no-ubuntu-como-fazer.html"]Link

  5. #5

    Padrão

    Citação Postado originalmente por Frusciante Ver Post
    Bom...eu entendo isso como balanceamento de carga...pois nesse balanceamento, voce pode direcionar as solicitacoes de uma interface direto pra outra....

    segue abaixo um link muito util....(se for para o que voce necessita):

    https://under-linux.org/forums/proxy-nat-firewall/93645-balanceamento-de-carga-no-ubuntu-como-fazer.html"]Link
    cara eu naum kero balancear a carga naum ... kero apenas colocar uma rede para acessar por um link e a outra para acessar pelo outro link ... entende??? feito isso keria ki um link servisse de fail-over para o outro ... para que ao a conexao de um cair a outra assumir para as 2 redes ...

  6. #6

    Padrão

    Citação Postado originalmente por michel11br Ver Post
    cara eu naum kero balancear a carga naum ... kero apenas colocar uma rede para acessar por um link e a outra para acessar pelo outro link ... entende??? feito isso keria ki um link servisse de fail-over para o outro ... para que ao a conexao de um cair a outra assumir para as 2 redes ...
    Cara, seguinte...

    Tenho um cenário parecido com o seu, só que o meu tem o squid no meio, tem como fazer sim. Mas o fail-over q eu nao consegui fazer, se cair um tenho q mudar o GW manualmente.
    Resolvido facilmente com um script no cron.

    Mas tem como forçar a saida de uma rede ou range de ips por um link e uma outra rede ou range por outro link tranquilamente.

    Isso é possível fazendo roteamento por Origem.

    Vamos supor que o ip da sua eth2 seja 192.168.0.254 e da sua eth3 192.168.1.254 (sempre vai ter q estar em redes separadas).

    Vamos ter que configurar o ip route (iproute2) para sempre q a origem dos pacotes for 192.168.0.254 sair pelo link ppp0 e sempre que a origem dos pacotes for 192.168.1.254 sair pelo link ppp1, como fazemos isso? com algumas regras no ip route e algumas no iptables.

    vamos ao ip route..


    ############################### IP ROUTE - INICIO
    # limpando as tableas padroes do sistema
    echo "255 local" > /etc/iproute2/rt_tables
    echo "254 main" >> /etc/iproute/rt_tables
    echo "253 default" >> /etc/iproute/rt_tables
    echo "0 unspec" >> /etc/iproute_rt_tables

    # adicionando tabelas necessarias
    echo "20 link1" >> /etc/iproute2/rt_tables
    echo "30 link2" >> /etc/iproute2/rt_tables
    # se quiser balancear pode descomentar esta linha abaixo
    # echo "40 balanceamento" >> /etc/iproute2/rt_tables

    # remover rotas padrao (se houver)
    ip route del default &> /dev/null
    ip route del default &> /dev/null

    # tabela main (principal)
    ip rule del table main
    ip rule add prio 10 table main

    # rotas do seu sistema linux
    # se houverem outras redes internar q vc acessa atraves de um gw interno
    #ip route add ip-ou-rede-de-destino via ip-do-gw dev interface-de-saida

    # regras link1 - ppp0
    ip rule del prio 30 table link1 &> /dev/null
    ip rule add prio 30 table link1
    ip route add 192.168.0.254 via ip-do-gw-do-ppp0 table link1
    ip route add default via ip-do-gw-do-ppp0 table link1
    ip rule del from 192.168.0.254
    ip rule add from 192.168.0.254 table link1 prio 2

    # regras link2 - ppp1
    ip rule del prio 30 table link2 &> /dev/null
    ip rule add prio 30 table link2
    ip route add 192.168.1.254 via ip-do-gw-do-ppp1 table link2
    ip route add default via ip-do-gw-do-ppp1 table link2
    ip rule del from 192.168.1.254
    ip rule add from 192.168.1.254 table link2 prio 3


    # aqui se vc quiser fazer o balanceamento pelo menos no http
    # rota default preferencial
    #ip route add default via ip-do-gw-do-ppp0
    # marcar pacotes para balanceamento
    #iptables -A PREROUTING -t mangle -p tcp --dport 80 -d 0.0.0.0/0.0.0.0 -j MARK --set-mark 0x4
    # load balancing
    ip rule del prio 40 table balanceamento &> /dev/null
    ip rule add prio 40 table balanceamento
    ip rule del fwmark 0x4 &> /dev/null
    ip rule add fwmark 0x4 lookup balanceamento prio 4
    ip route add default table balanceamento nexthop via ip-do-gw-do-ppp0 dev ppp0 weight 1 nexthop via ip-do-gw-do-ppp1 dev ppp1 weight 1


    # limpando o cache do ip route
    ip route flush cache
    ############################### IP ROUTE - FIM

    ############################### IPTABLES - INICIO
    # vai ter q adicionar no iptables substituindo as regras de nat masquerade
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 192.168.0.254
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 192.168.1.254
    # assim nao importa de qual ip da rede venha, o pacote vai passar pelo seu kernel
    # como 192.168.0.254 ou 192.168.1.254 e vai cair nas regras de roteamento do
    # ip route, onde o mesmo jogara ele para a tabela link1 ou link2 e
    # consequenteme para o gateway de cada link.
    ############################### IPTABLES - FIM

    Me deu um pouco de trabalho fazer isso aqui. Mas a excência é essa: iproute2 e iptables. Se vc quiser podera ainda colocar o squid pra funcionar em conjunto com esta solução.

    Mas ai ja é uma outra etapa.

    Qualquer coisa, google neles. Vai achar muita coisa.

    Se coloquei aqui parte de algum script de alguem, peço desculpa, pois fiz um mutante com os materiais da net pra poder resolver meu problema e espero poder ajudar a comunidade um pouco.

    Sequem alguns links:
    claudineimatos.com » Roteando múltiplos links de internet
    claudineimatos.com » Roteamento Avançado - Forçando as rotas
    Linux: Configurando 2 (dois) links ADSL no mesmo servidor [Artigo]

  7. #7

    Padrão

    Citação Postado originalmente por neon Ver Post
    Cara, seguinte...

    Tenho um cenário parecido com o seu, só que o meu tem o squid no meio, tem como fazer sim. Mas o fail-over q eu nao consegui fazer, se cair um tenho q mudar o GW manualmente.
    Resolvido facilmente com um script no cron.

    Mas tem como forçar a saida de uma rede ou range de ips por um link e uma outra rede ou range por outro link tranquilamente.

    Isso é possível fazendo roteamento por Origem.

    Vamos supor que o ip da sua eth2 seja 192.168.0.254 e da sua eth3 192.168.1.254 (sempre vai ter q estar em redes separadas).

    Vamos ter que configurar o ip route (iproute2) para sempre q a origem dos pacotes for 192.168.0.254 sair pelo link ppp0 e sempre que a origem dos pacotes for 192.168.1.254 sair pelo link ppp1, como fazemos isso? com algumas regras no ip route e algumas no iptables.

    vamos ao ip route..


    ############################### IP ROUTE - INICIO
    # limpando as tableas padroes do sistema
    echo "255 local" > /etc/iproute2/rt_tables
    echo "254 main" >> /etc/iproute/rt_tables
    echo "253 default" >> /etc/iproute/rt_tables
    echo "0 unspec" >> /etc/iproute_rt_tables

    # adicionando tabelas necessarias
    echo "20 link1" >> /etc/iproute2/rt_tables
    echo "30 link2" >> /etc/iproute2/rt_tables
    # se quiser balancear pode descomentar esta linha abaixo
    # echo "40 balanceamento" >> /etc/iproute2/rt_tables

    # remover rotas padrao (se houver)
    ip route del default &> /dev/null
    ip route del default &> /dev/null

    # tabela main (principal)
    ip rule del table main
    ip rule add prio 10 table main

    # rotas do seu sistema linux
    # se houverem outras redes internar q vc acessa atraves de um gw interno
    #ip route add ip-ou-rede-de-destino via ip-do-gw dev interface-de-saida

    # regras link1 - ppp0
    ip rule del prio 30 table link1 &> /dev/null
    ip rule add prio 30 table link1
    ip route add 192.168.0.254 via ip-do-gw-do-ppp0 table link1
    ip route add default via ip-do-gw-do-ppp0 table link1
    ip rule del from 192.168.0.254
    ip rule add from 192.168.0.254 table link1 prio 2

    # regras link2 - ppp1
    ip rule del prio 30 table link2 &> /dev/null
    ip rule add prio 30 table link2
    ip route add 192.168.1.254 via ip-do-gw-do-ppp1 table link2
    ip route add default via ip-do-gw-do-ppp1 table link2
    ip rule del from 192.168.1.254
    ip rule add from 192.168.1.254 table link2 prio 3


    # aqui se vc quiser fazer o balanceamento pelo menos no http
    # rota default preferencial
    #ip route add default via ip-do-gw-do-ppp0
    # marcar pacotes para balanceamento
    #iptables -A PREROUTING -t mangle -p tcp --dport 80 -d 0.0.0.0/0.0.0.0 -j MARK --set-mark 0x4
    # load balancing
    ip rule del prio 40 table balanceamento &> /dev/null
    ip rule add prio 40 table balanceamento
    ip rule del fwmark 0x4 &> /dev/null
    ip rule add fwmark 0x4 lookup balanceamento prio 4
    ip route add default table balanceamento nexthop via ip-do-gw-do-ppp0 dev ppp0 weight 1 nexthop via ip-do-gw-do-ppp1 dev ppp1 weight 1


    # limpando o cache do ip route
    ip route flush cache
    ############################### IP ROUTE - FIM

    ############################### IPTABLES - INICIO
    # vai ter q adicionar no iptables substituindo as regras de nat masquerade
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 192.168.0.254
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 192.168.1.254
    # assim nao importa de qual ip da rede venha, o pacote vai passar pelo seu kernel
    # como 192.168.0.254 ou 192.168.1.254 e vai cair nas regras de roteamento do
    # ip route, onde o mesmo jogara ele para a tabela link1 ou link2 e
    # consequenteme para o gateway de cada link.
    ############################### IPTABLES - FIM

    Me deu um pouco de trabalho fazer isso aqui. Mas a excência é essa: iproute2 e iptables. Se vc quiser podera ainda colocar o squid pra funcionar em conjunto com esta solução.

    Mas ai ja é uma outra etapa.

    Qualquer coisa, google neles. Vai achar muita coisa.

    Se coloquei aqui parte de algum script de alguem, peço desculpa, pois fiz um mutante com os materiais da net pra poder resolver meu problema e espero poder ajudar a comunidade um pouco.

    Sequem alguns links:
    claudineimatos.com » Roteando múltiplos links de internet
    claudineimatos.com » Roteamento Avançado - Forçando as rotas
    Linux: Configurando 2 (dois) links ADSL no mesmo servidor [Artigo]
    cara muito obrigado ...

    mais a primeira coisa a fazer .... tenho ki conseguir autenticar minha segunda velox (ppp1)
    a linha tah pra chegar amanha intaum n tem como eu testar ainda mais assim ki eu conseguir autenticar a segunda ppp (espero ki naum tenha problemas com isso) eh ki eu vo partir pra o roteamento ....

    a propósito .... vc usa o balanceamento de carga ai??? dah algum tipo de problema??? tipo msn caindo??? site de banco naum entra??? porke naum kero usar o balanceamento aki por esses problemas .... e outra coisa ... eu tbm uso o squid ... isso influencia muito ??? vai mudar muita coisa aki no ki vc postou????

    se vc puder me adicionar no msn ([email protected]) para tirar algumas pequenas dulvidas irei te agradeceer muito muito mesmo.

  8. #8

    Padrão

    Citação Postado originalmente por michel11br Ver Post
    a propósito .... vc usa o balanceamento de carga ai??? dah algum tipo de problema??? tipo msn caindo??? site de banco naum entra??? porke naum kero usar o balanceamento aki por esses problemas .... e outra coisa ... eu tbm uso o squid ... isso influencia muito ??? vai mudar muita coisa aki no ki vc postou????
    uso balanceamento sim, nao tenho broplema com queda de msn ou https.

    pois, como mandei no script anterior, você pode marcaro que quer balancear, nao vai balancear tudo, no meu caso eu marquei para balanceamento apenas o trafego da porta 80 (http), se vc for balancear o msn vai cair sim, melhor deixar saindo por um link apenas.

    - vamos supor que você queira balancear o HTTP e MSN (que nao recomendo)
    - estas primeira linha balanceia o HTTP
    # iptables -A PREROUTING -t mangle -p tcp --dport 80 -d 0.0.0.0/0.0.0.0 -j MARK --set-mark 0x4

    - esta outra balanceia o MSN (nao recomendo, pois vai cair direto)
    - estou mostrando esse exemplo aqui so para vc entender.
    # iptables -A PREROUTING -t mangle -p tcp --dport 1863 -d 0.0.0.0/0.0.0.0 -j MARK --set-mark 0x4
    - veja q estou marcando os pacotes com 0x4

    - e no ip route eu disse q os pacotes que estiverem marcados com 0x4 vao para a tabela balanceamento com 2 hops (saltos), seria os dois links, com o peso de cada um. no caso os dois com peso 1
    ip rule add fwmark 0x4 lookup balanceamento prio 4
    ip route add default table balanceamento nexthop via ip-do-gw-do-ppp0 dev ppp0 weight 1 nexthop via ip-do-gw-do-ppp1 dev ppp1 weight 1

    sobre o squid, vai precisar usar a variavel tcp_outgoing_address para seus clientes.

    senao nao vai conseguir usar proxy com este cenario.

    vou add vc no msn. falows.

  9. #9

    Padrão

    Citação Postado originalmente por neon Ver Post
    uso balanceamento sim, nao tenho broplema com queda de msn ou https.

    pois, como mandei no script anterior, você pode marcaro que quer balancear, nao vai balancear tudo, no meu caso eu marquei para balanceamento apenas o trafego da porta 80 (http), se vc for balancear o msn vai cair sim, melhor deixar saindo por um link apenas.

    - vamos supor que você queira balancear o HTTP e MSN (que nao recomendo)
    - estas primeira linha balanceia o HTTP
    # iptables -A PREROUTING -t mangle -p tcp --dport 80 -d 0.0.0.0/0.0.0.0 -j MARK --set-mark 0x4

    - esta outra balanceia o MSN (nao recomendo, pois vai cair direto)
    - estou mostrando esse exemplo aqui so para vc entender.
    # iptables -A PREROUTING -t mangle -p tcp --dport 1863 -d 0.0.0.0/0.0.0.0 -j MARK --set-mark 0x4
    - veja q estou marcando os pacotes com 0x4

    - e no ip route eu disse q os pacotes que estiverem marcados com 0x4 vao para a tabela balanceamento com 2 hops (saltos), seria os dois links, com o peso de cada um. no caso os dois com peso 1
    ip rule add fwmark 0x4 lookup balanceamento prio 4
    ip route add default table balanceamento nexthop via ip-do-gw-do-ppp0 dev ppp0 weight 1 nexthop via ip-do-gw-do-ppp1 dev ppp1 weight 1

    sobre o squid, vai precisar usar a variavel tcp_outgoing_address para seus clientes.

    senao nao vai conseguir usar proxy com este cenario.

    vou add vc no msn. falows.
    Cara Chegou meu segundo link jah ... jah autentiquei ... jah tah beleh mais precisaria que vc me ajudasse com a parada do squid que vc falou ... naum posso ficar sem cache aki =)))

  10. #10

    Padrão

    Citação Postado originalmente por michel11br Ver Post
    Cara Chegou meu segundo link jah ... jah autentiquei ... jah tah beleh mais precisaria que vc me ajudasse com a parada do squid que vc falou ... naum posso ficar sem cache aki =)))
    certo, primeiro preciso saber se seu ip route já esta trabalhando com os dois links?

    segundo, qual o tipo de roteamento que usou no ip route? com marcação de pacotes (MARK) ou rotas por origem?

  11. #11

    Padrão

    Problema Resolvido ... muito obrigado a todos que me ajudaram principalmente ao Neon.