Mae'r twnnel i fyny, mae'r tân-waliau yn caniatáu port 53, mae AdGuard Home yn rhedeg, ac yn dal mae enwau ddim yn cael eu datrys ar gyfer cleient WireGuard. Fel arfer, mae'r ymholiad yn cyrraedd ac mae ateb yn gadael, felly mae cyfrifwyr pecynnau ar y datrysiwr yn edrych yn iach ac mae'r gwasanaeth yn ymddangos yn ddieuog. Yr hyn sy'n mynd o'i le yw'r cyfeiriad ffynhonnell ar yr ateb hwnnw: mae'n gadael o gyfeiriad lleol nad oedd y cleient erioed wedi gofyn amdano, ac mae datrysiwr llafn y cleient yn ei daflu. Mae un rhestr yn nhrefniant AdGuard Home yn penderfynu hyn, ac mae'r diofyn arferol fel arfer yn trosglwyddo'r penderfyniad i'r craidd.

Mae'r ymholiad yn cyrraedd, mae'r ateb yn gadael o rywle arall

Mae cleient wedi'i ffurfweddu gyda 10.6.0.1 fel ei ddatrysiwr yn anfon ymholiad UDP i borth 53 ar 10.6.0.1. Mae'r pecyn hwnnw'n croesi'r twll ac yn syrthio ar y gwesteiwr, ac mae AdGuard Home yn ei ateb. Ar y wifren, fodd bynnag, mae'r ateb yn becyn newydd y mae cyfeiriad ffynhonnell y gwesteiwr yn ei ddewis, nid disgwyliad y cleient.

Pan mai soced wedi cysylltu yw datrysiwr y cleient, sef yr hyn y mae systemd-resolved, dnsmasq a'r rhan fwyaf o ddatryswyr stwb yn ei ddefnyddio, mae'n derbyn dim ond atebion o'r union gyfeiriad y anfonodd ato. Mae ateb a gyfeiriwyd o 192.168.1.10 i ymholiad a anfonwyd i 10.6.0.1 yn cael ei daflu cyn i unrhyw ddadansoddiad ddigwydd. Mae'r datrysiwr yn logio ateb llwyddiannus, mae'r cleient yn logio amseroedd gorffwys, ac mae'r ddau yn dweud y gwir.

Felly nid yw'r cyfrifwyr yn celwyddau ac nid yw'r cwsmer chwaith. Mae'r dystiolaeth sydd ei angen arnoch mewn tri lle, yn y trefn hon: y cyfeiriad y mae'r gwrandäwr wedi'i rwymo iddo, y llwybr y byddai'r craidd yn ei ddefnyddio i fynd nol at y cwsmer, a chyfeiriad y ffynhonnell ar y pecyn ateb gwirioneddol.

Sut mae'r craidd yn dewis ffynhonnell yr ateb

Nid oes gan soced UDP wedi'i rwymo i0.0.0.0gyfeiriad ffynhonnell ei hun, felly mae pob ateb sy'n mynd allan yn ysgogi chwilio am lwybr ar gyfer y cyrchfan. Yna mae'r craidd yn cymryd y ffynhonnell o'r llwybr hwnnw: y cyfeiriad a bennwyd gan y llwybr, neu brif gyfeiriad y rhyngwyneb sy'n mynd allan. Nid oes dim am gyfeiriad cyrchfan y cwestiwn yn cael ei gofio.

Ar gyfrifiadur â un cartref yn unig mae hyn yn anhysbys, oherwydd dim ond un ateb posibl sydd. Ar gyfrifiadur sydd â chyfeiriad LAN, cyfeiriad WireGuard a chyfeiriad rheoli, mae sawl ateb yn bosibl, ac mae'r enillydd yn dibynnu ar y tabl llwybr ar y funud honno. Ychwanegwch lwybr ychwanegol, ail gyfeiriad ar yr un rhyngwyneb, ailgyfeirio NAT ger y datryswr, neu redeg AdGuard mewn cynhwysydd gyda'i gofod enw ei hun, a gall y ffynhonnau a ddewisir wahaniaethu o'r un a ymholodd y cleient.

ss -lunp | grep :53yn dangos pa gêm yr ydych ynddi. Mae gwrandäwr ar0.0.0.0:53yn achos seren wynebu; mae gwrandäwr ar10.6.0.1:53eisoes wedi pinio'r ateb. Mae darllen y soced yn gyflymach na darllen y YAML, ac mae'n adlewyrchu beth sy'n rhedeg mewn gwirionedd yn hytrach na beth a gadwyd ddiwethaf.

Beth mae bind_hosts yn ei reoli mewn gwirionedd

Cartref AdGuard'sdns.bind_hostsyw'r rhestr o gyfeiriadau lleol a defnyddir gan gwrandäwr DNS. Y rhagosodiad a ddanfonwyd yw'r seren wydn, sy'n golygu derbyn ar bob cyfeiriad lleol a gadael i'r craidd ddewis y ffynhonnell fesul ateb. Mae disodli'r seren wydn gyda'r cyfeiriad y mae cleientiaid yn gwneud ymholiadau iddo yn newid y soced, ac gyda hynny'r cyfeiriad ffynhonnell ar bob ateb.

Mae'r rhestr yn cymryd mwy nag un cofnod, sydd yn bwysig ar ganolfan ddatrysu sy'n gwasanaethu dwy rwydwaith. Rhestru10.6.0.1a192.168.1.10yn rhoi dau soced wedi'i glymu, a'r ymholiad sy'n cyrraedd un o'r rhain yn cael ei ateb gan y cyfeiriad a gyrhaeddodd arno. Dyna'r ymddygiad y mae'r rhan fwyaf o bobl yn ei gymryd bod y seren wydn eisoes yn ei ddarparu.

Mae'r YAML yn syml, a'r cyfeiriad ynddo yw'r un y dywedwyd wrth eich cleientiaid twnnel i'w ddefnyddio, nid cyfeiriad prif y gwesteiwr:

dns:
  bind_hosts:
    - 10.6.0.1
  port: 53

Pam mae dau osodiad o un canolfan ddatrysu yn anghytuno

Rheoledig gan blagin, yn y cyd-destun hwn, yw'r hyn y mae'n ei olygu yw bod y datrysiwr wedi cael ei osod ac mae'n cael ei fonitro gan baciad arall: pecyn meddalwedd llwybr negesydd, pecyn NAS, neu ychwanegiad awtomeiddio cartref. Yn gyffredinol mae'r pecyn hwnnw'n cludo ei gopi ei hun o YAML AdGuard Home ac yn ailgychwyn y broses ar ei amserlen ei hun, tra bod achos annibynnol yn ffeil binari neu gynhwysydd y gwerthwr y byddwch chi'n ei ffurfweddu eich hun. Mewn unrhyw ffordd rydych chi'n edrych ar ddwy broses annibynnol gyda ffeiliau ffurfweddu ar wahân a dewision bind ar wahân, hyd yn oed pan fydd y ddau yn darllen yr un rhestr i fyny a'r un rhestrau hidlo. Gall un rwymo'r cyfeiriad tunnel penodol tra bod yr llall yn etifeddu'r seren gofod, a mae'r rhyngwyneb gwe yn edrych yr un peth o'r ddwy ochr.

Dyna pam nad yw "y solver yr un peth wnaeth weithio cyn y mudo" yn profi dim byd am y clymu cyfredol. Gwirio'r soced, yna gwirio'r ffeil ffurfweddu y mae'r broses sy'n rhedeg wedi'i llwytho'n wirioneddol. Mae copi hen mewn cyfeiriadur arall yn rheswm cyffredin pam mae'r golygu'n ymddangos fel pe na bai dim effaith.

Paeniwch ef, yna prawf o ochr y twll

Newidbind_hostsi gyfeiriad y twll, ailgychwyn y gwasanaeth, a chadarnhau bod y soced wedi symud:ss -lunp | grep :53dylai nawr ddangos10.6.0.1:53ac dim cofnod boncyff. Os yw'n dal i ddangos0.0.0.0,nid yw'r broses redeg yn darllen y ffeil wnaethoch ei golygu.

Yna prawf o'r cleient, oherwydd dyna'r unig ochr sy'n cyfrif. Ymholiad gydadig @10.6.0.1 example.comymarferion y llwybr ymarfer y defnyddiwr, a chaptur ar y gwesteiwr gydatcpdump -ni wg0 udp port 53dangosir cyfeiriad ffynhonnell yr ymateb ar y gwifren. Cyfnewidwch ef gyda'r cyfeiriad yn lleoliad datryswr y cleient; pan fyddant yn hafal, mae'r amseroedd gor-drysu'n stopio bod yn ddirgel.

ip route get 10.6.0.2yn esbonio unrhyw anghysonder sy'n weddill, oherwydd mae'n argraffu'r rhyngwyneb a'r ffynhonnell y byddai'r host yn ei defnyddio yn ôl i'r cleient. Os mae'r allbwn hwnnw'n enwi'r rhyngwyneb LAN, nid yw'r newid bind yw'r cywiriad cyfan ac mae'r tabl llwybr yw'r cam nesaf i'w ddarllen.

Beth na all y gosodiad bind ei drwsio

Nid yw pinio'r gwrandäwr yn atgyweirio rhestr mynediad sy'n hepgor is-rwydffan y tiwnel, rheol tân-wrthwyneb sy'n caniatáu'r ymholiad ond nid yr ymateb, neu lwybr ar goll yn ôl i'r pwll WireGuard. Mae'r rhain yn methu'n gynharach neu'n hwyrach na'r cyfeiriad ffynhonnell, ac mae gan bob un berchennog gwahanol.

Nid yw hefyd yn newidpa un i fyny'r afon y mae'r datryswr yn ei anfon ymlaen, boed yn wrthod diogelwch ail-ffynnu ateb preifat ar gyfer enw preifat, neu sut y mae'r cleient yn defnyddio ei bethau chwilio ei hun. Mae'r rheolaethau hynny'n wahân. Newid yr cyfeiriad ffynnu pan mae'r ffynhonnell ateb yn anghywir, a newid rhywbeth arall pan nad yw.

Erthyglau cysylltiedig