Behold private ruter og slip omdirigeringen: OpenVPN-opdelt tunnel
En tunnel kun til private netværk kræver to regler: private præfikser går gennem den, almindelig browsing beholder sin lokale vej. At slette en standardrute er ikke en politik.
Tunnelen kommer op, programmet indlæses, og så begynder alt andet på bærbaren at opføre sig underligt. Det er den sædvanlige form for en politik kun for private netværk, der er implementeret ved at slette én linje. At fjerne en skubbet standardrute ændrer ganske vist, hvor trafikken går hen, men den siger ikke, hvor trafikken i stedet bør gå hen, og den rører slet ikke navneopløsning. En politik har brug for to positive halvdele, før den kan testes.
At slette omdirigeringen er kun den ene halvdel af ændringen
En omdirigering af hele tunnelen og en politik kun for private netværk adskiller sig i, hvad de hævder om verden. Omdirigeringen gør krav på enhver destination, mens den private politik gør krav på en liste og lader resten være. At slette kravet uden at skrive listen giver en klient, der ikke når noget uden for LAN'et, hvilket ligner en ruteudfejl snarere end et hul i politikken. Skriv listen, før du fjerner kravet, og så holder rækkefølgen af de to trin op med at betyde noget.
Begge halvdele er krav og ikke standardindstillinger. Private præfikser skal ind i tunnelen, og almindelige destinationer skal beholde den vej, de havde før forbindelsen.
Hvis en organisation påbyder fuld tunnel, gælder intet af dette. Designet kun for private netværk hører til udrulninger, hvor opdelt routing er godkendt.
pull-filter er et match, ikke en kontakt
Direktivet pull-filter fjerner skubbede valgmuligheder, hvis navne matcher et præfiks, og det er alt, det gør. Hvis omdirigeringen ignoreres, bliver enhver anden skubbet valgmulighed på plads, hvilket normalt er det, du ønsker: ruter, DNS-indstillinger og værdien for rute-gateway ankommer stadig. Det kan heller ikke fjerne et direktiv, der er skrevet i den lokale profil, fordi filtrering gælder for det, serveren skubber.
Modstå fristelsen til at ignorere enhver valgmulighed, der begynder med route. Det mønster kasserer også de private ruter, som forbindelsen har brug for, og det kan tabe gateway-oplysninger, som tunnelen afhænger af.
route-nopull er en bredere beslutning, end den ser ud til. Den stopper klienten med at acceptere skubbede ruter og DHCP-agtige valgmuligheder som en gruppe, hvilket er en anden politik end at filtrere en enkelt valgmulighed fra.
Skriv rutelisten fra programmet og udad
Begynd med det, brugeren faktisk åbner, og tilføj så de understøttende dele. Et program på 10.60.20.15 indebærer sit undernet 10.60.0.0/16, og et privat navn indebærer den resolver, der svarer på det. En bruger, der bad om ét program, har derfor brug for to destinationer og én DNS-beslutning. Alt ud over den liste er uden for rammen af konstruktion, og det er det, der holder politikken gennemskuelig.
På en samarbejdende server bliver de til to skubbede ruter, og ingen af dem er en omdirigering. Behold tunnel-topologien og værdierne for rute-gateway, som den eksisterende tjeneste leverer.
Når kun nogle brugere har brug for denne politik, anvend den per klient eller per gruppe. At ændre alles routing for at rette ét teams krav er måden, hvorpå en opdelt tunnel bliver et udfald.
| Destination | Intended path |
|---|---|
10.60.0.0/16 | Tunnel, for the approved application services |
10.61.0.53/32 | Tunnel, to reach the internal resolver |
corp.example queries | Internal resolver, selected per namespace |
| Everything else | Local path and local resolver |
Lad DNS følge samme vej
En rute til resolvers er ikke en resolverpolitik. På en systemd-resolved-klient er det semantiske resultat et routingdomæne for det private navnerum, der peger på den interne resolver, og det er det, der får kun de navne til at bruge den. En Windows-klient har i stedet brug for sin egen mekanisme til navnerumspolitik. En DNS-serverlinje i profilen installerer ikke nogen af delene af sig selv.
Kontrollér, hvad styresystemet valgte, i stedet for hvad profilen bad om. På Linux viser resolvectl status domænet og serveren per forbindelse; på Windows er navnerumspolitiktabellen det tilsvarende bevis.
Hold resolvers tilgængelig gennem tunnelen, ellers peger politikken på en adresse, der ikke kan forespørges. En resolveradresse, som tunnelen ikke kan nå, gør en fungerende politik til en timeout.
Bekræft begge halvdele ved en genopkobling
Genopkobl klienten efter ændringen, og undersøg den effektive rute til en privat adresse og til en offentlig. Slå derefter et privat navn og et offentligt navn op, og bekræft, at hver af dem brugte den tilsigtede resolver. At et offentligt websted indlæses beviser kun den anden halvdel, og det er den halvdel, der normalt virker ved et tilfælde.
Notér den færdige politik i én sætning: disse præfikser og navne bruger denne forbindelse, alt andet følger den lokale vej. Hold den derefter i profilen i stedet for at reparere adapterindstillinger efter hver login.