Leiðarstýring stefnu í OpenWrt: keðjan sem grípur staðbundið DNS
Fyrirspurnir biðlara og fyrirspurnir leiðarans sjálfs fara inn um mismunandi króka. Stefna sem beinist að prerouting ber hverja LAN-fyrirspurn og skilur leiðarann eftir á ISP-uplinkinu.
Biðlarar á LAN leysa í gegnum göngin og eigin uppflettingar leiðarans gera það hljóðlega ekki. Pakkauppfærslur, tímasamstilling og kraftmikið DNS fara öll um venjulega uplinkið meðan hver áfram send fyrirspurn tekur VPN-ið, og ekkert í viðmótinu bendir til þess að tvær mismunandi leiðir séu til. Skýringin er ekki villa í stefnunni heldur spurningin um hvaða krókur sér pakkann. Tveir straumar, eitt leysirheiti og aðeins annar þeirra fer yfir leiðarann. Að aðskilja þá er öll lagfæringin.
Tveir straumar, eitt leysirheiti
Fyrri straumurinn er sá sem fólk ímyndar sér. Biðlari spyr leysi leiðarans, leysirinn sendir áfram upp og sú áfram senda pakki fer í gegnum leiðarann á leið út. Sá pakki er sýnilegur öllu sem fylgist með áfram sendum umferð.
Seinni straumurinn kemur aldrei frá neinum stað. Leiðarinn býr hann til, þannig að það er enginn pakki á innleið og ekkert áframsendingarskref til að passa.
Báðir geta beint að sama leysirheiti, og einmitt þess vegna er auðvelt að missa af muninum. Sama áfangastaður, annar uppruni, önnur keðja. Þegar þú sérð upprunann fylgir restin af greiningunni.
Áfram sendir og staðbundið búnir pakkar fara inn á mismunandi hátt
Áfram send umferð er metin þegar hún kemur frá öðru viðmóti. Stefnuleiðarstýripakkar sýna það sem prerouting-keðju, og regla sem er sett þar sér hvern pakka sem fer yfir leiðarann. Þess vegna hegða fyrirspurnir biðlara sér nákvæmlega eins og stefnan lýsir, og þess vegna hunsar leiðarinn hana. Reglan er ekki röng, hún er bara fest við krók sem leiðarinn nær aldrei. Færðu hana og sama samsvörunin fer að virka.
Staðbundið búin umferð er búin til af ferli á leiðaranum og fer inn á útleiðina í staðinn. Hana leiðar ákvörðun leiðarans sjálfs og hún mætir stefnunni aðeins ef stefnan nær yfir þá keðju. Það er ekkert innkomið viðmót til að passa og engin áframsendingarákvörðun til að fylgjast með.
Það er eiginleiki þess hvar pakkar fæðast en ekki tiltekins pakka. Regla sem er skrifuð fyrir eina keðju hefur einfaldlega enga skoðun á hinni. Engin reglustilling breytir því.
Veldu útkeðjuna og þrengdu síðan samsvörunina
Lagfæringin er að festa sömu ásetninguna líka við útkeðjuna, eða færa regluna þangað þegar fyrirspurnir leiðarans sjálfs eru það sem þér þykir mikilvægt. Í OpenWrt-uppsetningu sem byggð er á stefnuleiðarstýripakka þýðir það að velja output í stað prerouting í keðjustillingu reglunnar. Haltu báðum reglum ef báðir hópar þurfa umfjöllun.
Þrengdu síðan að því sem reglan passar. Áfangastaðar leysirheit á gáttinni sem leysirinn notar í raun er miklu minni ákvörðun en að senda allt sem leiðarinn býr til í göngin.
Haltu reglunum tveimur skýrum í stað þess að reyna að skrifa eina sem nær yfir báðar keðjur. Aðskildar reglur eru auðlesnari og leyfa þér að slökkva á leið leiðarans án þess að trufla umferð biðlara meðan þú kembir. Þær gera teljarana líka merkingarbæra einn í einu.
Haltu eigin flutningi ganganna utan reglunnar
Ytri tengingu ganganna býr leiðarinn líka til. Regla sem sendir alla staðbundið búna umferð í göngin mun leiða göngin í gegnum sjálf sig, og þau koma alls ekki upp.
Aðgangur stjórnunar er annað fórnarlambið. Stjórnunarlotur sem eiga uppruna sinn í leiðaranum, eða svör við þeim, geta verið dregin í göngin af of breiðri staðbundinni reglu og orðið óaðgengileg frá LAN.
Útilokaðu endapunkt ganganna frá samsvöruninni og haltu reglunni takmarkaðri við leysirheitin. Það nægir fyrir DNS-kröfuna og er nógu lítið til að hugsa um.
Prófaðu báða hópa, ekki einn
Fylgstu með leiðaranum gera sína eigin fyrirspurn og taktu eftir hvaða viðmót bar hana. Endurtaktu uppflettinguna frá LAN-hýsinum og taktu eftir hvaða leið sú tók. Teljarar á stefnureglunum gera bæði svörin sýnileg án þess að giska.
Líttu á niðurstöðurnar sem tvö atriði. Biðlari sem leysir í gegnum göngin segir ekkert um leiðarann, og leiðari sem leysir rétt segir ekkert um biðlara á öðrum hlustanda. Skrifaðu þau sem aðskildar línur í breytingaskránni.
Athugaðu gáttina líka: regla sem passar við áfangastaðar gátt 53 sleppir leysi sem næst í gegnum DNS over TLS á 853 eða HTTPS-endapunkt. Passaðu við flutninginn sem uppstreymisstillingin notar í raun, og lekan lokast af réttri ástæðu.