Waarom de ene VPN-bron werkt en de andere in een time-out loopt
Een werkende privédienst is een controle, geen belofte. Vergelijk adressen, poorten, responsfasen en identiteiten om te vinden wat de falende mist.
De ene privédienst laadt door de tunnel en de volgende loopt in een time-out, en de verleiding is om het hele clientprofiel opnieuw op te bouwen. De werkende dienst is nuttiger als controle dan als reden om opnieuw te beginnen. Hij bewijst dat één bestemming, één poort en één autorisatiepad zijn vervuld, en niets daarbuiten.
Twee diensten op dezelfde gateway zijn bereikbaar via verschillende adresfamilies, verschillende subnetten en verschillend beleid.
Scheid de werkende stroom van de falende
Behandel elke dienst als zijn eigen stroom en niet als een symptoom van de VPN. Een illustratieve client kan portal.corp.example openen op 172.20.4.15:443 en toch geen database bereiken op 172.20.9.40:5432, omdat dat twee bestemmingen met twee regelsets zijn. Schrijf beide rijen op voordat je iets verandert, inclusief de poort en het protocol, want een regel die TCP 443 op een host toestaat zegt niets over TCP 5432 op dezelfde host.
De falende rij is degene die onderzocht moet worden. De werkende rij zegt alleen waar de basislijn ligt, en die wordt het vergelijkingspunt na elke wijziging.
Vergelijk adressen voordat je namen vergelijkt
Los elke volledige naam op via het beleid dat de applicatie echt gebruikt en noteer dan de adresfamilie die is gekozen. De ene naam kan een IPv6-adres teruggeven terwijl een andere IPv4 teruggeeft, en een oud gecacht antwoord kan een verzoek naar een openbaar adres sturen dat niets met de privédienst te maken heeft.
ip route get 172.20.4.15
ip route get 172.20.9.40
ip -6 route get 2001:db8:60::20
De opzoeking beantwoordt een smalle vraag: welke route zou deze host voor die bestemming kiezen, gegeven de huidige tabellen en beleidsregels. Een route voor 172.20.4.0/24 dekt 172.20.9.0/24 niet, en een tweede netwerkbeheerder of een lokale route met betere specificiteit kan de tunnel stil overrulen. Herhaal de opzoeking binnen de namespace of met de markering die de applicatie gebruikt wanneer die van je shell verschillen. Noteer ook de interface waarlangs het pakket vertrekt, want de routetabel kan één interface noemen terwijl beleidsroutering de stroom via een andere stuurt.
Een route die overeenkomt is een noodzakelijke voorwaarde, geen toestemming. Hij zegt dat het pakket ergens heen kan en niets over of een firewall, een autorisatiedienst of de host zelf het accepteert.
Protocol en responsfase vertellen waar het stopt
Een ping-antwoord bewijst niet dat een databasepoort open is, en een geslaagde HTTPS-pagina autoriseert geen bestandsserver op dezelfde machine. Noteer wat er werkelijk terugkwam in plaats van elke fout in één categorie plat te slaan. Een time-out, een reset, een TLS-identiteitsfout en een weigering op applicatieniveau wijzen elk op een andere laag.
Het onderscheid is belangrijk omdat de correcties uiteenlopen. Stilte betekent meestal een route-, firewall- of vertaalprobleem op het pad. Een onmiddellijke reset suggereert dat iets de host bereikte en de poort weigerde. Een certificaatfout betekent dat de verbinding aankwam en de naam niet overeenkwam, wat een configuratieprobleem is en geen bereikbaarheidsprobleem. Een applicatieweigering betekent dat het netwerk zijn werk deed en de identiteit daarna werd geweigerd.
Wanneer een bron via een gateway wordt gepubliceerd, vergelijk dan het bronadres dat de bestemming ziet met de bron die je client denkt te gebruiken. Een verzoek dat door de gateway zelf is gestart kan slagen terwijl hetzelfde verzoek van een client faalt, omdat de twee van verschillende adressen komen en verschillende regels tegenkomen.
Wijzig één variabele en voer beide verzoeken opnieuw uit
Identiteit is de laatste plek waar mensen kijken en de eerste plek waar een correcte weigering verschijnt. De VPN-login, de directorygroep en het applicatieaccount zijn drie afzonderlijke identiteiten die uiteen kunnen lopen. Toegang tot een portaal impliceert nooit toegang tot de database erachter, en een naam in het ene directory maakt geen rij in het andere. Als de dienst buiten de bedoelde scope van de gebruiker valt, is de weigering het systeem dat werkt.
Vraag de eigenaar van de bron om het bedoelde recht te bevestigen in plaats van een brede route toe te voegen of een groep als test open te zetten. Het netwerk verbreden om een punt te bewijzen is de manier waarop een tijdelijke diagnose een permanente blootstelling wordt, en het vernietigt de controle waarmee je begon. Eén aangetoonde afwijking per iteratie is genoeg: een ontbrekende route, een verkeerde adresfamilie, een geblokkeerde poort of een ontbrekend groepslidmaatschap.
Herhaal na elke wijziging beide verzoeken en houd de uitvoer naast elkaar. Het onderzoek eindigt wanneer de falende dienst onder zijn eigen beleid werkt, terwijl de werkende dienst en de weigeringen die je nog verwacht zich precies als voorheen gedragen.