Unu maŝino, du taskoj, unu fajroŝirmilo: Wi-Fi-ligo supren, malgranda Ethernet-subreto malantaŭ ĝi, kaj labortabla VPN-kliento, kiu supozas, ke ĉio, kio forlasas la maŝinon, estas loka. Loke lanĉitaj aplikaĵoj foriras per la loka elira vojo. Aparatoj malantaŭ la laborstacio alvenas sur la Ethernet-haveno kaj bezonas plusendan decidon. Ekskludo skribita por la unua vojo neniam vidas la duan, kaj tial retumilo preteriras la tunelon dum la aparatoj ne faras tion.

Du pakaĵaj vojoj, unu politiko

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

La unua vico estas tio, kion priskribas la plej multaj gvidiloj pri split-tunneling. La dua estas enkursigila agordo, kiu hazarde loĝas sur la sama maŝino. Kunfandi ilin en unu mensan modelon estas la eraro; ili dividas kernon, sed ne politikon. Desegnu ambaŭ vojojn antaŭ ol redakti ajnan regulon, kaj la resto de la dezajno sekvas el tio, kiu vojo mankas.

La tabelo ankaŭ klarigas, kial unu maŝino povas trapasi unu teston kaj malsukcesi alian. Retumilo sur la laborstacio pruvas la lokan vojon; tekkomputilo konektita al la Ethernet-haveno pruvas la plusendan vojon. Validigu ŝanĝon per ambaŭ, alie la dua restas netestita kiom ajn la retumilo estos refreŝigita.

Kion aplikaĵa ekskludo fakte klasas

Ekskludo por unuopa aplikaĵo kutime funkcias per markado de pakaĵoj el procezo aŭ uzanto kaj poste enkursigo de la markita trafiko ekster la tunelo. Tio estas konstruo de loka eliro. Pakaĵo de malsupra aparato havas neniun lokan procezon, do ĝi neniam kongruas kun la selektilo, kia ajn estas la selektilo.

Kia ajn estas la selektilo, la du listoj ne estas la sama listo, kaj tio estas la tuta punkto. La Mullvad-gvidilo por Linux priskribas markojn konsumatajn de ĝia fajroŝirmilo kaj enkursiga politiko, kaj ĝiaj ekzemploj celas la lokan eliron; ili ne estas subtenata priskribo de malsupra enkursigilo. Kopii ilin donas maŝinon, kiu kredas havi ekskludon dum ĝi plusendas ĉion en la tunelon.

Skribu la trairan kontrakton

Nomu kune la malsupran fontan prefikson kaj la eniran interfacon, poste limigu tiun prefikson ĉe la eniro. Sen la limigo, iu ajn aparato, kiu atingas la havenon, povas postuli ekskluditan adreson kaj foriri per la ĉirkaŭiro. Traktu ĝin kiel du demandojn: ĉu tiuj gastigantoj rajtas entute uzi tiun supran ligon, kaj ĉu ili rajtas atingi la laborstacion aŭ la privatajn gamojn de la tunelo? Tiuj estas pliaj permesoj, ne kromefikoj de la elekto de la supra ligo.

Permesu plusendadon, poste filtru ĝin. La Linux-kluzo bezonas ŝaltitan plusendadon, regulojn, kiuj permesas la celatan trafikon en ambaŭ direktojn, kaj aŭ supran revenan itineron aŭ intence limigitan fontan tradukon. NAT sola ne elektas la supran ligon kaj ne donas pason tra filtro; ĝi nur reskribas adreson post tiuj decidoj.

Klasado por trairo devas okazi antaŭ la decido pri la plusenda itinero, kio signifas la etapon prerouting kaj ne output. Regulo metita post la decido ankoraŭ povas ŝanĝi la pakaĵon, sed ĝi ne povas ŝanĝi, kien la pakaĵo jam estis sendita.

Markoj apartenas al la aplikaĵo, kiu posedas ilin

Markaj valoroj, tabelaj numeroj kaj ĉenaj prioritatoj estas parto de la politiko de la VPN-aplikaĵo, ne eternaj konstantoj. Daŭra reto, kiu dependas de enmeto de regulo en tabelon, kiun alia programo regeneras, rompiĝos ĉe la sekva ĝisdatigo, kutime dum rekonekto kaj ne en oportuna tempo.

Aldoni duan bazan ĉenon kun accept-verdikto ne nepre superas drop de posta ĉeno. Bazaj ĉenoj havas hokojn kaj prioritatojn, kaj la unua verdikto laŭ la ordo gajnas; accept en unu ĉeno ne nuligas drop, kiun alia ĉeno atingas unue. Rigardu la kompletan regulkompleton kaj la ordon de la enkursiga politiko, ne la unu nombrilon, kiu pliiĝis. Nombrilo pruvas, ke regulo kuris, neniam ke ĝia verdikto estis la aplikita.

Integru, aŭ movu la subreton

La du dezajnoj diferencas laŭ tio, kiu posedas la ĉirkaŭiron. Integrita dezajno tenas unu maŝinon kaj unu politikon, je la kosto dependeci de la tabela vivociklo de la VPN-aplikaĵo kaj de aro da markoj, kiujn ĝia dokumentado povas ŝanĝi. Dediĉita enkursigilo por la malsupra reto forigas tiun dependecon tute: la subreto havas sian propran supran ligon, kaj la laborstacio restas kliento sen plusenda rolo.

Elektu la duan, kiam la malsupra reto devas daŭre funkcii tra VPN-ĝisdatigoj, aŭ kiam neniu povas testi la integritan politikon post ĉiu eldono. Elektu la unuan nur kiam la integriĝo estas dokumentita kaj iu posedas ĝin.

Kontrolu la limon en kvar statoj: konektita, rekonektanta, intence blokita kaj haltigita. Kontrolu nomresolvon kaj ambaŭ adresfamiliojn sub ĉiu el ili, ĉar ĉirkaŭiro, kiu likas DNS, ne estas la ekskludo, kiun vi dezajnis. La testo devus pruvi la precizan limon, ne nur ke unu paĝo ŝargiĝis.

Rilataj artikoloj