Éi maskin, to jobbar, éin brannmur: ein Wi-Fi-uplink, eit lite Ethernet-subnett bak han, og ein skrivebords-VPN-klient som går ut frå at alt som forlèt maskina, er lokalt. Program som er starta lokalt, går ut via den lokale utgangsvegen. Einingar bak arbeidsstasjonen kjem inn på Ethernet-porten og treng ei vidaresendingsavgjerd. Eit unntak skrive for den første vegen ser aldri den andre, og difor går ein nettlesar utanom tunnelen medan einingane ikkje gjer det.

To pakkevegar, éi policy

OriginPathDecision owner
Application on the workstationOUTPUT then egressThe VPN app's routing policy
Device behind the workstationPREROUTING then FORWARDThe workstation's own forwarding policy

Den første rada er det dei fleste split-tunneling-retteleiingar skildrar. Den andre er ein rutarkonfigurasjon som tilfeldigvis ligg på same maskina. Å smelte dei saman til éin mental modell er feilen; dei deler ein kjerne, men ikkje ein policy. Teikn begge vegane før du endrar noka regel, og resten av designet følgjer av kva veg som manglar.

Tabellen forklarer òg kvifor éi maskin kan stå ein test og felle ein annan. Ein nettlesar på arbeidsstasjonen provar den lokale vegen; ein berbar PC kopla til Ethernet-porten provar vidaresendingsvegen. Valider ei endring med kvar av dei, elles blir den andre ståande utesta same kor mange gonger nettlesaren blir oppdatert.

Kva eit programunntak faktisk klassifiserer

Eit unntak per program fungerer vanlegvis ved å markere pakkar frå ein prosess eller ein brukar og deretter rute merkt trafikk utanfor tunnelen. Det er ein konstruksjon for lokal utgang. Ein pakke frå ei nedstraums eining har ingen lokal prosess, så han passar aldri med veljaren, kva veljaren enn er.

Kva veljaren enn er, er dei to listene ikkje den same lista, og det er heile poenget. Mullvad-rettleiinga for Linux skildrar merke som brannmuren og rutepolicyen hennar brukar, og døma hennar rettar seg mot lokal utgang; dei er ikkje ei støtta skildring av ein nedstraums rutar. Å kopiere dei gjev ei maskin som trur ho har eit unntak medan ho vidaresender alt inn i tunnelen.

Skriv transitkontrakten

Namngi nedstraums kjelde-prefiks og inngangsgrensesnittet saman, og avgrens deretter dette prefikset ved inngangen. Utan avgrensinga kan kvar eining som når porten, krevje ei utelukka adresse og forlaten via omgjenginga. Behandle det som to spørsmål: får desse vertane bruke denne uplinken i det heile, og får dei nå arbeidsstasjonen eller dei private områda til tunnelen? Det er ekstra løyve, ikkje biverknader av uplink-valet.

Tillat vidaresending, og filtrer henne deretter. Linux-gatewayen treng aktivert vidaresending, reglar som tillèt den tiltenkte trafikken i begge retningar, og anten ei oppstraums returrute eller medvite avgrensa kjeldeomsetjing. NAT åleine vel ikkje uplinken og gjev ikkje passasje gjennom eit filter; det skriv berre om ei adresse etter desse avgjerdene.

Klassifisering for transit må skje før avgjerda om vidaresendingsruta, noko som tyder prerouting-trinnet og ikkje output. Ein regel plassert etter avgjerda kan framleis endre pakken, men kan ikkje endre kvar pakken alt er send.

Merke høyrer til programmet som eig dei

Merkeverdiar, tabellnummer og kjedeprioritetar er ein del av policyen til VPN-programmet, ikkje tidlause konstantar. Eit varig nettverk som er avhengig av å setje inn ein regel i ein tabell som eit anna program genererer på nytt, vil bryte saman ved neste oppdatering, vanlegvis under ei gjentilkopling og ikkje på eit beleveleg tidspunkt.

Å leggje til ein andre basiskjede med ei accept-avgjerd overstyrer ikkje nødvendigvis ein drop i ein seinare kjede. Basiskjeder har krokar og prioritetar, og den første avgjerda i rekkjefølgja vinn; ein accept i éin kjede annullerer ikkje ein drop som ein annan kjede når først. Sjå på heile regelsettet og rekkjefølgja i rutepolicyen, ikkje på den eine teljaren som auka. Ein teljar provar at ein regel køyrde, aldri at avgjerda hans var den som vart brukt.

Integrer, eller flytt subnettet

Dei to designa skil seg i kven som eig omgjenginga. Eit integrert design held éi maskin og éin policy, på kostnad av avhengnad til tabell-livssyklusen til VPN-programmet og til eit sett merke som dokumentasjonen kan endre. Ein dedikert rutar for nedstraumsnettverket fjernar den avhengnaden heilt: subnettet har sin eigen uplink, og arbeidsstasjonen blir verande ein klient utan vidaresendingsrolle.

Vel den andre når nedstraumsnettverket må halde fram med å verke gjennom VPN-oppdateringar, eller når ingen kan teste den integrerte policyen etter kvar utgjeving. Vel den første berre når integrasjonen er dokumentert og nokon eig han.

Stadfest grensa i fire tilstandar: tilkopla, gjentilkopling, medvite blokkert og stansa. Kontroller namneoppslag og begge adressefamiliane under kvar av dei, fordi ei omgjenging som lek DNS ikkje er unntaket du designa. Testen skal prove den presise grensa, ikkje berre at éi side vart lasta.

Relaterte artiklar