Twee laptops staan op hetzelfde thuisnetwerk, en de VPN van kantoor accepteert er precies één van. De tweede loopt in een time-out of wacht tot de eerste de verbinding verbreekt, en niemand heeft tussen de twee pogingen een clientinstelling aangeraakt. De inloggegevens zijn dezelfde die een minuut geleden werkten, en dat is de aanwijzing dat authenticatie niet de storing is. Drie mechanismen veroorzaken dit patroon, en het eigen log van de server zegt welke u tegenover zich hebt.

Lees het log van de gateway voordat u een client aanraakt

De registratie van de server van beide pogingen beantwoordt de eerste vraag, en dat doet ze op een van drie manieren. Als de tweede poging nooit in dat log verschijnt, heeft het pakket de luisteraar nooit bereikt, en het probleem zit bij de thuisrouter of bij het pad van de provider. Als het log een poging vastlegt en die weigert, is de tunnel aangekomen, dus gaat het om identiteit, licentie of een sessielimiet en niet om iets op de kabel. Als het log een geslaagde sessie vastlegt terwijl de client nog steeds een fout meldt, kijk dan naar de terugweg of naar twee clients die hetzelfde tunneladres krijgen.

Een hotspot van een telefoon scheidt die families goedkoop: laat de tweede client over mobiele data lopen terwijl de eerste verbonden blijft. Succes daar wijst op het thuisnetwerk, en dezelfde storing daar wijst op de gateway, waardoor de router onschuldig blijft. Geen van beide resultaten is op zichzelf beslissend, maar elk ervan schrapt de helft van de zoekruimte in één poging.

Schrijf de uitkomst op voordat u iets verandert, want de drie loguitkomsten leiden tot drie losstaande reparaties. Een notitie die benoemt welke van de drie u zag, is meer waard dan een schermafbeelding van een clientfout.

Wat de router met GRE en NAT-T doet

PPTP is de klassieke boosdoener: het controlekanaal is TCP 1723 terwijl het datapad GRE is, IP-protocol 47. Veel consumentenrouters komen met een PPTP-helper die één controleverbinding volgt, zodat een tweede client achter dezelfde NAT zijn controlekanaal opent en daarna helemaal geen datapad krijgt. Een TCP-poort met nummer 47 doorsturen doet niets voor GRE, want GRE is een protocolnummer en geen poort.

L2TP over IPsec gedraagt zich anders vanwege het ontwerp: IKE gebruikt UDP 500, NAT-traversal verplaatst de beschermde lading naar UDP 4500, en de inkapseling bestaat juist opdat meerdere clients achter één adres dezelfde gateway kunnen bereiken. Dat ontwerp verhindert niet dat een gateway of een tussenliggend kastje een sessielimiet per adres oplegt, en vanaf de bank lijken de twee storingen identiek. Het eigen protocol van SoftEther heeft dezelfde klasse probleem: een router zonder werkende doorlaat laat de eerste client uit het LAN binnen en laat de tweede vallen. Test de ALG- of doorlaatschakelaar van de router in beide standen, want een helper die voor een oudere client is geschreven kan pakketten beschadigen die een huidige verstuurt.

nc -vz 203.0.113.5 1723
sudo tcpdump -ni any proto gre

Identiteitslimieten die op transportlimieten lijken

De router is niet de enige verdachte, en het log onderscheidt hem van het alternatief. Wanneer een OpenVPN-server een gemeenschappelijke naam aan één tunneladres vastmaakt, krijgen beide apparaten dat adres, en zonder duplicate-cn duwt de nieuwere sessie de oudere eruit. Die optie aanzetten laat beide verbonden, maar laat ze achter met één identiteit, één certificaat en één intrekkingsbeslissing, wat erger is dan het lijkt. Het tweede apparaat kan dan nooit meer los worden ingetrokken, dus een gemaksschakelaar haalt stil een controle weg die u later nodig kunt hebben.

Lees het journaal van de server en het statusbestand samen, want het ene toont de authenticatiebeslissing en het andere toont wie er nu verbonden is. Twee vermeldingen met dezelfde gemeenschappelijke naam en één virtueel adres bevestigen een identiteitsbotsing en geen routerlimiet. Commerciële gateways voegen eigen limieten toe, zoals een abonnement dat één gelijktijdige sessie toestaat, een licentietelling of een regel die één sessie per openbaar adres toestaat, en geen routerinstelling verandert daar iets aan.

sudo journalctl -u openvpn-server@server -n 60 --no-pager
cat /run/openvpn/server.status

Koppel de reparatie aan de logvermelding

Een weigering in het log vraagt om aparte inloggegevens per apparaat, een hogere limiet van degene die de dienst beheert, of een tweede gateway-eindpunt voor één machine. Als geen tweede poging ooit de server bereikt, is de blijvende reparatie een router die het protocol doorstuurt en meer dan één sessie houdt, of een transport dat de router goed aankan, zoals één TCP- of UDP-stroom. Kiezen tussen die twee is een beslissing over de levensduur van de hardware, niet over clientinstellingen.

Kopieer het profiel van een werkend apparaat niet naar de tweede machine en noem het klaar. Dat verandert een verbindingsprobleem in een toegangscontroleprobleem, want een verloren laptop is niet meer te onderscheiden van de kopie die nog in gebruik is. Het verbergt ook de oorspronkelijke storing, die terugkomt op het moment dat een derde apparaat verschijnt.

Twee levende sessies verifiëren

Verbind beide apparaten tegelijk, start de bedoelde toepassing op elk, verbind daarna een van beide opnieuw en herhaal. Een tweede pictogram dat even verschijnt bewijst niets over verkeer, en een sessie die na tien minuten wegvalt is een andere fout met een andere eigenaar. Vergelijk wat de server aan het eind meldt met wat de gebruikers zagen, want die twee verslagen zijn het vaak oneens.

Als beide sessies overleven en verkeer dragen, houdt de oplossing stand, en de notitie die u aan het begin schreef wordt het verslag van wat er mis was. Als er maar één overleeft, ga terug naar de eerste stap en controleer welke van de drie loguitkomsten u nu hebt, want het antwoord kan veranderd zijn. Routerhelpers kunnen een probleem maskeren dat op een ander netwerk terugkomt, terwijl een limiet per adres de gebruiker volgt en niet het apparaat. Testen vanaf een tweede netwerk is de goedkoopste manier om erachter te komen wat u werkelijk hebt verholpen.

Gerelateerde artikelen