Beina einum Linux-reikningi í gegnum OpenVPN með UID-reglu
uidrange-regla setur IPv4-sokkunum eins reiknings í núverandi göng án namespace. Ákveðið DNS, IPv6 og varaleið hvert fyrir sig, og sannreynið síðan.
Reikningsbundin leiðsögn hentar þegar hvert IPv4-sokkið sem einn Linux-notandi á þarf að fara út um núverandi göng, og hún hentar ekki þegar þú þarft einangrun á forritastigi. Hún velur eftir UID, svo allt sem keyrir undir þeim reikningi er innan sviðs, þar á meðal lotuverkið sem þú gleymdir. Leystu þá spurningu áður en þú snertir eitt einasta ip rule.
Dæmið hér að neðan gerir ráð fyrir sérstökum vafrareikningi á UID 1500, göngutæki tun-office með staðfangið 10.80.0.11, og VPN sem leyfir viðkomandi áfangastaði. Dæmoninn sjálfur keyrir utan þess UID.
Þrjú skilyrði sem velja aðferðina
Veldu UID-reglu þegar auðkennið sem vinnur verkið er reikningurinn, þegar það er ásættanlegt að flytja alla umferð hans, og þegar namespace væri þyngri en verkefnið á skilið. Veldu net-namespace þegar vinnuálagið þarf eigin tengi, leysir og leiðatöflu. Veldu milliþjón eða bindingu fyrir hvert ferli þegar nákvæmlega eitt forrit á að flytjast á meðan afgangur lotunnar heldur sig á staðbundinni leið. Að skrifa þessi þrjú niður kemur í veg fyrir reglu sem nær hljóðlega yfir meira en ætlað var.
Villan sem forðast á er að gera ráð fyrir að ræsirinn skilgreini eigandann. Vafri sem fær slóð frá lotu annars notanda hefur ekki búið til sokki undir UID 1500, og engin regla flytur umferðina sem hann myndar.
Taflan, reglan og vörðurinn
Eftir að hafa athugað núverandi reglur og valið ónotuð töflu- og forgangsnúmer er fyrirkomulagið stutt: sjálfgefin leið í sérstakri töflu sem ber upprunafang gönganna, regla sem sendir uppflettingar reikningsins í þá töflu, og lokaregla sem lokar varaleiðinni. Útskrifað er þetta afturkræf leiðarstaðganga, ip -4 route replace default dev tun-office src 10.80.0.11 table 51820, sem ip -4 rule add priority 12100 uidrange 1500-1500 lookup 51820 fylgir.
Vörðurinn er ip -4 rule add priority 12101 uidrange 1500-1500 unreachable, og hann skiptir meira máli en lengd hans gefur til kynna. Án hans fellur leið sem vantar í töflu 51820 í gegn á venjulega uppstrenginn og reikningurinn lekur hljóðlega umferð sem stefnan átti að grípa. Með honum verður sama bilun að tímanum sem rennur út, það er að segja lokun í stað varaleiðar.
Haltu venjulegu staðfangsreglunni á undan þessum, og ákveddu meðvitað hvort LAN- eða stjórnunarundantekningar eiga heima fyrir valda töfluna. Sjálfgefna leið sem finnst þar spyr ekki síðar main um nákvæmari LAN-leið, sem kemur þeim á óvart sem búast við að lengsta forskeytissamsvörun gildi milli taflna. Skrifaðu fyrirhugaðan undantekningarlista í breytingaskýrsluna meðan röksemdin er enn fersk.
Það sem UID-leiðsögn sleppir: DNS
Dæmon leysisins opnar uppstreymissokki sín undir eigin UID, svo val á 1500 flytur þessar fyrirspurnir ekki í töflu 51820. DNS-samþætting er sérstök ákvörðun: beindu reikningnum að leysi sem er aðgengilegur um göngin, eða samþykktu að nafnaupplausn fylgi leið hýsilsins en umferðin ekki.
Loopback-fyrirspurn á staðbundið stub er ekki sönnun þess að uppstreymisfyrirspurnin hafi notað leið vafrans, og vel heppnuð hleðsla síðu úr skyndiminni er það ekki heldur.
IPv6 þarf eigin setningu í hönnuninni
Reglurnar hér að ofan ná aðeins yfir IPv4. Ef krafan er IPv4-göng án beins IPv6 frá þessum reikningi, bættu við yfirfarinni lokareglu eins og ip -6 rule add priority 12101 uidrange 1500-1500 unreachable, og athugaðu síðan fyrri IPv6-reglur auk loopback-undantekninganna sem þú vilt halda.
Að loka beinu IPv6 er ekki tvíhópa göngun; það er mörk. Að kalla það göngun ruglar næstu manneskju sem les stefnuna, og ruglingurinn kemur upp sem stuðningsmiði um bilaða IPv6-vefsíðu.
Sannreynið með raunverulegum reikningi, og takið síðan lífsferilinn yfir
Berðu saman uppflettingar: ip -4 route get 198.51.100.25 uid 1500 við sama áfangastað með venjulegu UID. Gerðu síðan leyfða beiðni undir sérstaka reikningnum og athugaðu upprunafangið sem fjarlægi endinn sér. Valið upprunafang er ekki source NAT, og það mun ekki vega yfir forrit sem bindur eitthvað annað. Ef báðar uppflettingar skila sömu leið, gerir reglan ekki það sem þú heldur.
Haltu töflunni, reglunum og líftíma gönguleiðarinnar undir einum eiganda, prófaðu endurtengingu og tap á göngum, og þegar stefnan er lögð niður skaltu aðeins fjarlægja nákvæmar færslur hennar. Namespace er enn tiltækt ef aðskilin tengi og aðskilið ástand er það sem þú þarft í raun.