En supportfråga om hem-VPN behöver ett flöde, inte en konfigurationshög
Ett flöde, tre ägare och ett observerat fel slår en konfigurationshög. Använd den här översikten, namnge steget som misslyckas och maskera hemligheter utan att tappa topologin.
Du publicerar en maskad konfiguration, nämner att VPN inte fungerar och får sex svar om sex olika saker. Problemet är oftast frågan, inte läsarna. En hjälpare kan inte utläsa av en konfiguration om tunneln inte byggs, byggs men tappar trafik, eller fungerar bra medan filtjänsten bakom vägrar anslutningen. Beskriv i stället ett flöde, med tre ägare och ett observerat fel, och svaren blir genast bättre.
Varför frågan får oanvändbara svar
En konfiguration beskriver vad som är konfigurerat. Den beskriver inte vad du försökte, vad som hände eller vilken av flera maskiner som ska göra vilket jobb. Utan det gissar varje läsare på ett annat steg.
Det illustrerande fallet är en resande bärbar dator som ska nå en filtjänst på en hemserver via hemgatewayen. Ange om gatewayen, VPN-servern och filservern är samma maskin eller tre maskiner, eftersom detta enda faktum ändrar nästan varje svar.
Fyll i den här översikten innan du publicerar
Goal: the one resource or operation that should work
Path: client -> access network -> VPN endpoint -> resource
Owners: who controls the client, the gateway and the resource
Software: product, version and protocol in use
Expected: what success would look like
Observed: exact non-secret error or response
Time and change: when it started and what changed
Control: one comparable operation that still works
Åtta rader, och de flesta frågor blir besvarbara. Kontrollraden är den folk utelämnar: om surfning från samma bärbara dator fungerar medan filutdelningen inte gör det, snävar det in problemet till tunnelns rutter eller till tjänsten, och ingen behöver fråga.
Håll etiketterna konsekventa när du maskar. Bevara skillnaden mellan den offentliga slutpunkten, tunneladressen och hemnätet. Om två intervall överlappar, håll det förhållandet synligt i stället för att ersätta varje nätverk med samma platshållare, eftersom överlappningen ofta är svaret.
Namnge steget som misslyckas, inte hela loggen
Fem steg är värda att skilja: namnuppslagning, anslutningsförsök, autentisering, tunneletablering och åtkomst till resursen. Säg vilket du tror misslyckades och vad du såg där.
Klistra in ett litet utdrag kring händelsen i stället för varje felsökningsfil klienten kan producera. Hundra rader handskakningsbrus döljer den enda rad som säger att certifikatnamnet inte stämde.
Håll observation och förklaring åtskilda. ”Klienten rapporterar tidsgräns för handskakning efter 30 sekunder” är en observation; ”jag tror att leverantören blockerar UDP” är en teori. Båda är användbara, och att blanda dem gör att hjälparen inte kan se vilken som ska tros på. Märk dem, och svaret du får kommer att träffa det rätta.
Skicka den till ägaren som kan agera
För en bärbar dator som en arbetsgivare hanterar, börja med arbetsgivarens stödda kanal, eftersom ett communityforum inte kan ändra deras policy. För en kommersiell VPN-tjänst, ange produkt och konto privat i stället för offentligt. För din egen gateway, ta med router- och serverrollerna du kontrollerar.
Om du använder ett offentligt community, välj ett där nuvarande omfattning passar uppgiften. En gammal tråd om forumregler är inte ett supportavtal, och ett fem år gammalt svar om en protokollversion du inte kör är inte det heller.
Maskera hemligheter utan att platta till topologin
Ta bort privata nycklar, lösenord, tokens och länkar med autentiseringsuppgifter innan något lämnar din maskin. En diagnostisk export och en fullständig konfiguration är olika artefakter även när filnamnen ser likadana ut, och det du klistrade in kan innehålla en i förväg delad nyckel.
Behåll sedan de relationer som gör flödet begripligt. RFC 6973 behandlar onödig insamling och korrelation som integritetsfrågor, och samma princip gäller här: dela bevisen mottagaren behöver, inte hela maskinen.
Avsluta med en besvarbar fråga om den observerade avvikelsen, till exempel varför klienten slutför autentiseringen och sedan aldrig får en rutt. En specifik fråga får ett specifikt svar, och översikten du har byggt är det som gör det möjligt för någon att ge ett utan att fråga efter dina hemligheter.