Kontbazita enkursigo taŭgas kiam ĉiu IPv4-ingo posedata de unu Linux-uzanto devas eliri tra ekzistanta tunelo, kaj ĝi maltaŭgas kiam vi bezonas izoliton je programa nivelo. Ĝi elektas laŭ UID, do ĉio, kio ruliĝas kun tiu konto, estas en la amplekso, inkluzive de la batch-laboro, kiun vi forgesis. Solvu tiun demandon antaŭ ol vi tuŝos eĉ unu ip rule.

La suba ekzemplo supozas dediĉitan retumilan konton ĉe UID 1500, tunelan aparaton tun-office kun loka adreso 10.80.0.11, kaj VPN-on, kiu permesas la koncernajn celojn. La demono mem ruliĝas ekster tiu UID.

Tri kondiĉoj, kiuj elektas la mekanismon

Elektu UID-regulon kiam la idento, kiu faras la laboron, estas la konto, kiam deloki la tutan ĝian trafikon estas akcepteble, kaj kiam namespace estus pli peza ol la tasko meritas. Elektu retan namespace kiam la laborŝarĝo bezonas proprajn interfacojn, solvanton kaj enkursigan tabelon. Elektu prokuron aŭ ligadon po procezo kiam ĝuste unu aplikaĵo devas translokiĝi dum la resto de la sesio restas sur la loka vojo. Skribi tiujn tri antaŭenigas regulon, kiu silente kovras pli ol intencite.

La eraro evitebla estas supozi, ke lanĉilo difinas la posedanton. Retumilo, al kiu alia uzanta sesio donis URL-on, ne kreis ingojn sub UID 1500, kaj neniu regulo delokos la trafikon, kiun ĝi generas.

La tabelo, la regulo kaj la gardanto

Post kontrolo de ekzistantaj reguloj kaj elekto de neuzataj tabelaj kaj prioritataj numeroj, la aranĝo estas mallonga: apriora enkursigo en dediĉita tabelo portanta la fontan adreson de la tunelo, regulo, kiu sendas la serĉojn de la konto al tiu tabelo, kaj fina regulo, kiu blokas la retropaŝon. Skribite, tio estas idempotenta enkursiga anstataŭigo, ip -4 route replace default dev tun-office src 10.80.0.11 table 51820, sekvata de ip -4 rule add priority 12100 uidrange 1500-1500 lookup 51820.

La gardanto estas ip -4 rule add priority 12101 uidrange 1500-1500 unreachable, kaj ĝi gravas pli ol ĝia longo sugestas. Sen ĝi, mankanta enkursigo en tabelo 51820 falas al la ordinara suprenligo kaj la konto silente likas trafikon, kiun la politiko celis kapti. Kun ĝi, la sama fiasko iĝas tempolimo, do blokado anstataŭ retropaŝo.

Tenu la normalan lokadan-adresan regulon antaŭ tiuj, kaj konscie decidu ĉu LAN- aŭ administraj esceptoj apartenas antaŭ la elektita tabelo. Apriora enkursigo trovita tie ne konsultas poste main por pli specifa LAN-enkursigo, kio surprizas tiujn, kiuj atendas, ke plejlonga-prefiksa kongruo validas trans tabeloj. Skribu la intencitan esceptan liston en la ŝanĝnoton dum la rezonado ankoraŭ freŝas.

Kion UID-enkursigo preterlasas: DNS

Solvanta demono malfermas siajn suprenligajn ingojn sub sia propra UID, do elekti 1500 ne movas tiujn demandojn en tabelon 51820. DNS-integriĝo estas aparta decido: direktu la konton al solvanto atingebla tra la tunelo, aŭ akceptu, ke nomrezo sekvas la vojon de la gastiganto dum la trafiko ne.

Loopback-demando al loka stub ne estas pruvo, ke la suprenliganta demando uzis la vojon de la retumilo, kaj same ne estas sukcesa paĝa ŝargo el kaŝmemoro.

IPv6 bezonas sian propran frazon en la dezajno

La supraj reguloj kovras nur IPv4. Se la postulo estas IPv4-tunelo sen rekta IPv6 de tiu konto, aldonu reviziitan finan regulon kiel ip -6 rule add priority 12101 uidrange 1500-1500 unreachable, poste kontrolu pli fruajn IPv6-regulojn kaj la loopback-esceptojn, kiujn vi volas reteni.

Bloki rektan IPv6 ne estas duobla-staka tuneligo; ĝi estas limo. Nomi ĝin tuneligo konfuzos la sekvan personon, kiu legos la politikon, kaj la konfuzo aperos kiel subtena bileto pri rompita IPv6-ejo.

Kontrolu per la reala konto, poste posedu la vivciklon

Komparu serĉojn: ip -4 route get 198.51.100.25 uid 1500 kontraŭ la sama celo kun ordinara UID. Poste faru permesitan peton sub la dediĉita konto kaj kontrolu la fontan adreson, kiun vidas la malproksima flanko. Preferata fonta adreso ne estas source NAT, kaj ĝi ne superregos aplikaĵon, kiu ligas ion alian. Se ambaŭ serĉoj redonas la saman vojon, la regulo ne faras tion, kion vi pensas.

Tenu la tabelon, la regulojn kaj la vivdaŭron de la tunela enkursigo sub unu posedanto, testu rekonekton kaj tunelan perdon, kaj kiam vi retiriĝos la politikon forigu nur ĝiajn precizajn enskribojn. Namespace restas havebla se apartaj interfacoj kaj aparta stato estas tio, kion vi vere bezonas.

Rilataj artikoloj