Rydych chi'n agor gliniadur mewn ystafell westy, yn cychwyn y cleient, yn teipio enw'r gweinydd ffeiliau mewnol, ac yn peidio â chael unrhyw beth yn ôl. Mae'r twndwl yn adrodd ei fod wedi cysylltu, ac mae ping i gyfeiriad yn yr un isrwyd yn dal i ateb, felly mae'r cludiant ei hun yn iawn. Dim ond yr enw sy'n methu, ac mae'r bwlch hwnnw'n culhau'r broblem i ddau le: pa ddatryswr y gofynnodd y cleient iddo, ac a all yr ateb a gafodd deithio'n ôl drwy'r twndwl. Cywirwch un a hepgorwch y llall, ac mae'r nam yn symud yn unig.

Cyn golygu unrhyw broffil, cadarnhewch beth mae'r cleient yn ei wneud â'r enw. Ar Linux, mae resolvectl query files.corp.example yn dangos pa ddolen a pha ddatryswr a gynhyrchodd yr ateb. Ar Windows, mae Resolve-DnsName files.corp.example yn dangos y gweinydd a atebodd a'r cyfeiriad a ddychwelodd.

Darllenwch yr ateb cyn newid unrhyw beth

Os daw'r enw yn ôl fel NXDOMAIN mewn ychydig filisecundau, ni chyrhaeddodd y cwestiwn eich parth byth ac atebodd rhyw ddatryswr cyhoeddus neu westy yn lle hynny. Os daw'n ôl ar ôl saib hir, mae rhywbeth yn gollwng porth UDP 53 ar y ffordd ac fe syrthiodd y cleient yn ôl yn y pen draw. Os yw'n ateb gyda'r cyfeiriad iawn ond bod y cysylltiad yn dal i sticio, mae'r chwiliad yn iawn a'r broblem yw'r llwybro neu'r gwasanaeth ei hun.

Mae'r rhannu'n dri hwnnw'n arbed awr o ddyfalu. Mae hefyd yn dweud wrthych a ddylech gyffwrdd â'r VPN o gwbl: mae enw sy'n datrys i'r cyfeiriad preifat cywir eisoes wedi profi llwybr y datryswr, felly mae'r gwaith sy'n weddill ar lwybr y data.

Rhannwch y datryswr o du mewn y twndwl

Mae cleientiaid yn syrthio i ddau grŵp. Gall y gweinydd roi datryswr i un grŵp wrth sefydlu'r cysylltiad; mae'r llall yn cadw'r gosodiad mewn ffeil leol na all unrhyw giât ei newid o bell.

OpenVPN sydd yn y grŵp cyntaf. Ar y gweinydd, mae push "dhcp-option DNS 10.8.0.53" a push "dhcp-option DOMAIN corp.example" yn teithio i lawr y sianel reoli, ond dim ond os oes gan y ffurfweddiad cleient pull wedi'i alluogi o hyd. Ni fydd cleient a olygwyd â llaw sy'n cario pull-filter ignore "dhcp-option" byth yn eu gweld, ac mae'r un llinell honno'n esbonio nifer syfrdanol o achosion o „mae'r gweinydd yn ei wthio ond nad yw fy gliniadur yn cytuno“.

Mae WireGuard yn y grŵp ail, oherwydd nid oes gan y protocol unrhyw drafodaeth opsiynau o gwbl. Mae'r datryswr a'r parth chwilio yn mynd i floc [Interface] y cleient ei hun fel DNS = 10.8.0.53, corp.example. Mae wg-quick yn cymhwyso hynny drwy resolvconf neu systemd-resolved, ac ar Windows mae'r cleient swyddogol yn gosod rheolau NRPT nad ydynt yn bodoli ond tra bo'r twndwl i fyny: mae Get-DnsClientNrptPolicy yn eu rhestru, sy'n ei wneud yn ffordd gyflym o weld a wnaeth y cleient gymhwyso eich ffeil erioed.

Mae IPsec/IKEv2 yn y canol. Gall ategyn attr strongSwan ddychwelyd gweinydd DNS a dynnwyd o gronfa, ac mae cleient Windows fel arfer yn ei dderbyn, ond mae proffil sy'n hoelio ei weinydd enwau ei hun yn ennill dros beth bynnag a gynigir gan y giât. Ar gleient Linux y cam llaw cyfatebol yw resolvectl dns wg0 10.8.0.53 ac yna resolvectl domain wg0 '~corp.example'; mae'r ddau'n diflannu gyda'r rhyngwyneb, sef yn union yr hyn yr hoffech ar gyfer gosodiad wedi'i gwmpasu i'r twndwl.

Cwmpaswch yr ôl-ddodiad yn lle llyncu pob cwestiwn

Mae cyfeirio rhestr gyfan datryswyr y cleient at eich gweinydd mewnol yn hawdd ac yn anghywir fel arfer. Yna mae pob enw cyhoeddus yn datrys o allanfa eich canolfan ddata, mae CDNau'n dychwelyd cyfeiriadau pell, ac mae un methiant datryswr yn mynd â phori'r defnyddiwr gyda hi.

Anfonwch yr ôl-ddodiad preifat i mewn yn unig. Ar systemd-resolved, nid yw parth sy'n dechrau gyda ~ ond ar gyfer llwybro, felly mae ~corp.example yn golygu bod cwestiynau o dan yr ôl-ddodiad hwnnw'n mynd i weinyddion y ddolen honno tra bo popeth arall yn parhau i ddefnyddio'r rhwydwaith ffisegol. Mae Windows yn gwneud yr un peth â rheolau NRPT wedi'u cwmpasu i ofod enwau, a macOS â ffeil datryswr atodol o dan /etc/resolver/.

Mae enwau multicast yn haeddu eu hateb eu hunain. Mae enwau .local yn link-local yn ôl y cynllun (RFC 6762) ac nid yw rhyngwyneb tun pwynt-i-bwynt yn cario'r grŵp multicast hwnnw, felly ni fydd ychwanegu datryswr cyhoeddus yn eu cyhoeddi ac mae gofyn i ddatryswr mewnol unicast amdanynt yn dychwelyd NXDOMAIN. Gall adlewyrchydd fel avahi yn y modd adlewyrchydd bontio dau segment, ond penderfyniad ar ochr y gweinydd yw hwnnw na all unrhyw gleient ei ofyn. Os oes rhaid cyrraedd argraffydd neu NAS wrth enw, rhowch gofnod A iddo yn eich parth yn lle hynny.

Profwch y gall yr ateb deithio'n ôl

Mae ateb cywir sy'n pwyntio at gyfeiriad na ellir ei gyrraedd yn edrych yn union fel problem datryswr nes i chi wirio'r llwybr. Gofynnwch i'r cnewyllyn i ble y byddai'r ateb yn mynd: mae ip route get 10.20.5.20 yn enwi'r rhyngwyneb ac, yn fwy defnyddiol, y cyfeiriad ffynhonnell y byddai'n ei ddefnyddio.

Gwyliwch gyfeiriad y datryswr ei hun. Mae cleient sydd â DNS = 10.8.0.53 wrth ymyl AllowedIPs = 10.20.0.0/16 yn anfon ei gwestiynau allan drwy'r NIC ffisegol, lle maent yn marw'n dawel, oherwydd nid yw'r datryswr o fewn unrhyw ragddodiad y mae'r twndwl yn ei hawlio. Yr anghysondeb hwnnw yw'r achos methiant sengl mwyaf cyffredin yn y maes cyfan hwn, ac mae'n anweledig oni bai eich bod yn cymharu'r gosodiad DNS â'r rhagddodiaid a ganiateir linell wrth linell.

Mae ystodau sy'n gorgyffwrdd yn achosi'r methiant gwrthgyferbyniol. Mae'r ateb yn iawn, mae'r llwybr yn bodoli, ac mae'n pwyntio at y gwesteiwr anghywir, oherwydd mae 192.168.0.0/24 gartref yn fwy penodol na llwybr y twndwl i'r un ystod. Ailrifwch un ochr neu gwthiwch lwybr culach, yna cadarnhewch fur tân a llwybr dychwelyd y gwesteiwr gwasanaeth; mae nodiadau strongSwan am hanfon ymlaen yn cwmpasu ochr sysctl y llwybr hwnnw.

Mae tystysgrifau'n wiriad hunaniaeth ar wahân y mae pobl yn ei roi ar DNS. Os yw'r porwr yn adrodd anghysondeb enw yn lle gwall datrys, mae'r chwiliad eisoes wedi gweithio a'r SAN ar y dystysgrif sydd angen ei drwsio. Profwch HTTPS yn erbyn yr enw, byth yn erbyn yr IP noeth.

Ailbrofwch o'r cleient, nid o'r giât

Profwch y tu mewn i'r cymhwysiad y mae'r defnyddiwr yn cwyno amdano, oherwydd nad yw chwiliad ar y llinell orchymyn yn profi bod y porwr yn cymryd yr un llwybr. Gall DNS diogel Chrome a network.trr.mode Firefox osgoi datryswr y system yn gyfan gwbl, a phan wnant hynny, mae enw preifat naill ai'n methu neu'n gollwng i ddatryswr cyhoeddus. Mae cymharu resolvectl query â dig @10.8.0.53 files.corp.example a redwyd â llaw yn dweud wrthych pa un o'r ddau a ddigwyddodd.

Yna datgysylltwch ac ailgysylltwch cyn ei alw'n drwsiadus. Mae gosodiadau a roddwyd â llaw ar ryngwyneb yn diflannu gyda'r rhyngwyneb, a bydd proffil na edrychai'n gywir ond oherwydd golygiad lleol a adawyd ar ôl yn methu ar y cychwyn nesaf.

Rhestr wirio fer ar gyfer y peiriant nesaf: mae'r enw'n datrys drwy ddatryswr y twndwl, mae'r ôl-ddodiad wedi'i gwmpasu yn hytrach na bod yn fyd-eang, mae cyfeiriad y datryswr o fewn y rhagddodiaid a ganiateir, mae gwesteiwr yr ateb yn ateb ar borth y gwasanaeth, ac mae'r dystysgrif yn cwmpasu'r enw a deipiodd y defnyddiwr.

Erthyglau cysylltiedig