Algemene fout bij ping naar een LAN-adres met de VPN-client aan
Windows zegt helemaal geen adapter te kunnen bereiken terwijl de routetabel correct lijkt. Bepaal of de blokkade routing, filtering of de client is.
Eén hostroute, één adres, en de ping mislukt onmiddellijk met General failure in plaats van dat het verzoek een time-out krijgt. Dat verschil is de hele diagnose. Een time-out betekent dat het pakket is vertrokken en dat iets het heeft genegeerd. Algemene fout betekent dat Windows het pakket vanaf het begin aan geen enkele interface kon geven.
Dus wanneer de routetabel perfect lijkt en de fout nog steeds Algemene fout is, gebeurt de blokkade onder de routingbeslissing, en de client van de provider is wat daar werkt.
Lees de fout vóór de routetabel
Windows geeft die fout terug wanneer het geen interface vindt om op te verzenden, en het zegt niets over wat de bestemming met het pakket zou hebben gedaan. Bereikbaarheid, firewalls aan de andere kant en beschikbaarheid van de dienst zijn allemaal latere vragen die u nog niet hebt bereikt.
De klassieke configuratie voor dit geval is een hostroute die één LAN-adres naar de fysieke gateway stuurt zodat het de tunnel omzeilt. route add accepteert hem, route print toont hem, en de ping mislukt nog steeds, omdat het filterstuurprogramma al heeft besloten dat het pakket er niet uit mag.
Voordat u die verklaring accepteert, bevestigt u dat de route werkelijk wordt gekozen: controleer de interface-index en de metriek, en zorg dat de vermelding na een herverbinding niet verouderd is. Een route die naar een interface wijst die niet meer bestaat, geeft een vergelijkbare fout om een veel minder interessante reden.
Drie lagen, drie verschillende eigenaren
De laag die wint is degene die het laatst draait, en deze drie staan niet in de volgorde die de meeste mensen aannemen.
| Layer | What it decides |
|---|---|
| Routing table | Which interface and next hop should carry the packet |
| Client filter driver | Whether this packet is permitted to leave outside the tunnel at all |
| Client feature | Whether a named feature, such as LAN blocking, is active right now |
De middelste laag is de reden dat een route tegelijk correct en nutteloos kan zijn. Providerclients installeren een filter en firewallregels zodat verkeer buiten de tunnel wordt weggegooid, en dat is hetzelfde mechanisme dat hun kill switch implementeert. Niets in de routetabel neemt aan die beslissing deel.
De derde laag verklaart een vreemd rapport dat regelmatig binnenkomt: het lokale subnet is onbereikbaar, zelfs nadat de client is losgekoppeld. De dienst draait nog en het filter is nog geïnstalleerd, dus niet verbonden is niet hetzelfde als niet filterend. Verlaat de client in plaats van hem alleen los te koppelen voordat u iets concludeert.
Wat u achtereenvolgens moet proberen
Begin met het verwijderen van de functies die goedkoop te verwijderen en gemakkelijk te herstellen zijn. LAN-detectie, soms onzichtbaarheid op de LAN genoemd, blokkeert verkeer naar privéadresbereiken zodat de machine verborgen blijft voor zijn buren. Printers, lokale fileservers en de router zelf verdwijnen achter die schakelaar. Functies voor bedreigingsbeveiliging die DNS filteren, installeren hun eigen haken en er wordt gemeld dat ze de lokale bereikbaarheid op vrijwel dezelfde manier breken.
Schakel beide uit, sluit de client volledig af en test dan het adres. Die volgorde scheidt een functie die verkeer blokkeert van een tunnel die het verkeerd routeert, en het kost twee minuten in plaats van een middag met statische routes.
ping 192.168.1.50
tracert -d 192.168.1.50
route print -4
Als het adres antwoordt zodra de functies uit staan, hebt u een beleidsbeslissing en geen storing: kies tussen de functie uit laten, een uitzondering toevoegen of accepteren dat de machine onzichtbaar blijft op het lokale netwerk.
Gebruik het uitzonderingspad van de client, smal
Wanneer een functie aan moet blijven, is de eigen gesplitste tunneling van de client de ondersteunde uitweg. Houd de uitzondering zo klein als de vereiste toestaat, wat meestal één hostadres voor één server of één prefix voor één segment betekent. Een regel die een heel privébereik dekt, is een permanent gat dat niemand zich zal herinneren te hebben toegevoegd en dat niemand durft te verwijderen.
Verifieer daarna eerst op adres en dan op naam. Als het adres antwoordt met een eerste hop op de fysieke gateway, werkt de uitzondering. Als de naam nog steeds faalt, bent u doorgeschoven naar DNS, want de resolver van de tunnel kent de lokale zone niet en geen routingwijziging zal hem dat leren.
Houd de route of de uitzondering, niet beide, plus een notitie over welke het werk doet. Twee overlappende mechanismen verbergen elkaar, en de volgende persoon die deze machine debugt, verwijdert er een en ziet geen verandering.
Wanneer de client het obstakel is
Sommige builds filteren verkeer op manieren die noch een statische route noch een clientuitzondering kunnen verslaan. Wanneer dat de bevinding is, zijn de eerlijke opties wachten op de omzeilingsfunctie of verbinden met een gewone OpenVPN-client met het eigen profiel van de provider, wat de supportreactie van de leverancier in het oorspronkelijke rapport aanraadde.
Begrijp de ruil voordat u die vervanging doet. Een gewoon profiel gedraagt zich als elke gewone tunnel: het installeert zijn routes en herstructureert de rest van de stack niet, dus een smalle hostroute gedraagt zich nog steeds zoals u verwacht. Wat u verliest, is alles wat de merkclient rond de tunnel heeft geïmplementeerd, inclusief de kill switch en DNS-filtering, en dat moet bewust opnieuw worden gebouwd of als afwezig worden geaccepteerd.
Wat u ook kiest, noteer welke laag de blokkade bezat. Een pakket dat de machine nooit heeft verlaten, is een filterresultaat, en geen enkele routingwijziging kan een filter repareren.