Mae cleientiaid yn cysylltu ac yn dilysu, ac yna mae eu traffig yn gadael drwy’r cyswllt anghywir, oherwydd mai’r unig lwybr diofyn ar y peiriant sy’n perthyn i’r porth ei hun. Byddai disodli’r llwybr diofyn hwnnw’n torri diweddariadau’r peiriant ei hun a’r mynediad rheoli, felly rhaid i’r detholiad fod yn gulach na «phob traffig». Y ffurf weithredol yw rheol polisi sy’n seiliedig ar gyfeiriad ffynhonnell fewnol y gronfa gleientiaid, gan bwyntio at ail dabl llwybro sy’n berchen ar y WAN arall. O hynny ymlaen, mae’r rhestr wirio’n ymwneud â chyflawnrwydd ac ymddygiad methiant, nid â’r rheol ei hun.

Cadarnhewch fod y cyfeiriad ffynhonnell yn goroesi hyd at y penderfyniad llwybro

Nid yw rheol polisi sy’n cyfateb i ystod ffynhonnell yn tanio ond pan fo’r pecyn yn dal i gario’r ffynhonnell honno ar adeg y chwiliad. Mae traffig cleientiaid a anfonir ymlaen yn gwneud hynny, cyn belled nad oes unrhyw beth i fyny’r afon wedi’i ailsgrifennu cyn llwybro. Nid yw traffig a gynhyrchir gan y porth yn gwneud hynny, a dyna’n union pam y gall llwybr diofyn y porth ei hun aros lle mae.

Dyma lle mae profion lleol yn camarwain. Mae rhedeg curl ar y porth yn llif a gynhyrchwyd yn lleol gyda chyfeiriad y porth, felly mae’n cymryd y prif dabl ac yn profi dim am lwybr y cleient. Profwch o gleient sydd wedi’i gysylltu, neu gynhyrchwch draffig â ffynhonnell sy’n perthyn i’r gronfa mewn gwirionedd.

Dechreuwch drwy ysgrifennu’r gwerthoedd go iawn: rhagddodiad y gronfa, y rhyngwyneb tiwnel sy’n ei chario, cyfeiriad a naid nesaf yr ail WAN, a’r rhif tabl y bwriadwch ei ddefnyddio. Cliriwch yr hen reolau o unrhyw ymgais flaenorol cyn ychwanegu rhai newydd, oherwydd mae rheolau dyblygedig ar flaenoriaethau gwahanol yn cynhyrchu methiannau sy’n edrych yn hap.

Adeiladwch dabl detholedig sy’n gyflawn

Nid yw tabl yn llwybr diofyn gyda ffrind. Mae angen digon o lwybrau arno fel bod pob chwiliad yn datrys y tu mewn iddo, gan gynnwys y llwybr cysylltiedig ar gyfer isrwyd y WAN fel bod y naid nesaf yn gyrraeddadwy. Ar gyfer cronfa 10.77.0.0/24 ar tun1, cyfeiriad WAN 203.0.113.20/24 gyda naid nesaf 203.0.113.1, a thabl 600:

ip -4 route replace 203.0.113.0/24 dev usb0 src 203.0.113.20 table 600
ip -4 route replace 10.77.0.0/24 dev tun1 table 600
ip -4 route replace default via 203.0.113.1 dev usb0 table 600
ip -4 rule add priority 1500 from 10.77.0.0/24 lookup 600

Mae’r rheol yn eistedd ar flaenoriaeth islaw unrhyw reol dal-pob-peth bresennol, felly mae cleientiaid sy’n cyfateb yn taro tabl 600 yn gyntaf ac mae popeth arall yn syrthio i’r prif dabl. Mae cyfeirlyfr ip-rule yn disgrifio’r model chwilio trefnus a chystrawen y detholydd yn llawn.

Yna meddyliwch am yr hyn nad yw’r tabl yn ei gynnwys. Ni fydd cyrchfan sydd â llwybr yn y prif dabl yn unig, fel isrwyd rheoli sy’n gyrraeddadwy drwy eth0, yn cael ei chanfod yn nhabl 600 ac ni fydd yn cwympo’n ôl i’r prif dabl unwaith y bydd llwybr diofyn yno. Os yw’r llwybrau hynny’n bwysig, ychwanegwch nhw’n benodol at y tabl detholedig, sydd fel arfer yn ateb cywir ar gyfer tabl allbwn VPN.

Cadwch draffig y gwrandäwr ei hun allan o’r polisi

Mae gan wrandäwr OpenVPN ei gysylltiad allanol ei hun, a gludir dros ba bynnag gyswllt y cyrhaeddodd y cleient ef. Rhaid i’r traffig hwnnw gadw’r llwybr dychwelyd y daeth ag ef, a gall rheol eang sy’n cwmpasu cyfeiriad cyhoeddus y gweinydd neu holl ryngwyneb y tiwnel ei lusgo i’r tabl arall. Cyfyngwch y rheol i’r gronfa fewnol a dim arall.

Mae hidlo llwybr gwrthdro yn haeddu sylw am yr un rheswm. Pan fo atebion i gleientiaid yn gadael drwy usb0 tra bo’r cais wedi cyrraedd dros ddolen wahanol, gall gosodiad rp_filter llym ollwng pecynnau y mae’r polisi llwybro yn eu hystyried yn ddilys. Gwiriwch y gwerthoedd sysctl effeithiol ar y ddau ryngwyneb cyn dod i’r casgliad bod y rheol wedi methu.

Mae trefn hefyd yn bwysig mewn perthynas â phopeth arall ar y peiriant. Mae pontydd Docker, ail VPN, ac unrhyw reolau cynfodol o ddelwedd darparwr oll yn ychwanegu blaenoriaethau, felly darllenwch y rhestr reolau lawn yn lle tybio bod blaenoriaeth 100 ar ei phen ei hun.

Gwnewch i anfon ymlaen a chyfieithu gyd-fynd â’r llwybr

Mae llwybro yn dewis cyswllt; nid yw’n rhoi caniatâd i anfon ymlaen. Rhaid i’r cnewyllyn fod â llwybro IPv4 wedi’i alluogi, a rhaid i’r mur dan dân dderbyn y cyfeiriad o’r cleient i’r WAN a’r traffig dychwelyd. Mae tabl cywir gyda chadwyn FORWARD sy’n gollwng y llif yn cynhyrchu’r un symptom â llwybr coll, a dyna pam mae’r ddau’n cael eu gwirio yn yr un mynediad.

Os na fydd yr ail WAN yn llwybro cronfa breifat yn ôl atoch, cyfieithwch y ffynhonnell ar yr allbwn hwnnw. Ar gyfer rhyngwyneb â chyfeiriad deinamig, y dewis arferol yw rheol masquerade gul wedi’i chyfyngu i’r gronfa a’r rhyngwyneb:

iptables -t nat -A POSTROUTING -s 10.77.0.0/24 -o usb0 -j MASQUERADE

Mae cwmpas yn bwysicach na’r targed yma. Bydd rheol masquerade sy’n cyfateb i unrhyw ryngwyneb allanol yn ailsgrifennu traffig sy’n gadael yn gywir drwy eth0 hefyd, sy’n cuddio camgymeriadau llwybro yn lle eu cywiro. Mae cyfieithu’n rhedeg ar ôl y penderfyniad llwybro, felly ni all byth drwsio pecyn a anfonwyd i’r cyswllt anghywir.

Mae gorbenion tiwnel hefyd angen sylw unwaith y bydd llwybrau’n wahanol. Os bydd cleientiaid yn negodi MSS TCP mawr ac mae gan y WAN arall MTU is neu diwnel y tu mewn iddo, mae segmentau mawr yn tagu tra bo rhai bach yn gweithio. Mae clensio MSS ar lwybr anfon ymlaen yn troi hynny’n ymddygiad rhagweladwy yn lle hongian ysbeidiol.

Penderfynwch beth sy’n digwydd pan ddiflanna usb0

Nid yw tabl gwag yn gyflwr cau ar fethiant. Os yw’r llwybr cyfatebol yn diflannu, mae’r chwiliad yn parhau i’r rheol nesaf, yn cyrraedd y prif dabl ac yn cymryd llwybr diofyn eth0. Mae traffig a oedd i fod i adael drwy’r ail WAN yn gadael yn dawel drwy’r cyntaf, sydd mewn defnydd â llwybro polisi fel arfer yw’r canlyniad lleiaf dymunol.

Lle mae’r cwymp-yn-ôl hwnnw’n annerbyniol, ychwanegwch lwybr terfynol penodol yn nhabl 600, fel llwybr diofyn blackhole, neu ollyngwch y gronfa yn y mur dan dân tra bo’r rhyngwyneb i lawr. Mae’r naill ddewis neu’r llall yn benderfyniad y gallwch ei ysgrifennu; nid yw distawrwydd.

Dyfalbarhad yw’r eitem olaf. Pwy bynnag sy’n berchen ar y ddwy ddolen, boed hynny’n rheolwr rhwydwaith, yn sgript anfonwr neu’n gylch bywyd y cysylltiad, rhaid iddo ail-greu’r llwybrau a’r rheol ar bob ailgysylltiad heb atodi deuolion. Gwiriwch â chais o gleient go iawn a chais ar wahân o’r porth, cadarnhewch yr allbwn a welwyd ar y ddau, yna tynnwch yr ail WAN a gwyliwch pa un o’r ddau ganlyniad a gynlluniwyd gennych sy’n digwydd mewn gwirionedd. Mae IPv6 angen ei dabl, ei reol a’i gyfieithiad ei hun; nid yw rheol IPv4 uchod yn dweud dim amdano.

Erthyglau cysylltiedig