Klient-VLAN eller ein tagga trunk: vel rett OpenVPN-modus
vlan-tagging er ein svitsjmodell for tilgangsportar som serveren tildeler, ikkje gjennomsiktig tagg-transport. Samanlikn begge designa og dei tre vilkåra som avgjer.
To førespurnader kjem med nesten same ordlyd: set kvar VPN-klient i eit valt VLAN, eller bær ein eksisterande VLAN-trunk over VPN-et. Det er to ulike produkt. Den innebygde VLAN-medvitne modusen i OpenVPN er ein svitsjmodell for den første førespurnaden, og han er ikkje eit synonym for gjennomsiktig tagg-transport. Feil val gir eit design som ser konfigurert ut og stille slepp dei rammene du brydde deg om.
Kva den VLAN-medvitne modusen faktisk byggjer
Når vlan-tagging er slått på i ein TAP-utrulling berre for server, modellerer daemonen TAP-eininga si og kvar tilkopla klient som portar på ein intern svitsj. Klientportane er utagga, og VLAN-tilknytinga deira blir sett på serveren via vlan-pvid-konteksten per klient, ikkje av noko klienten sender. Det er heile poenget med modellen: medlemskap er eit vedtak på serversida om ein autentisert motpart. Ingenting i klientprofilen treng å vite kva VLAN han høyrer til.
TAP-sida til serveren får sin eigen tagga eller utagga akseptpolitikk via vlan-accept. Vidaresending inne i den svitsjen skjer berre mellom samsvarande VID-ar, også når client-to-client er sett, så to klientar i ulike VLAN kan ikkje nå kvarandre gjennom serveren sjølv om begge er tilkopla han.
Den modellen er ein tilgangsportmodell. Rammene som forlèt ein klient er utagga, og tilknytinga blir påtvinga av serveren ut frå identitet. Å be laptoppen tagge sin eigen trafikk er å be om eit anna design.
Tildelingar må følgje den autentiserte klientidentiteten, ikkje ein verdi klienten tilbyr om seg sjølv. Ei utelaten tildeling er heller ikkje ein karantenetilstand: klienten landar på standard-PVID-en, så ein manglande ccd-oppføring er eit stille policyvedtak snarare enn eit nøytralt.
Kva ein gjennomsiktig trunk krev i staden
Å bære allereie tagga rammer ende til ende byrjar med å slå av den VLAN-medvitne handsaminga. Svitsjmodellen og bevaring av taggar er alternativ, og å slå på begge ber éin funksjon gjere arbeidet til den andre.
Å slå det av er berre byrjinga. Brua i kvar ende og dei fysiske svitsjportane må bli samde om kva VLAN som er tillatne, kva tagg som er innfødd og korleis utagga rammer blir handsama. Å utvide ein ubegrensa trunk eksponerer langt fleire kringkastingsdomene enn dei to du ville kople saman.
Rammestorleik treng sitt eige budsjett. Ei tagga Ethernet-ramme pluss innkapsling er større enn nyttelasttalet folk kopierer frå ei rettleiing, og ein MTU som passa for ein rutta tunnel er ikkje prov på at ein trunk-veg fungerer.
Tre vilkår som avgjer svaret
For det første: støttar klientplattforma TAP i det heile? Android og iOS gjer det ikkje, og macOS-støtta er avgrensa, så ein flåte med mobile brukarar utelukkar begge TAP-designa, same korleis VLAN-a er ordna. Ei rutta TUN-økt bær IP-pakkar, ikkje Ethernet-rammer, og ingen VLAN-konfigurasjon på serversida endrar det. Sjekk flåten før du designar topologien, for dette vilkåret er det ein ikkje kan omgå. Det er også vilkåret som oftast blir oppdaga etter at svitsjarbeidet er ferdig.
For det andre: kven tildeler VLAN-et? Viss svaret er «serveren, ut frå kven som autentiserte seg», passar svitsjmodellen. Viss svaret er «den eksisterande svitsjinfrastrukturen, med taggar som allereie finst», treng du trunk-designet.
For det tredje: kor mykje av nettverket som skal vere nåbart? Svitsjmodellen held kvar klient i eitt VLAN av konstruksjon. Trunk-designet er ei bru, og ei bru som er feilkonfigurert koplar saman kringkastingsdomene som skulle ha halde seg åtskilde.
Å teste valet du tok
Kople til éin klient som skal vere i det tillatne VLAN-et og éin som ikkje skal, og test deretter frå det verkelege endepunktet i staden for frå serveren sjølv. Nåbarheit frå serversida provar at brua eller svitsjen finst; det provar ikkje kva VLAN ein klient hamna i.
ip -d link show tap0
bridge vlan showPå serveren viser den andre kommandoen VLAN-medlemskapen til kvar bruport, inkludert om ein port er tagga. Samanlikn det med tildelinga du hadde tenkt, før du feilsøkjer noko over lag to.
Noter kva av dei to designa utrullinga brukar. Eit notat som seier «VLAN-medviten» er tvitydig, og den neste ingeniøren vil ta utgangspunkt i det hen lærte først. OpenVPN sin VLAN-referansedefinerer oppførselen til svitsjen og konteksten per klient, og det er den kortaste vegen til å stadfeste kva modell du køyrer.