Llwybro polisi OpenWrt: y gadwyn sy’n dal DNS lleol
Mae ymholiadau cleientiaid ac ymholiadau’r llwybrydd ei hun yn mynd i mewn drwy fachau gwahanol. Mae polisi sy’n targedu prerouting yn cario pob ymholiad LAN ac yn gadael y llwybrydd ar uplink y darparwr.
Mae cleientiaid ar y LAN yn datrys drwy’r tiwnel ac nid yw ymholiadau’r llwybrydd ei hun yn gwneud hynny’n dawel. Mae diweddariadau pecynnau, cydamseru amser a DNS deinamig i gyd yn gadael drwy’r uplink arferol tra bo pob ymholiad a anfonir ymlaen yn cymryd y VPN, ac nid oes dim yn y rhyngwyneb yn awgrymu bod dau lwybr gwahanol yn bodoli. Nid nam yn y polisi yw’r esboniad ond cwestiwn o pa fach sy’n gweld y pecyn. Dau lif, un cyfeiriad datryswr, a dim ond un ohonynt yn croesi’r llwybrydd. Gwahanu’r ddau yw’r atgyweiriad i gyd.
Dau lif, un cyfeiriad datryswr
Y llif cyntaf yw’r un y mae pobl yn ei ddychmygu. Mae cleient yn gofyn i ddatryswr y llwybrydd, mae’r datryswr yn anfon ymlaen i fyny, ac mae’r pecyn a anfonwyd ymlaen yn mynd drwy’r llwybrydd ar ei ffordd allan. Mae’r pecyn hwnnw’n weladwy i unrhyw beth sy’n gwylio traffig a anfonir ymlaen.
Nid yw’r ail lif byth yn cyrraedd o unrhyw le. Mae’r llwybrydd yn ei greu, felly nid oes pecyn sy’n dod i mewn na cham anfon ymlaen i’w baru.
Gall y ddau dargedu’r un cyfeiriad datryswr, a dyna’n union pam mae’r gwahaniaeth yn hawdd i’w fethu. Yr un cyrchfan, gwahanol darddiad, gwahanol gadwyn. Unwaith y gwelwch y tarddiad, mae gweddill y diagnosis yn dilyn.
Mae pecynnau a anfonir ymlaen a phecynnau a grëir yn lleol yn dod i mewn yn wahanol
Mae traffig a anfonir ymlaen yn cael ei werthuso pan ddaw o ryngwyneb arall. Mae pecynnau llwybro polisi yn ei ddangos fel cadwyn prerouting, ac mae rheol a osodir yno yn gweld pob pecyn sy’n croesi’r llwybrydd. Dyna pam mae ymholiadau cleientiaid yn ymddwyn yn union fel y mae’r polisi’n ei ddisgrifio, a dyna pam mae’r llwybrydd yn ei anwybyddu. Nid yw’r rheol yn anghywir, mae ond ynghlwm wrth fach nad yw’r llwybrydd byth yn ei gyrraedd. Symudwch hi, ac mae’r un cyfatebiaeth yn dechrau gweithio.
Mae traffig a grëir yn lleol yn cael ei greu gan broses ar y llwybrydd ac yn mynd i mewn i’r llwybr allbwn yn lle hynny. Mae’n cael ei lwybro gan benderfyniad y llwybrydd ei hun ac mae’n cwrdd â’r polisi yn unig os yw’r polisi’n cwmpasu’r gadwyn honno. Nid oes rhyngwyneb sy’n dod i mewn i’w baru na phenderfyniad anfon ymlaen i’w arsylwi.
Mae hynny’n briodwedd o ble mae pecynnau’n cael eu geni yn hytrach nag o unrhyw becyn penodol. Nid oes gan reol a ysgrifennwyd ar gyfer un gadwyn unrhyw farn am y llall. Nid yw unrhyw faint o diwtio rheolau’n newid hynny.
Dewiswch y gadwyn allbwn, yna cyfyngwch y gyfatebiaeth
Yr atgyweiriad yw cysylltu’r un bwriad â’r gadwyn allbwn hefyd, neu symud y rheol yno pan mai ymholiadau’r llwybrydd ei hun sydd o bwys gennych. Mewn gosodiad OpenWrt a adeiladwyd ar becyn llwybro polisi, mae hynny’n golygu dewis output yn hytrach na prerouting yn lleoliad cadwyn y rheol. Cadwch y ddwy reol os oes angen cwmpas ar y ddwy boblogaeth.
Yna cyfyngwch beth mae’r rheol yn ei baru. Mae cyfeiriadau datryswr cyrchfan ar y porth y mae’r datryswr yn ei ddefnyddio mewn gwirionedd yn benderfyniad llawer llai na hanfon popeth y mae’r llwybrydd yn ei greu i’r tiwnel.
Cadwch y ddwy reol yn eglur yn hytrach na cheisio ysgrifennu un sy’n cwmpasu’r ddwy gadwyn. Mae rheolau ar wahân yn haws i’w darllen, ac maent yn gadael i chi analluogi llwybr y llwybrydd heb amharu ar draffig cleientiaid pan fyddwch yn dadfygio. Maent hefyd yn gwneud y cownteri yn ystyrlon un ar y tro.
Cadwch drafnidiaeth y tiwnel ei hun allan o’r rheol
Mae cysylltiad allanol y tiwnel hefyd yn cael ei greu gan y llwybrydd. Bydd rheol sy’n anfon yr holl draffig a grëir yn lleol i’r tiwnel yn llwybro’r tiwnel drwyddi hi ei hun, ac ni fydd yn codi o gwbl.
Mynediad rheoli yw’r ail ddioddefwr. Gall sesiynau gweinyddol sy’n deillio o’r llwybrydd, neu atebion iddynt, gael eu tynnu i’r tiwnel gan reol leol sy’n rhy eang a dod yn anghyraeddadwy o’r LAN.
Eithrwch bwynt terfyn y tiwnel o’r gyfatebiaeth, a chadwch y rheol wedi’i chyfyngu i gyfeiriadau’r datryswr. Mae hynny’n ddigon ar gyfer y gofyniad DNS ac yn ddigon bach i resymu yn ei gylch.
Profwch y ddwy boblogaeth, nid un
Arsylwch y llwybrydd yn gwneud ei ymholiad ei hun a nodwch pa ryngwyneb a’i cariodd. Ailadroddwch yr ymholiad o westeiwr LAN a nodwch y llwybr a gymerodd hwnnw. Mae cownteri ar y rheolau polisi’n gwneud y ddau ateb yn weladwy heb ddyfalu.
Triniwch y canlyniadau fel dau ganfyddiad. Nid yw cleient sy’n datrys drwy’r tiwnel yn dweud unrhyw beth am y llwybrydd, ac nid yw llwybrydd sy’n datrys yn gywir yn dweud unrhyw beth am gleient ar wrandawr gwahanol. Ysgrifennwch nhw fel llinellau ar wahân yn y cofnod newid.
Gwiriwch y porth hefyd: mae rheol sy’n baru porth cyrchfan 53 yn colli datryswr y cyrchir ato dros DNS over TLS ar 853 neu bwynt terfyn HTTPS. Parwch y drafnidiaeth y mae’r upstream a ffurfweddwyd yn ei defnyddio’n wirioneddol, ac mae’r gollyngiad yn cloi am y rheswm cywir.