Två VPN-fel ser identiska ut från användarens stol och kräver motsatta åtgärder. Namnmismatch betyder att certifikatet är giltigt men utfärdat för något annat. Ett utgångsdatumfel betyder att certifikatet inte är giltigt just nu. Inget av dem är ett lösenordsproblem, och att återställa inloggningsuppgifter är den vanligaste bortkastade timmen i båda fallen. Läs steget som misslyckas innan du rör något.

Feltexten är diagnosen

Klienten berättar vilken kontroll som misslyckades, även när meddelandet är kort. En mismatch namnger det förväntade värdnamnet och namnet den hittade. Ett utgångsdatumfel nämner giltighetsdatum eller en tid. De två meningarna pekar på olika delar av certifikatet.

Läs dem i steget där de dyker upp. Ett fel under handskakningen är ett certifikatproblem; ett fel efter att tunneln är uppe är ett routing- eller inloggningsproblem. Att behålla steget är det som hindrar undersökningen från att glida in i orelaterade inställningar.

Om felet varierar mellan försök har du en tredje möjlighet: mer än en nod bakom samma namn.

Namnkontroller: vad klienten jämför

Klienten jämför den identitet den är konfigurerad att förvänta sig med namnen i certifikatet, som finns i subjectAltName-tillägget. En rå IP i profilen, ett alias som certifikatet inte listar, eller ett namn som bara slår upp till samma server – alla misslyckas denna kontroll. Att nå rätt maskin är inte samma sak som att presentera rätt identitet.

Granska certifikatet som servern faktiskt presenterar i stället för en fil från ett tidigare försök. Kommandot nedan frågar efter namnet du konfigurerade, så svaret innehåller certifikatet en riktig klient skulle se.

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null \
  | openssl x509 -noout -subject -dates -ext subjectAltName

Ett certifikat från en betrodd utfärdare kan fortfarande gälla en annan tjänst. Låt klientens namnkontroller vara på, eftersom förtroende för en CA inte auktoriserar varje namn som CA:n någonsin signerat. Att stänga av kontrollen förvandlar ett konfigurationsfel till en exponering.

Utgång: vems klocka läses

Giltighet är ett par tidsstämplar, och verifieraren jämför dem med sin egen klocka. En enhet med fel klocka rapporterar ett giltigt certifikat som utgånget eller som ännu inte giltigt, och rättelsen är klockan, inte certifikatet. En skillnad i tidszonsvisning är inte samma sak som fel underliggande tid.

Jämför certifikatets datum med UTC på klienten innan du drar några slutsatser:

openssl x509 -in cert.pem -noout -dates
date -u

Om datumen verkligen har passerat, förnya via utfärdaren. Om en ersättning finns men ännu inte är giltig, följ den stödda övergången i stället för att flytta klockan för att passa den. Att backa datumet på en enhet för att tillfredsställa ett certifikat är ett beslut med konsekvenser långt utanför tunneln.

Varför åtgärd av det ena avslöjar det andra

Validering kör en sekvens av kontroller, och det första felet stoppar rapporten. Åtgärda namnet och klienten kan då berätta att kedjan är ofullständig eller att certifikatet har gått ut. Det betyder inte att den första kontrollen var onödig. Det betyder att kedjan hade mer än ett problem, så förvänta dig det andra felet i stället för att läsa det som bevis på att den första åtgärden var fel.

Flera noder gör detta värre. En lastbalanserad tjänst kan presentera olika certifikat från olika medlemmar, så ett test som passerar två gånger och misslyckas en gång berättar om flottan och inte om din klient. Behåll peer-adressen och tidpunkten för försöket i diagnosen.

Den detaljen är det som gör ett instabilt ärende till ett reproducerbart.

Bevisa det med en ny anslutning

Efter reparationen, öppna en ny anslutning i stället för att återuppta en gammal, och bekräfta att steget som förut misslyckades nu passerar. Bekräfta sedan att tunneln faktiskt bär trafik, eftersom en lyckad handskakning inte är en fungerande rutt.

Behåll det exakta felsteget och certifikatuppgifterna tillsammans med ärendet.

Den anteckningen är det som hindrar nästa person från att återställa kontolösenord för ett certifikatproblem. Identitet och giltighet är separata frågor, och RFC 5280 är referensen för hur den andra utvärderas.

Relaterade artiklar