Bem-vindo à Comunidade UBNT

Dúvida FailOver Link

drsemanndrsemann 1 Point
Bom dia,

Efetuei a configuração de um EdgeRouter X (Ver. v1.10.1) usando o wizard para fazer link FailOver setando o ISP2 para "Only this interface if the other fails". Teste feitos e o switch entre as interfaces ocorre normalmente.

Mas percebi que quando o ISP2 fica indisponível o sistema fica instável, como perda de pacotes, parece-me que o link está trabalhando como balance e não como failover. Este caracteristica seria normal desse device. Pesquisando na internet achei uma opção que setei na interface do ISP1 como rota default, mas a instabilidade persiste.

Se puderem me indicar documentos que posso me auxiliar nessa configuração agradeço.

Comentários

  • R4V3RR4V3R 8243 Pontos
    Defina o que você quer dizer com a seguinte frase:
    "quando o ISP2 fica indisponível o sistema fica instável"
  • drsemanndrsemann 1 Point
    Boa tarde R4V3R,

    Começa a perder pacotes, como se tive-se tentando acessar via o link de backup.

    Exemplo: forçando o ping setando a interface do ISP1 o ping transcorre normalmente, se somente pingar sem setar a interface perde pacotes e mostra o ip do gateway do ISP2 como destino inalcançável. Como se pinga-se um pelo ISP1 e outro ISP2, acho que deveria ser assim somente quando usa-se como balance e não como failover. 
  • R4V3RR4V3R 8243 Pontos
    Poste a saída dos seguintes comandos e também a configuração completa do roteador(sanitizada).
    show interfaces
    show ip route
    show load-balance status


  • drsemanndrsemann 1 Point
    Bom dia R4V3R,

    Segue as saídas solicitadas:

    Arquivo Conf (Removidos regar de firewall e NAT para acesso interno)

    firewall {
        all-ping enable
        broadcast-ping disable
        group {
            network-group PRIVATE_NETS {
                network 192.168.0.0/16
                network 172.16.0.0/12
                network 10.0.0.0/8
            }
        }
        ipv6-receive-redirects disable
        ipv6-src-route disable
        ip-src-route disable
        log-martians disable
        modify balance {
            rule 10 {
                action modify
                description "do NOT load balance lan to lan"
                destination {
                    group {
                        network-group PRIVATE_NETS
                    }
                }
                modify {
                    table main
                }
            }
            rule 20 {
                action modify
                description "do NOT load balance destination public address"
                destination {
                    group {
                        address-group ADDRv4_eth0
                    }
                }
                modify {
                    table main
                }
            }
            rule 30 {
                action modify
                description "do NOT load balance destination public address"
                destination {
                    group {
                        address-group ADDRv4_eth1
                    }
                }
                modify {
                    table main
                }
            }
            rule 100 {
                action modify
                modify {
                    lb-group G
                }
            }
        }
        name WAN_IN {
            default-action drop
            description "WAN to internal"
            rule 10 {
                action accept
                description "Allow established/related"
                state {
                    established enable
                    related enable
                }
            }
            rule 100 {
                action drop
                description "Drop invalid state"
                state {
                    invalid enable
                }
            }
            
        }
        name WAN_LOCAL {
            default-action drop
            description "WAN to router"
            rule 10 {
                action accept
                description "Allow established/related"
                state {
                    established enable
                    related enable
                }
            }
            rule 20 {
                action drop
                description "Drop invalid state"
                state {
                    invalid enable
                }
            }
            }        
        }
        receive-redirects disable
        send-redirects enable
        source-validation disable
        syn-cookies enable
    }
    interfaces {
        ethernet eth0 {
            address 192.168.100.250/24
            description WAN
            duplex auto
            firewall {
                in {
                    name WAN_IN
                }
                local {
                    name WAN_LOCAL
                }
            }
            speed auto
        }
        ethernet eth1 {
            address 192.168.200.250/24
            description "WAN 2"
            duplex auto
            firewall {
                in {
                    name WAN_IN
                }
                local {
                    name WAN_LOCAL
                }
            }
            speed auto
        }
        ethernet eth2 {
            address 192.168.1.1/24
            description Local
            duplex auto
            firewall {
                in {
                    modify balance
                }
            }
            speed auto
        }
        loopback lo {
        }
    }
    load-balance {
        group G {
            interface eth0 {
                route {
                    default
                }
            }
            interface eth1 {
                failover-only
            }
            lb-local enable
            lb-local-metric-change disable
        }
    }
    protocols {
        static {
            route 0.0.0.0/0 {
                next-hop 192.168.100.1 {
                }
                next-hop 192.168.200.1 {
                }
            }
        }
    }
    service {
        dhcp-server {
            disabled false
            hostfile-update disable
            shared-network-name LAN {
                authoritative enable
                disable
                subnet 192.168.1.0/24 {
                    default-router 192.168.1.1
                    dns-server 192.168.1.1
                    lease 86400
                    start 192.168.1.38 {
                        stop 192.168.1.243
                    }
                }
            }
            static-arp disable
            use-dnsmasq disable
        }
        dns {
            forwarding {
                cache-size 150
                listen-on eth2
            }
        }
        gui {
            http-port 80
            https-port 8443
            older-ciphers enable
        }
        nat {         
            rule 5000 {
                description "masquerade for WAN"
                outbound-interface eth0
                type masquerade
            }
            rule 5002 {
                description "masquerade for WAN 2"
                outbound-interface eth1
                type masquerade
            }
        }
        ssh {
            port 22
            protocol-version v2
        }
        unms {
            disable
        }
    }
    system {
        conntrack {
            expect-table-size 4096
            hash-size 4096
            table-size 32768
            tcp {
                half-open-connections 512
                loose enable
                max-retrans 3
            }
        }
        host-name ubnt
        login {
            user admin {
                authentication {
                    encrypted-password 
                }
                level admin
            }
        }
        name-server 8.8.8.8
        name-server 1.1.1.1
        ntp {
            server 0.ubnt.pool.ntp.org {
            }
            server 1.ubnt.pool.ntp.org {
            }
            server 2.ubnt.pool.ntp.org {
            }
            server 3.ubnt.pool.ntp.org {
            }
        }
        syslog {
            global {
                facility all {
                    level notice
                }
                facility protocols {
                    level debug
                }
            }
        }
        time-zone America/Sao_Paulo
        traffic-analysis {
            dpi disable
            export enable
        }
    }

    ---------------------------------------------

    show interfaces

    Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
    Interface    IP Address                        S/L  Description                 
    ---------    ----------                        ---  -----------                 
    eth0         192.168.100.250/24                u/u  WAN                         
    eth1         192.168.200.250/24                u/u  WAN 2                       
    eth2         192.168.1.1/24                    u/u  Local                       
    lo           127.0.0.1/8                       u/u                              
                 ::1/128
     
    show ip route

    S    *> 0.0.0.0/0 [1/0] via 192.168.200.1, eth1
         *>           [1/0] via 192.168.100.1, eth0
    C    *> 127.0.0.0/8 is directly connected, lo
    C    *> 192.168.1.0/24 is directly connected, eth2
    C    *> 192.168.100.0/24 is directly connected, eth0
    C    *> 192.168.200.0/24 is directly connected, eth1

    show load-balance status

    Group G
      interface   : eth0
      carrier     : up
      status      : active
      gateway     : 192.168.100.1
      route table : 201
      weight      : 100%
      flows
          WAN Out : 15424
          WAN In  : 101
        Local Out : 1322

      interface   : eth1
      carrier     : up
      status      : failover
      gateway     : 192.168.200.1
      route table : 202
      weight      : 0%
      flows
          WAN Out : 0
          WAN In  : 42
        Local Out : 0

  • R4V3RR4V3R 8243 Pontos
    Bom tem várias questões aí...  A saída padrao da rede interna é o grupo de load-balance que usa a eth0 apenas e em caso de falha passa pra eth1, até aqui tudo certo.
    No entanto, o roteador em si está configurado quase ao contrário, porque ambos os links de internet estão configurados com "peso 1" conforme sua regra em protocols/static. Ao não designar pesos diferentes para os gateways, ambos assumem peso 1, que é o mínimo.
    Já em sua configuração de "balanceamento", failover na verdade né, tem essas duas linhas:
            lb-local enable
            lb-local-metric-change disable
    Que efetivamente dizem pro roteador usar load-balance(ECMP) entre as duas conexões, o que seŕa feito já que ambas as rotas possuem o mesmo peso, e não mexer nas métricas de rotas em caso de problemas com uma conexão, que pode ser ou poder não ser desejável, dependendo do cenário. Neste caso eu uso ambos como desabilitados, mas seus requisitos podem ser diferentes dos meus.
    Em suma, tráfego gerado localmente no roteador é tratado de uma maneira, e tráfego gerado em qualque subrede interna, e que passa pela regra firewall modify, e pela regra de "balanceamento" é tratado de maneira diferente...
    Ademais, usar o mesmo peso pra duas rotas no roteador da forma como está sendo feito pode gerar alguns problemas sim, eu recomendo mexer nos pesos e usar uma saída como padrão apenas.

  • drsemanndrsemann 1 Point
    Boa tarde R4V3R,

    Este config fiz usando o wizard, assim não alterei nada, mas irei atribuir peso nas rotas.

    Somente não compreendi sobre deixar disable, você está se referindo ao lb-local e lb-local-metric-change?

    Obrigado pelo ajuda, estou aportando agora no mundo do Edgerouter, mas gostando muito do device.
  • R4V3RR4V3R 8243 Pontos
    Isso, exatamente, principalmente lb-local que instrui o roteador a usar o grupo de load-balance para conexões partindo dele, e isso pode causar efeitos adversos tais como os que você descreve.

  • drsemanndrsemann 1 Point
    Boa tarde R4V3R,

    Atribui o peso nas rotas e solucionou a alternância, mas tive problemas com a resolução DNS, que o trafego local continuava a tentar sair pelo interface principal (ISP1), assim voltei a habilitar o lb-local e lb-local-metric-change normalizando a operação.

    Agradeço a ajuda
  • R4V3RR4V3R 8243 Pontos
    Bom, fica esperto que com lb-local-metric-change habilitado, você pode vir a perder o acesso remoto ao equipamento em caso de falha de uma das conexões de internet. Fica esperto nestas questoes, e faça os seus testes pra entender melhor o comportamento do equipamento nos cenários de failover.
    * Lembrando que, pra efetuar os testes, remover o cabo de rede da porta do roteador não é equivalente à simular um mal funcionamento daquela conexão.
  • drsemanndrsemann 1 Point
    Boa Tarde R4V3R,

    É estou ainda em lab pois tenho mais questões a verificar no device.

    Sobre o teste, estou usando switch entre o device e o link de internet, assim removo somente o cabo do link e não o do device.

    Valeu
  • R4V3RR4V3R 8243 Pontos
    Perfeito, é exatamente assim a forma mais fácil e adequada de simular a queda em um dos uplinks. ;)
Entre ou Registre-se para fazer um comentário.