Tá an tollán suas, ligeann an balla dóiteáin an port 53, tá AdGuard Home ag rith, agus ní réitíonn na hainmneacha fós don chliant WireGuard. Tagann an fiosrúghadh de ghnáth agus téann freagra de ghnáth, mar sin tá na comhaireamh pacáistí ar an réiteachóir go maith agus tá an tseirbhís le feiceáil gan locht. Is é an rud a théann mícheart ná an seoladh foinsí ar an bhfreagra sin: téann sé amach ó sheoladh áitiúil nach raibh an cliant ag iarraidh riamh, agus caitheann réiteachóir stábla an chliaint é. Cinneann ceann de na liostaí cumraíochta i AdGuard Home é seo, agus de ghnáth thugann a réamhshocrú an cinneadh don kernal.

Tagann an fiosrúghadh, téann an freagra amach ó áit éigin eile

Seolann cliant atá cumraithe le 10.6.0.1 mar a réititheoir fiosrúchán UDP go 10.6.0.1 port 53. Téann an phacáiste sin trasna an tolláin agus buaileann sé ar an óstach, agus freagraíonn AdGuard Home é. Ar an sreang, áfach, is pacáiste nua é an freagra a roghnaítear a seoladh foinsí ag stac an óstach, ní ag súil an chliaint.

Nuair is socket ceangailte é réititheoir an chliaint, agus is é seo a úsáidtear ag systemd-resolved, dnsmasq agus formhór na réititheoirí stub, ní ghlacann sé ach freagraí ón seoladh cruinn a sheol sé chuige. Cailltear freagra a d’eascair ó 192.168.1.10 go fiosrúchán a seoladh go 10.6.0.1 sular tharla aon pharsáil. Taifeadann an réititheoir freagra rathúil, taifeadann an cliant am as, agus tá an dá rud ag insint an fhírinne.

Mar sin níl na comhaireamhaithe ag insint breige agus níl an cliant ach an oiread. Tá an fhianaise atá uait i trí áit, sa tsraith seo: an seoladh atá na éisteoirí faoi cheangal leis, an bealach a úsáidfeadh an croí-chóras chun filleadh ar an gcliant, agus an seoladh foinsí ar an bpacáiste freagartha féin.

Conas a roghnaíonn an croí-chóras foinsí an fhreagra

Níl seoladh foinsí ar bith ag soicéad UDP faoi cheangal le0.0.0.0, mar sin gach freagra ag imeacht spreagann léiriú bealaigh don cheann scríbe. Ansin tógann an croí-chóras an foinse ón mbealach sin: an seoladh atá greamaithe ag an mbealach, nó príomhsheoladh an chomhéadain amach ag imeacht. Ní mheabhraítear aon rud faoi sheoladh ceann scríbe an cheiste.

Ar óstach a bhfuil aon nasc amháin aige, tá sé seo dofheicthe, mar níl ach freagra amháin is féidir. Ar mheaisín a bhfuil seoladh LAN, seoladh WireGuard agus seoladh bainistíochta aige, tá roinnt freagraí indéanta, agus braitheann an buaiteoir ar an tábla rátála ag an nóiméad sin. Cuir bealach breise leis, seoladh dara ceann ar an gcomhéadan céanna, athfhócas NAT os comhair an réititheora, nó rith AdGuard i gcoimeádán lena spás ainmneacha féin, agus d'fhéadfadh an foinse roghnaithe a bheith difriúil ón gceann ar iarr an cliant air.

ss -lunp | grep :53taispeánann cén cluiche atá tú ann. Tá éisteoir ar0.0.0.0:53an cás fiáin; tá éisteoir ar10.6.0.1:53tar éis an freagra a shocrú cheana féin. Tá sé níos tapúla an soicéad a léamh ná an YAML a léamh, agus léiríonn sé cad atá á rith i ndáiríre seachas cad a sábháladh deireanach.

Cad a riallaíonn bind_hosts i ndáiríre

Baile AdGuarddns.bind_hostsis é an liosta de sheoltaí áitiúla a úsáideann an éisteoir DNS. Is é an réamhshocrú a sheolfar ná an comhartha fiáin, rud a chiallaíonn glacadh ar gach seoladh áitiúil agus lig don chroí-lár roghnú an fhoinse de réir freagra. Ag athsholáthar an chomhartha fiáin leis an seoladh a bhfuil fiosrúcháin na gcliant ann athraíonn an tsóicéad, agus leis an seoladh foinsí ar gach freagra.

Tógann an liosta níos mó ná iontráil amháin, rud a bhfuil tábhacht leis ar réititheoir ag freastal ar dhá líonra. Liostáil10.6.0.1agus192.168.1.10tugann sé dhá tsóicéad nasctha, agus freagraítear fiosrúchán ag teacht ar bith acu ón seoladh ar tháinigh sé air. Sin é an iompar a mheasann formhór na ndaoine go soláthraíonn an comhartha fiáin cheana féin.

Tá an YAML simplí, agus is é an seoladh ann an ceann ar chuir do chliaint tineála fiosrúcháin orthu é a úsáid, ní seoladh príomhúil an óstach:

dns:
  bind_hosts:
    - 10.6.0.1
  port: 53

Cén fáth a mbriseann dhá shuiteáil de réititheoir amháin

Braiteann 'bainistithe ag breiseán', sa chomhthéacs seo, gur suiteáladh an réititheoir agus go bhfuil maoirseacht air ag pacáiste eile: pacáiste bogearraí rúdar, pacáiste NAS, nó breiseán uathoibrithe tí. De ghnáth seolann an pacáiste sin a chóip féin de YAML AdGuard Home agus atosóidh sé an próiseas ar a sceideal féin, cé go bhfuil cóip neamhspleách de chuid an díoltóra nó coimeádán tú féin á chumrú. Pé scéal é, tá tú ag féachaint ar dhá phróiseas neamhspleách le comhaid chumraíochta éagsúla agus roghanna nascadh éagsúla, fiú nuair a léann an dá cheann an liosta uachtarach céanna agus na liostaí scagaire céanna. D'fhéadfaí do sheoladh tollán ar leith a nascadh ina dhiaidh sin agus glacann an ceann eile leis an wildcard, agus tá an comhéadan gréasáin cosúil céanna ó aon taobh.

Sin é an fáth nach léiríonn "d'oibrigh an réititheoir céanna roimh an bhféasógáil" aon rud faoin nasc reatha. Seiceáil an socket, ansin seiceáil an comhad cumraíochta atá á luchtú ag an bpróiseas atá ag rith i ndáiríre. Is cúis choitianta go mbíonn cóip seanbhailithe i eolaire eile nach bhfuil aon éifeacht ag an eagarthóireacht.

Socraigh é ansin, agus tástáil ón taobh tolláin

Athraighbind_hostsgo seoladh an tolláin, atosú an tseirbhís, agus deimhnigh go bhog an socket:ss -lunp | grep :53ba chóir go léireodh sé anois10.6.0.1:53agus gan aon iontráil fiáin. Má tá sé fós ag taispeáint0.0.0.0,ní bhíonn an próiseas atá ag rith ag léamh an chomhaid a ndearna tú eagarthóireacht uirthi.

Ansin tástáil ón gcliant, toisc gurb é sin an t-aon taobh a bhfuil tábhacht leis. Déanann fiosrúchán ledig @10.6.0.1 example.coman cosán a úsáid a úsáideann an t-úsáideoir, agus déan grianghrafú ar an óstach letcpdump -ni wg0 udp port 53tá seoladh fhoinse na freagartha ar an sreang léirithe. Compareáil é leis an seoladh i socrú réititheora an chliaint; nuair atá siad cothrom, ní bhíonn an tráthfhágáil ina rún níos mó.

ip route get 10.6.0.2míníonn aon aisteacht atá fágtha, toisc go gclóíonn sé an comhéadan agus an fhoinse a úsáidfeadh an freastalaí ar ais chuig an gcliant. Má ainmníonn an t-aschur sin an comhéadan LAN, ní hé an athrú bind an socrú iomlán agus é an tábla bealaigh an chéad rud eile le léamh.

Cad nach féidir le socrú bind a shocrú

Ní dhéanann pináil an éisteora deisleacht a shocrú a dhéanann dearmad ar fo-scair a theann tríd an bpíblíne, riail díchosc a cheadaíonn an fiosrú ach nach gceadaíonn an freagra, nó bealach ar ais go dtí an linn WireGuard atá imithe i léig. Teipeann siad níos luaithe nó níos déanaí ná an seoladh fhoinse, agus tá úinéir difriúil ag gach ceann acu.

Ní athraíonn sé freisincén t-upruam a sheolann an réititheoir chugat, cibé an dtugann cosaint athnasctha aghaidh ar fhreagra príobháideach do ainm príobháideach, nó conas a chuirfidh an cliant a chuid féin de na fearainne cuardaigh i bhfeidhm. Is rialuithe ar leith iad sin. Athraigh an seoladh bind nuair atá an fhoinse freagra mícheart, agus athraigh rud éigin eile nuair nach bhfuil sé mícheart.

Ailt ghaolmhara