Kontakten “allow local network” i en VPN-klient lyder, som om den dækker alt i bygningen. I praksis tilføjer den normalt et par undtagelser for private adresser til tunnelens standardrute og stopper der. Dit lager-VLAN er kun tilgængeligt, hvis en rute til det pågældende præfiks overlever tunnelens ankomst, og på mange klienter gør den ikke.

Det er et rutingspørgsmål snarere end en VPN-indstilling, og det er godt nyt: det har et konkret svar.

Hvad allow-local-network egentlig dækker

Klienter implementerer den indstilling forskelligt. Nogle tilføjer ruter til det undernet, maskinen er koblet til, nogle tilføjer RFC 1918-intervallerne, og et par udelukker kun standardgatewayen. Ingen af dem ved, at din kontorrouter også betjener et lager-VLAN, et laboratoriesegment eller et printerundernet, fordi disse præfikser ikke er på det kabel, klienten kan se. Læs klientens egen dokumentation for den præcise adfærd i stedet for at antage, at etiketten beskriver din topologi.

Forskellen betyder mest i et design med fuld tunnel, hvor klienten bevidst erstatter standardruten, så al trafik går gennem VPN'en. Det er hele pointen med designet, og det er også det, der får de lokale routed netværk til at forsvinde. De var aldrig dækket af deres egen rute; de kørte på standardruten, som netop er blevet erstattet. En klient kan ikke route det, den ikke ved eksisterer, og den lærer kun om præfikser, der er knyttet til dens egen grænseflade. Alt andet skal beskrives af nogen, der kender topologien.

Forbundne ruter stopper ved den første router

En arbejdsstation på 192.168.10.20/24 med gateway 192.168.10.1 får automatisk en forbundet rute til 192.168.10.0/24. Lager-VLAN'et på 192.168.20.0/24 er et andet præfiks, kun tilgængeligt gennem den gateway, og arbejdsstationen har ingen rute til det ud over standardruten. Før tunnelen kommer op, sender standardruten tilfældigvis lagertrafikken til 192.168.10.1, og alt virker.

Når VPN'en installerer en standardrute til fuld tunnel, følger pakker til 192.168.20.1 den nye standardrute ind i tunnelen. Den fjerneste gateway aner ikke, hvor det præfiks bor, så den dropper dem eller videresender dem et ubrugeligt sted hen. Intet var konfigureret forkert på lager-VLAN'et; dets vej var lånt, og lånet blev indkaldt.

Fristelsen er at gribe efter en bred undtagelse som et /1-rutepar eller en anden standardrute. Modstå det. Jo smallere undtagelsen er, desto lettere er den at forklare, revidere og fjerne, når netværket ændrer sig.

Læg undtagelsen i den tabel, der vinder

Inden for én rutetabel slår en /24 en /0 eller en /1 ved længste præfiks-match, så en bestemt rute til lager-VLAN'et gennem den lokale gateway er nok, forudsat at tabellen overhovedet konsulteres. På Linux er den sædvanlige form kort:

ip route add 192.168.20.0/24 via 192.168.10.1 dev eth0

Policy routing komplicerer den garanti. En tidligere regel kan sende trafik til en tabel, hvis egen standardrute peger ind i tunnelen, og hovedtabellen med dit /24 nås så aldrig. Kontroller reglerne, før du antager, at ruten er autoritativ, for en korrekt udseende post i den forkerte tabel forklarer en fejl, der ser ud som en brudt rute.

Gør derefter posten vedvarende gennem klientens understøttede mekanisme eller den netværksadministrator, der ejer grænsefladen. En rute, der er skrevet i kommandoprompten, forsvinder ved næste genopkobling, og en rute bundet til én Wi-Fi-gateway kan ikke flyttes til det næste netværk, laptop'en besøger.

Navne og politik følger ikke ruter

At rette ruten genskaber pakker, ikke navne. Hvis lokale enheder opløses gennem en påtvunget resolver, der intet ved om dem, fejler monteringen stadig, selv om adressen er nåbar. Lokale navne kræver en lokal eller opdelt DNS-ordning, og det er en beslutning adskilt fra ruteundtagelsen.

Politik er igen noget andet. En VPN-klients filter for lokal adgang kan bevidst forbyde trafik til private intervaller, og en rute tilsidesætter ikke den regel. På et utroværdigt netværk er en privat adresse heller ikke bevis på, at destinationen er din lagerserver, så undtagelsen bør være lige så specifik som ruten selv.

En kontrakt, du kan overdrage

Det færdige design bør læses som en kort liste: almindelig internettrafik følger tunnelen, og disse navngivne lokale præfikser beholder deres vej gennem den lokale router. Skriv præfikserne, det næste hop og det DNS-suffiks, der hører til, og hold listen kort nok til, at nogen kan kontrollere den uden at læse en rutetabel.

Vær opmærksom på overlap mellem lokale og fjerne intervaller. Et lager-VLAN, der deler præfiks med noget bag VPN'en, vil blive opløst til den rute, der er mest specifik, og den resulterende adfærd er forvirrende på en måde, der virker periodisk. At omnummerere den ene side er normalt billigere end at fejlfinde tvetydigheden for evigt.

Test kontrakten to gange: en gang med tunnelen oppe og en gang med den nede. Hvis den lokale vej kun virker i en af de tilstande, er undtagelsen endnu ikke en kontrakt.

Relaterede artikler