Uma cópia de ficheiro pelo túnel para por um segundo, retoma, e os registos da VPN não mostram nada. A aplicação culpa a rede, a rede culpa a aplicação, e a porta do comutador está ativa há onze meses. Este guia começa na pausa e avança para fora até à ligação física: o que a porta está realmente a fazer, o que a ponta remota está a fazer e o que os contadores fizeram enquanto observava. Vale a pena antes de alguém tocar numa definição de duplex.

Comece pela pausa, não pela porta

Descreva o sintoma de forma testável. Uma paragem de cerca de um segundo durante uma transferência massiva é um problema diferente de uma ligação que se reinicia, e uma pausa que ocorre uma vez por hora é diferente de uma que ocorre a cada poucos segundos. Anote a carga, a direção e o intervalo aproximado.

Depois reproduza-o enquanto observa a interface. Um problema físico manifesta-se como movimento nos contadores durante a carga afetada, e um problema que não move nenhum contador está provavelmente acima da camada de ligação. Observe um minuto, não um segundo, porque estas falhas precisam muitas vezes de tráfego sustentado antes de aparecerem. A monitorização em repouso não prova nada sobre uma ligação que só se comporta mal sob carga.

Isto importa porque as incompatibilidades de duplex têm uma assinatura: erros que só aparecem sob carga, no sentido do tráfego, enquanto os pings pequenos e as sessões interativas ficam perfeitos. Se o tráfego em repouso também falhar, procure primeiro noutro sítio.

Leia o modo operacional nas duas pontas

A configuração guardada não é o estado operacional. Uma porta pode estar configurada para autonegociação e acabar em meio duplex, ou estar configurada para uma velocidade fixa com que a outra ponta nunca concordou. Leia o que a ligação está a fazer neste momento dos dois lados.

ethtool eth0
ethtool -S eth0 | grep -iE 'error|drop|collision|fcs'
ip -s link show eth0

Anote a velocidade, o duplex e se a autonegociação está ativa, e depois obtenha os mesmos três factos no comutador adjacente ou na porta do fornecedor. Uma só ponta não diz nada, porque a incompatibilidade é uma relação e não uma definição. Coloque as duas linhas lado a lado no ticket, com a hora a que as leu. Metade do valor do exercício é ter as duas leituras no mesmo sítio.

Se não conseguir ler a ponta remota, não consegue diagnosticar isto. Peça ao proprietário o modo operacional e os contadores, ou organize o acesso antes de começar a mudar o seu lado.

Como é o caso 10/100 em meio duplex

Nas ligações de cobre 10/100, uma ponta que autonegocia pode detetar a velocidade de um par forçado sem aprender a sua definição de duplex. A deteção paralela determina a velocidade a partir do sinal, e o duplex é assumido em vez de negociado, pelo que um lado pode acabar em meio duplex enquanto o outro funciona em duplex completo.

O guia de autonegociação da Cisco explica esse caso concreto. Não é um argumento para desativar a negociação em todo o lado, e não diz nada de útil sobre o cobre gigabit, onde o duplex é fixo e a autonegociação é necessária para a ligação se levantar.

A evidência observável é uma mistura de erros que só existem numa direção: erros FCS ou CRC do lado do duplex completo, colisões ou colisões tardias do lado do meio duplex, e um débito que colapsa sob carga enquanto a latência se mantém normal em repouso. Essa assimetria é a assinatura. Uma ligação simplesmente sobresubscrita degrada-se nos dois sentidos e em todos os momentos.

Mude as duas pontas em conjunto, com um caminho de regresso

Uma correção de duplex é uma mudança coordenada, não local. Forçar o seu lado sem o acordo da ponta remota é como uma ligação a funcionar se torna uma ligação avariada, e o facto de a CLI aceitar o comando só prova que a sintaxe era válida.

sudo ethtool -s eth0 speed 100 duplex full autoneg off
ethtool eth0

Antes de executar algo assim, confirme que a plataforma suporta a combinação e que a ponta remota será alterada na mesma janela. Mantenha uma forma independente de administrar o equipamento, porque a porta que está prestes a alterar pode ser a que transporta a sua sessão de gestão.

Em muitas ligações modernas a resposta correta é deixar a autonegociação ativa nas duas pontas em vez de forçar algo. Forçar é um remédio para uma incompatibilidade específica numa tecnologia específica, não uma melhoria geral. O cobre gigabit em particular precisa da autonegociação para a ligação se levantar, por isso o conselho para 10/100 não se transfere.

Confirme que os contadores evoluíram para melhor

Depois da alteração, volte a ler o estado operacional nas duas pontas e confirme que concordam. Depois execute a mesma carga que provocou a pausa e compare as diferenças dos contadores em vez dos totais desde o início, porque um total que se acumula há um ano não lhe pode dizer o que aconteceu nos últimos dez minutos.

ethtool -S eth0 | grep -iE 'error|drop|collision|fcs'
ip -s link show eth0
ping -f -c 200 10.90.0.1

Uma ligação sem erros novos sob a mesma carga é a evidência que lhe faltava. Uma ligação que ainda erra, ou uma em que os contadores nunca se moveram, encaminha-o para a fronteira seguinte em vez de mais fundo na discussão do duplex. Qualquer dos resultados é progresso, o que é mais do que o ficheiro de configuração lhe pode dar. Não salte a segunda leitura só porque a primeira parecia correta.

Escreva os números de antes e depois no ticket com marcas temporais. É esse registo que transforma «a VPN está melhor» em algo sobre o qual o próximo engenheiro pode construir.

Artigos relacionados