Duas linhas remote num perfil parecem uma segunda via; são uma segunda tentativa. Quando o primeiro endpoint deixa de responder, o cliente avança e a sessão não fica mais larga. Chame a lista de failover desde cedo, ou vai regular o botão errado.

O que uma lista de remote lhe dá

Trate o perfil como um conjunto ordenado de tentativas, não como um fundo de capacidade. Cada entrada tem a sua vez de levantar o túnel, e a sessão vive na que respondeu. Uma lista maior melhora as probabilidades de ligação, não o tamanho do tubo.

A agregação real é outra máquina. Dividir um fluxo por vários caminhos exige software nas duas pontas para repartir e remontar o tráfego pela ordem.

Um fornecedor que promete túneis mais rápidos com mais servidores está a vender esse segundo modelo, não uma lista maior. Se o cliente apenas experimenta endpoints à vez, cinco entradas mudam as probabilidades e mais nada. Observe uma falha: a sessão cai e regressa noutro sítio, o que o registo mostra como um novo endpoint, nunca como um tubo mais largo.

Blocos que guardam as definições com um só endpoint

Uma linha remote simples leva um endereço e, por vezes, uma porta e um protocolo. Quando um endpoint precisa de um proxy, ou de um transporte que o resto do ficheiro não usa, ponha essas definições num bloco de ligação que as guarde com ele. Os blocos em linha também funcionam num único ficheiro .ovpn, e é assim que a maioria dos perfis é distribuída.

Tudo o que está fora de um bloco serve de predefinição para as entradas que não o substituem. É por isso que um bloco construído e quatro remote simples se comportam de formas que a lista de endereços não consegue explicar.

Apagar um bloco que não reconhece não é cosmético. O endpoint a que pertencia volta às predefinições do ficheiro, que podem ser um transporte diferente daquele em que escuta. Tire o invólucro errado e uma entrada falha enquanto as outras funcionam, por isso parece um servidor mau e não um perfil quebrado. Leia cada remote com o seu transporte, porta e proxy antes de editar.

Ordem de novas tentativas e o custo do remote-random

A ordem importa porque cada entrada morta custa tempo antes da tentativa seguinte. Ponha primeiro o endpoint que quer e trate o resto como alternativas ordenadas.

remote-random baralha a ordem inicial, o que reparte a carga por servidores equivalentes e corre mal quando um endpoint é claramente primário. De qualquer forma, registe o endpoint que o cliente escolheu; o nome do perfil não diz nada quando uma ligação parece lenta. Procurar com grep a linha de ligação num registo detalhado mostra onde a sessão aterrou.

Misturar operadores quebra a declaração de confiança

Um perfil também é uma afirmação sobre a identidade: estes endereços são o serviço que queria alcançar, e o certificado fixado pertence-lhe. Meter servidores públicos gratuitos nesse ficheiro quebra a afirmação: os certificados deles e o seu descrevem serviços diferentes. O resultado habitual é uma falha de identidade, ou credenciais oferecidas a um anfitrião fora da rede do seu fornecedor. Mantenha as alternativas dentro do conjunto que o seu operador distribui, com credenciais e material de confiança correspondentes.

Se precisa de endpoints de dois fornecedores, isso é encaminhamento, não uma edição do perfil. Resolva-o acima do túnel, onde pode dizer que tráfego segue que caminho.

Testar cada entrada em vez de assumir

Depois de uma atualização de perfil aprovada, ligue-se de propósito a cada endpoint necessário e confirme que transporte subiu. Uma execução detalhada torna isso visível. Inicie openvpn --config office.ovpn --verb 4 e leia a linha de ligação para o endereço que esperava. Depois verifique os recursos atrás do túnel; uma entrada pode concluir o aperto de mão e mesmo assim não o encaminhar para lado nenhum.

O failover precisa do seu próprio teste em vez de uma esperança. Bloqueie o primeiro endpoint num laboratório, inicie o cliente e meça quanto tempo demora a passar adiante. Uma lista longa atrás de uma primeira entrada lenta é pior do que uma curta que começa bem.

Verifique a lista novamente sempre que o operador a alterar. Um conjunto importado só é útil enquanto as suas entradas existirem e falarem o transporte que os seus blocos descrevem. O manual do OpenVPN 2.6 cobre aqui as diretivas remote, connection e random-order, e é a versão a verificar quando a sintaxe é duvidosa.

Artigos relacionados