scutil --dns a phriontálann an chumraíocht réiteora a ghlacann macOS i ndáiríre, ní an t-aon fhreastalaí DNS a chlóscríobh tú i bpainéal socruithe. Tá an t-aschur níos faide ná mar a mbíonn súil ag formhór na ndaoine, mar go gcoinníonn an córas bloic réiteora ar leith don chonair réamhshocraithe, do chomhéadain scóipeáilte agus d’atarchur a bhaineann go sonrach le fearann. Ní hé an bloc ag barr an aschuir an ceann a fhreagraíonn an cheist go gáinneach. Má réitítear ainm príobháideach san oifig agus má theipeann sé an nóiméad a n-ardaítear an VPN, tá an neamhréir sna rialacha meaitseála agus sna bealaí, ní i seoladh an fhreastalaí. Léigh an t-ordú ar dtús, ansin cruthaigh an freagra le fíorphéireacht.

Léigh ord na mbloc roimh na seoltaí

Osclaíonn gach iontráil le resolver #N agus liostaíonn sé nameserver[0], uaireanta if_index, líne flags, reach agus, nuair nach réamhshocrú simplí é an bloc, domain agus liosta search domain. Is é réiteoir uimhir 1 gan fearann an réamhshocrú a láimhseálann ainmneacha poiblí. Tá aon rud a iompraíonn Scoped ina bhratacha ceangailte leis an gcomhéadan a ainmníonn if_index, agus ní bhaineann aon rud atá marcáilte Supplemental ach leis na fearainn atá liostaithe faoina bhun.

Is é an roghnú meaitseáil iarmhíre. Do ainm ar nós intranet.corp.example, b’fhearr le macOS an réiteoir a bhfuil a iontráil domain ar an iarmhír mheaitseála is faide, mar sin bíonn bloc le domain : corp.example i gceannas ar an réamhshocrú fiú nuair a bhíonn sé i bhfad síos san aschur. Réitíonn order comhionannas idir fearainn den fhad céanna. Is annamh a theastaíonn níos mó ná seo ó chéadfhéachaint: an t-aschur iomlán nuair is mian leat bloc amháin a léamh ó thús go deireadh, na chéad línte chun ord na mbloc a fhoghlaim, agus pas scagtha a phriontálann ceanntásca na mbloc in aice leis na línte páirce. Tá bloic scóipeáilte le feiceáil faoina gceanntásc féin agus léitear iad mar leanúint den liosta os a gcionn, mar sin coinnigh ceanntásc i radharc aon uair a luann tú an t-aschur.

scutil --dns
scutil --dns | sed -n '1,45p'
scutil --dns | grep -nE '^resolver #|^DNS configuration'
scutil --dns | grep -nE 'resolver #[0-9]+|if_index|domain|flags|nameserver'

Meaitseáil if_index leis an gcomhéadan tolláin

Ní bhíonn innéacs úsáideach ach amháin má féidir leat an comhéadan taobh thiar de a ainmniú. Liostaíonn scutil --nwi an fhaisnéis líonra a choinníonn an córas, lena n-áirítear an príomhchomhéadan agus inrochtaineacht, agus tugann ifconfig -l na hainmneacha duit, áit a bhfuil utun0 go utun9 ina n-iarrthóirí tolláin a chruthaíonn cliant de ghnáth. Úsáideann Apple scutil --dns mar a shampla scrúdaithe féin sa treoir imlonnaithe, agus déanann sé doiciméadú ar conas is féidir le Network Extension fearainn roghnaithe a ródú chuig réiteoirí roghnaithe, arb é an mheicníocht sin a nochtaíonn na bloic scóipeáilte sin.

Is é an tseiceáil a shocraíonn an cheist ná an bhfuil an réiteoir ar an gconair a shuiteáil an tollán:

scutil --nwi
ifconfig utun4
route -n get 10.20.0.53
netstat -rn | grep -m5 utun

Má fhilleann route -n get geata agus comhéadan nach meaitseálann iontráil an réiteora, féadfaidh an seoladh a bheith go hiomlán ceart agus fós dorochtana. Scaoiltear tollán scoilte nach n-iompraíonn ach na fo-líonraí corparáideacha na ceisteanna a dhírítear ar fhreastalaí DNS lasmuigh díobh, agus tagann an teip chun solais mar am istigh, agus is é sin an fáth a bhfuil cuma ghlan ar an aschur cumraíochta i gcónaí.

Cuir ceist ar réiteoir an chórais, ansin ar an bhfreastalaí

Freagraíonn trí uirlis trí cheist éagsúla, agus cruthaíonn mearbhall eatarthu an chuid is mó de na conclúidí míchearta sa réimse seo. Téann dscacheutil -q host -a name trí réiteoir an chórais chéanna a úsáideann gnáthfheidhmchláir, mar sin tá feidhm ag bloic scóipeáilte agus forlíontacha. Léann dig gan argóint freastalaí /etc/resolv.conf, nach bhfuil ina fhoinse fírinne le haghaidh réitigh scóipeáilte ar macOS, agus scipeálann sé na rialacha in aghaidh an fhearainn ar fad. Sroicheann dig @address freastalaí amháin go beacht agus ní insíonn sé aon rud duit faoin roghnú.

dscacheutil -q host -a name intranet.corp.example
dig intranet.corp.example
dig @10.20.0.53 intranet.corp.example
nslookup intranet.corp.example

Nuair a fhreagraíonn an chéad ordú agus a fhilleann an dara ceann NXDOMAIN, tá an scoilt a raibh tú ag cuardach aimsithe agat agus níl aon rud briste. Nuair a théann an chéad cheann in éag agus dig @10.20.0.53 ag freagairt, oibríonn an réiteoir ach níl sé inrochtana ar an gconair a roghnaigh an tollán, mar sin is é route -n get an chéad chéim eile seachas eagar a chur ar shocruithe DNS. Coinnigh ainmneacha príobháideacha amach ó aon rud a ghreamaíonn tú i dticéad nó i nóta comhroinnte.

Cad nach féidir leis an aschur a thaispeáint duit

Suíonn roinnt sraitheanna os cionn liosta na réiteoirí nó ina aice, agus féadann gach ceann ceist a sheoladh áit nach luann an t-aschur riamh. Féadfaidh brabhsálaí a bhfuil DNS slán cumasaithe ann réiteach thar a chainéal criptithe féin, mar sin ní contrárthacht é leathanach a lódálann agus dscacheutil ag dul in éag. Ritheann seachfhreastalaí DNS a shuiteáil bogearraí slándála mar sholáthraí Network Extension agus atarchuireann sé ceisteanna é féin, agus taispeánann scutil --dns an rud a cumraíodh seachas an seoladh inlíne a d’úsáid an seachfhreastalaí sa deireadh. Cuireann fearainn chuardaigh tríú casta leis: cuirtear gach iarmhír liostaithe le hainm neamhcháilithe in ord, mar sin féadfaidh an bloc a d’fhreagair a bheith ar cheann nár cheap tú riamh.

Is iad freagraí sean an rud is saoire a eisiamh agus an rud is minice a scipeáiltear:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
scutil --dns | head -20

Má athraíonn an t-aschur tar éis an fhluise, bhí an staid i dtaisce agus chuir an t-aschur níos luaithe síos ar thollán nach raibh ann a thuilleadh. Mura n-athraíonn sé, is é an chumraíocht a bhfuil ann, agus bogann an cheist chuig bealaí agus chuig polasaí feidhmchlár.

Leabhrán gairid don roimh agus don iar

Gabhtar bonnlíne ach amháin nuair a cheadaíonn polasaí é, agus coinnigh na comhaid amach as aon fhillteán sioncronaithe. Is é an tseicheamh thíos an rud a ritheann mé ar mheaisíní cliaint: gabh an bhonnlíne, ceangail, gabh arís, ansin déan difreáil agus cuardaigh.

scutil --dns > ~/dns-before.txt
# connect the VPN, then:
scutil --dns > ~/dns-after.txt
diff -u ~/dns-before.txt ~/dns-after.txt
dscacheutil -q host -a name intranet.corp.example

Léigh an difríocht de réir blocs seachas de réir línte. Is é an cruth a bhfuiltear ag súil leis ná réiteoir scóipeáilte nua a iompraíonn innéacs comhéadain an tolláin agus iontráil domain don iarmhír phríobháideach. Is fionnachtain í réiteoir réamhshocraithe nua a dhíríonn ar sheoladh poiblí ar fiú í a ardú le duine ar leo próifíl an chliaint. Ansin déan an pheireacht a athrá laistigh den fheidhmchlár a theip i ndáiríre, ní hamháin sa bhlaosc, agus nótaigh an comhéadan ó route -n get in aice leis an toradh.

Chun athrú a chealú, dícheangail agus déan an ghabháil bhonnlíne a athrá. Má tá an bloc scóipeáilte imithe, tá an cliant i ndiaidh glanadh ina dhiaidh féin. Má tá an bloc fós liostaithe in aghaidh comhéadain nach bhfuil ann a thuilleadh, tá an staid sean, agus is é flush móide athcheangal an ceartú is séimhe sula mbaineann duine ar bith don phróifíl.

Ceithre sheiceáil, san ord seo: an meaitseálann bloc réiteora iarmhír is faide an ainm; an bhfuil an bloc sin ceangailte leis an gcomhéadan a shuiteáil an tollán; an n-úsáideann an bealach chuig a fhreastalaí ainmneacha an tollán; agus an bhfilleann réiteoir an chórais, ní dig, an freagra. Insíonn an chéad tseiceáil a theipeann duit cé acu ar chóir duit polasaí DNS, bealaí an tolláin nó an feidhmchlár a athrú. Má éiríonn leis na ceithre cinn agus má theipeann an t-ainm fós, tá an fhadhb os cionn DNS, agus is é an chéad rud eile le scrúdú aon rud a fhreagraíonn ar phort 53 os a chomhair.

Ailt ghaolmhara