Mae llwybro yn seiliedig ar gyfrif yn addas pan ddylai pob soced IPv4 sy’n eiddo i un defnyddiwr Linux adael drwy dwnnel sy’n bodoli, ac nid yw’n addas pan fydd angen ynysu ar lefel rhaglen. Mae’n dewis yn ôl UID, felly mae popeth sy’n rhedeg o dan y cyfrif hwnnw o fewn y cwmpas, gan gynnwys y swp gwaith y gwnaethoch ei anghofio. Setlwch y cwestiwn hwnnw cyn i chi gyffwrdd ag un ip rule.

Mae’r enghraifft isod yn tybio cyfrif porwr pwrpasol yn UID 1500, dyfais twnnel tun-office sy’n dal y cyfeiriad lleol 10.80.0.11, a VPN sy’n caniatáu’r cyrchfannau dan sylw. Mae’r daemon ei hun yn rhedeg y tu allan i’r UID hwnnw.

Tair amod sy’n dewis y mecanwaith

Dewiswch reol UID pan mai’r cyfrif yw’r hunaniaeth sy’n gwneud y gwaith, pan fydd symud ei holl draffig yn dderbyniol, a phan fyddai namespace yn drymach nag y mae’r dasg yn ei haeddu. Dewiswch namespace rhwydwaith pan fydd y llwyth gwaith angen ei ryngwynebau, ei ddatryswr a’i dabl llwybro ei hun. Dewiswch ddirprwy neu rwymiad fesul proses pan ddylai un rhaglen yn union symud tra bo gweddill y sesiwn yn aros ar y llwybr lleol. Mae ysgrifennu’r tri hyn yn atal rheol sy’n cwmpasu’n dawel fwy na’r bwriad.

Y camgymeriad i’w osgoi yw tybio bod lansiwr yn diffinio’r perchennog. Nid yw porwr y rhoddwyd URL iddo gan sesiwn defnyddiwr arall wedi creu socedi o dan UID 1500, ac ni fydd unrhyw reol yn symud y traffig a gynhyrchir ganddo.

Y tabl, y rheol a’r gwarchodwr

Ar ôl gwirio’r rheolau presennol a dewis rhifau tabl a blaenoriaeth nas defnyddiwyd, mae’r trefniadau’n fyr: llwybr diofyn mewn tabl pwrpasol sy’n cario cyfeiriad ffynhonnell y twnnel, rheol sy’n anfon chwiliadau’r cyfrif i’r tabl hwnnw, a rheol derfynol sy’n rhwystro’r cwymp. Wedi’i ysgrifennu, mae hynny’n disodli llwybr yn idempotent, ip -4 route replace default dev tun-office src 10.80.0.11 table 51820, ac yna ip -4 rule add priority 12100 uidrange 1500-1500 lookup 51820.

Y gwarchodwr yw ip -4 rule add priority 12101 uidrange 1500-1500 unreachable, ac mae’n bwysicach nag y mae ei hyd yn ei awgrymu. Hebddo, mae llwybr ar goll yn nhabl 51820 yn cwympo i’r uplink cyffredin ac mae’r cyfrif yn gollwng yn dawel draffig y bwriadwyd i’r polisi ei ddal. Gydag ef, daw’r un methiant yn derfyn amser, sef rhwystro yn hytrach na chwympo.

Cadwch y rheol cyfeiriad lleol arferol o flaen y rhain, a phenderfynwch yn ymwybodol a yw eithriadau LAN neu reoli yn perthyn o flaen y tabl a ddewiswyd. Nid yw llwybr diofyn a geir yno yn ymgynghori â main yn ddiweddarach am lwybr LAN mwy penodol, sy’n synnu pobl sy’n disgwyl i gyfateb rhagddodiad hiraf fod yn berthnasol ar draws tablau. Ysgrifennwch y rhestr eithriadau arfaethedig yn y nodyn newid tra bo’r rhesymu’n dal yn ffres.

Yr hyn y mae llwybro UID yn ei hepgor: DNS

Mae daemon datryswr yn agor ei socedi uplink o dan ei UID ei hun, felly nid yw dewis 1500 yn symud y chwiliadau hynny i dabl 51820. Mae integreiddio DNS yn benderfyniad ar wahân: pwyntiwch y cyfrif at ddatryswr y gellir ei gyrraedd drwy’r twnnel, neu derbyniwch fod datrys enwau’n dilyn llwybr y gwesteiwr tra nad yw’r traffig.

Nid yw chwiliad loopback i stub lleol yn dystiolaeth bod y chwiliad uplink wedi defnyddio llwybr y porwr, ac nid yw llwytho tudalen yn llwyddiannus o’r cache ychwaith.

Mae IPv6 angen ei frawddeg ei hun yn y dyluniad

Mae’r rheolau uchod yn cwmpasu IPv4 yn unig. Os mai’r gofyniad yw twnnel IPv4 heb IPv6 uniongyrchol o’r cyfrif hwn, ychwanegwch reol derfynol wedi’i hadolygu fel ip -6 rule add priority 12101 uidrange 1500-1500 unreachable, yna gwiriwch reolau IPv6 cynharach ynghyd â’r eithriadau loopback rydych am eu cadw.

Nid yw rhwystro IPv6 uniongyrchol yn dwneleiddio deu-stac; ffin ydyw. Bydd ei alw’n dwneleiddio yn drysu’r person nesaf sy’n darllen y polisi, a bydd y dryswch yn dod i’r amlwg fel tocyn desg gymorth am safle IPv6 wedi torri.

Dilyswch gyda’r cyfrif go iawn, yna perchnogwch y cylch oes

Cymharwch chwiliadau: ip -4 route get 198.51.100.25 uid 1500 yn erbyn yr un cyrchfan gyda UID arferol. Yna gwnewch gais a ganiateir o dan y cyfrif pwrpasol a gwiriwch y cyfeiriad ffynhonnell y mae’r pen pell yn ei weld. Nid yw cyfeiriad ffynhonnell a ffefrir yn source NAT, ac ni fydd yn trechu rhaglen sy’n rhwymo rhywbeth arall. Os yw’r ddau chwiliad yn dychwelyd yr un llwybr, nid yw’r rheol yn gwneud yr hyn rydych yn ei feddwl.

Cadwch y tabl, y rheolau ac oes llwybr y twnnel o dan un perchennog, profwch ailgysylltiad a cholled twnnel, a phan ymdeolir y polisi tynnwch ei gofnodion union yn unig. Mae namespace ar gael o hyd os mai rhyngwynebau ar wahân a chyflwr ar wahân sydd ei angen arnoch mewn gwirionedd.

Erthyglau cysylltiedig