DNS Android a léamh i gceart: de réir líonra, ní resolv.conf
Réitíonn d’app Android trí réiteach de réir líonra, ní tríd an resolv.conf a léigh tú díreach. Scrúdaigh LinkProperties, ceangail shocad agus Private DNS ar dtús.
Faigheann tú sliogán ar an ngléas, léann tú /etc/resolv.conf nó tochlaíonn tú seanluach net.dns1 amach, agus faigheann tú aon seoladh amháin. Réitíonn an aip os do chomhair trí rud eile ar fad. Ar eisiúint reatha Android tá an réiteach de réir líonra: coinníonn an córas beartas do gach Network agus cuireann sé i bhfeidhm ar an socad a rinne an iarratas. Is iarsmaí iad an comhad agus an tsean-airí, agus ní chuireann ceachtar acu síos ar an gcosán a thóg d’iarratas i ndáiríre.
Taispeántar an bhearna sin le linn rolladh amach split-tunnel agus Private DNS, áit a bhféadann dhá aip ar an teileafón céanna freagraí difriúla a fheiceáil go dlisteanach. Tosaíonn an treoir seo ag an réiteach mícheart nó ar iarraidh agus oibríonn siar go dtí an chumraíocht ar leis é.
Baineann an réiteach le líonra, ní leis an ngléas
Téann réiteach ainmneacha ar Android 9 agus níos déanaí trí réiteach córais a bhíonn bunaithe ar an Network a bhfuil socad ceangailte leis. Iompraíonn gach líonra a chuid LinkProperties féin, agus coinníonn na hairíonna sin liosta na bhfreastalaí DNS, na fearainn chuardaigh agus staid Private DNS don líonra sin amháin. Ní fhreagraíonn aon rud sa mhúnla sin do liosta amháin don ghléas ar fad a d’fhéadfá a léamh ó chomhad.
Déanann VPN an scoilteadh soiléir. Nuair a thagann an tollán aníos, soláthraíonn an aip VPN freastalaí DNS atá cláraithe ar líonra VPN féin, ionas go réitíonn aipeanna a ndéantar iad a ródú tríd na freastalaí sin agus aipeanna eisiatá a úsáideann an líonra bunúsach i gcónaí. Gléas amháin, dhá chosán freagartha, gan aon chontrárthacht.
Léigh an t-ábhar ón aip a bhfuil tionchar uirthi
Fiafraigh den aip féin. Is féidir le modh a bhfuil Context agus an ghnáthchead android.permission.ACCESS_NETWORK_STATE aige an t-ábhar a léamh gan airíonna córais a bhaint:
val cm = getSystemService(ConnectivityManager::class.java) ?: return
val network = cm.activeNetwork
val links = network?.let { cm.getLinkProperties(it) }
val dnsServers = links?.dnsServers
val privateDnsActive = links?.isPrivateDnsActive
val privateDnsName = links?.privateDnsServerNameIs é activeNetwork an rogha réamhshocraithe do do phróiseas, ní an t-aon líonra ar an ngléas, agus féadfaidh sé a bheith null nuair nach bhfuil réamhshocrú inúsáidte ag an nglaoiteoir. Is é VPN réamhshocraithe atá blocáilte an chúis is gnáthaí. Insíonn isPrivateDnsActive duit an dtéann iarratais ar an líonra sin thar TLS chuig réiteach ainmnithe, rud a athraíonn an méid a thaispeánfaidh iniúchadh simplí UDP 53 duit. Tá an dromchla API doiciméadaithe faoi LinkProperties, agus is sampla cumraíochta é gach luach ann seachas cruthúnas gur shroich iarratas áirithe freastalaí áirithe.
Nuair nach é an líonra réamhshocraithe an ceann a dhéanann an obair
Ní fhreagraíonn an t-ábhar ach don réamhshocrú. Is féidir le haip a próiseas nó aon socad amháin a cheangal le líonra eile, agus ansin leanann an réiteach an rogha sin agus do dhiagnóis fós ag tuairisciú an réamhshocraithe. Ní fhiosraíonn brabhsálaí a sheolann a réiteach DNS-over-HTTPS féin liosta an chórais ar chor ar bith, mar sin ní deir a chuid freagraí aon rud faoi chuid eile an ghléis. Ritheann aip próifíle oibre faoi úsáideoir ar leith le beartas dá chuid féin. Seiceáil an ceangal sula gouirfeá an milleán ar na freastalaí.
Is é comhtháthú VPN an leath eile. Is dhá chéim ar leith iad líne dhcp-option DNS a fháil i bpróifíl OpenVPN agus an seoladh sin a chlárú ar líonra VPN Android, agus teipeann ar chosán atá ar iarraidh chuig an bhfreastalaí chomh ciúin céanna le seoladh mícheart. Ó mheaisín forbartha, priontálann adb shell dumpsys connectivity na hairíonna nasc céanna de réir líonra nuair a cheadaíonn an tógáil é, rud a dhearbhaíonn an liosta gan aon chód a scríobh.
Déan comparáid idir an chumraíocht agus aon réiteach amháin atá ceadaithe duit
Roghnaigh ainm nach mór a réiteach laistigh den spás ainmneacha príobháideach agus ainm poiblí amháin, agus taifead an dá thoradh in aice an ábhair: líonra, freastalaí cumraithe, staid Private DNS agus téacs beacht na hearráide. Cruthaíonn iarratas díreach chuig freastalaí ainmnithe go bhfreagraíonn an freastalaí sin duit; ní chruthaíonn sé gur roghnaigh gnáthréiteach na haipe é. Ní tástáil úr é freagra atá i dtaisce, mar sin glan an taisce nó úsáid ainm nár fhiafraigh aon duine faoi inniu.
Má ní fhreastalaíonn an réiteach ach ar chliaint ó líonra rochtana áirithe, féadfaidh an méid a fheiceann sé tar éis eisithe VPN an toradh a chinneadh, agus is ceist bheartais é sin don té a riarann é seachas cruthúnas go gcuireann oibreoirí bac ar UDP 53. Nuair atá Private DNS gníomhach, féadfaidh óstainm neamhcháilithe a bheith diúltaithe de réir dearaidh agus an freastalaí céanna ag freagairt ainmneacha poiblí go normálta. Insíonn léamh na n-airíonna duit cén mód atá i bhfeidhm, ionas go stopfaidh tú ag buille faoi thuairim faoi scagairí paicéad.
Deisigh an tsraith ar leis an neamhréiteach
Oibrigh aníos in ionad staid dhomhanda a chur in eagar. Má tá an aip ceangailte leis an líonra mícheart, deisigh an ceangal. Má sheolann an phróifíl an rogha DNS mhícheart, deisigh an phróifíl. Má tá Private DNS dian ar líonra nach féidir lena réiteach do chrios príobháideach a fhreastal, is cinneadh bainistíochta gléis é sin seachas cúis chun an ghné a mhúchadh i ngach áit.
Is é iallach a chur ar réitigh phoiblí isteach i hook DHCP nó in airí córais an deisiú a chruthaíonn teagmhais arís agus arís eile: stopann ainmneacha príobháideacha ag réiteach, maireann an t-athrú níos faide ná an seisiún VPN, agus aimsíonn an chéad duine eile ar an ngléas seoladh cairthe gan úinéir. Coinnigh an t-athrú laistigh den VPN, den aip nó den tsraith bhainistíochta ar leis an neamhréiteach é, agus ansin léigh an t-ábhar arís chun a dhearbhú gur athraigh liosta na bhfreastalaí i ndáiríre.
Is é a theastaíonn uait sa deireadh iarratas amháin aipe ceangailte le líonra amháin, liosta réiteach agus staid Private DNS. Nuair is féidir leat an slabhra sin a thaispeáint, ní cruthúnas ar aon rud a thuilleadh é seoladh eolach i gcomhad.