Þú færð skel á tækinu, lest /etc/resolv.conf eða grefur upp gamalt net.dns1-gildi, og færð eitt vistfang. Appið fyrir framan þig leysir úr gegnum eitthvað allt annað. Á núverandi Android-útgáfu er resolverinn á hverju neti: kerfið heldur stefnu fyrir hvert Network og beitir henni á socketinn sem sendi beiðnina. Skráin og gamla eigindin eru leifar, og hvorugt lýsir þeirri leið sem fyrirspurnin þín fór í raun.

Þetta bil kemur í ljós við uppsetningu split-tunnel og Private DNS, þar sem tvö öpp á sama síma geta með réttu séð mismunandi svör. Þessi leiðsögn byrjar á röngu eða vantar uppflettinguna og vinnur afturábak að stillingunni sem á hana.

Resolverinn tilheyrir neti, ekki tækinu

Nafnauppfletting á Android 9 og nýrri fer gegnum kerfisresolver sem byggir á Network sem socket er bundinn við. Hvert net ber sín eigin LinkProperties, og þau eigindi geyma DNS-þjónalistann, leitarlénin og Private DNS-ástand fyrir það net eitt. Ekkert í þeirri módel passar við einn lista fyrir allt tækið sem þú getur lesið úr skrá.

VPN gerir skiptinguna augljósa. Þegar tunnillinn kemur upp gefur VPN-appið DNS-þjóna sem eru skráðir á eigin neti VPN-sins, svo öpp sem eru beint í gegnum hann leysa úr hjá þeim þjónum á meðan útilokuð öpp halda áfram að nota undirliggjandi netið. Eitt tæki, tvær svarleiðir, engin mótsögn.

Lestu skyndimyndina innan úr viðkomandi appi

Spurðu appið sjálft. Aðferð sem hefur Context og venjulegu heimildina android.permission.ACCESS_NETWORK_STATE getur lesið skyndimyndina án þess að snerta kerfiseigindir:

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?.privateDnsServerName

activeNetwork er sjálfgefið net fyrir ferlið þitt, ekki eina netið á tækinu, og það getur verið null þegar kallandinn hefur ekkert nothæft sjálfgefið. Lokað sjálfgefið VPN er venjulega ástæðan. isPrivateDnsActive segir þér hvort fyrirspurnir á því neti fara yfir TLS til nefnds resolver, sem breytir því hvað einföld UDP 53-prufa sýnir þér. API-flöturinn er skjalfestur undir LinkProperties, og hvert gildi í honum er skyndimynd af stillingu en ekki sönnun þess að tiltekin fyrirspurn hafi náð tiltekinum þjóni.

Þegar sjálfgefna netið er ekki það sem vinnur verkið

Skyndimyndin svarar aðeins fyrir sjálfgefna netið. App getur bundið ferlið sitt eða einn socket við annað net, og þá fylgir uppflettingin þeirri ákvörðun á meðan greiningin þín segir enn frá sjálfgefna netinu. Vafri sem sendir sinn eigin DNS-over-HTTPS-resolver spyr aldrei kerfislistann, svo svör hans segja ekkert um restina af tækinu. Vinnusniðsapp keyrir undir sér notanda með eigin stefnu. Athugaðu bindingu áður en þú kennir þjónunum um.

VPN-samþættingin er hinn helmingurinn. Að taka við dhcp-option DNS-línu í OpenVPN-sniði og skrá það vistfang á Android VPN-netið eru tvö aðskilin skref, og leið sem vantar að þjóninum bregst jafn hljóðlega og rangt vistfang. Frá þróunarvél prentar adb shell dumpsys connectivity sömu tengieigindi á hverju neti þegar byggingin leyfir, sem staðfestir listann án þess að skrifa kóða.

Berðu saman stillinguna við eina uppflettingu sem þú mátt gera

Veldu nafn sem verður að leysast innan einkarýmis og eitt opinbert nafn, og skráðu bæði svörin við hlið skyndimyndarinnar: net, stilltir þjónar, Private DNS-ástand og nákvæman villutexta. Bein fyrirspurn til nefnds þjóns sannar að sá þjónn svarar þér; hún sannar ekki að venjuleg appuppfletting hafi valið hann. Skyndiminnið svar er ekki fersk prófun, svo hreinsaðu skyndiminnið eða notaðu nafn sem enginn hefur spurt um í dag.

Ef resolverinn þjónar aðeins biðlurum frá tilteknu aðgangsneti getur það sem hann sér eftir VPN-útgang ákvarðað niðurstöðuna, og það er stefnumál fyrir þann sem rekur hann en ekki sönnun þess að símafyrirtæki loka UDP 53. Þar sem Private DNS er virkt getur óhæft hýsilnafn verið hafnað að hönnun á meðan sami þjónn svarar opinberum nöfnum venjulega. Að lesa eigindin segir þér hvaða hamur er í gildi, svo þú hættir að giska á pakkasíur.

Lagaðu lagið sem á misræmið

Vinnu upp á við í stað þess að breyta alþjóðlegu ástandi. Ef appið er bundið við rangt net, lagaðu bindingu. Ef sniðið sendir ranga DNS-valkostinn, lagaðu sniðið. Ef Private DNS er strangt á neti þar sem resolverinn getur ekki þjónað einkasvæðinu þínu, er það ákvörðun tækjastjórnunar en ekki ástæða til að slökkva á eiginleikanum alls staðar.

Að þröngva opinberum resolverum inn í DHCP-króka eða kerfiseigind er viðgerðin sem heldur áfram að valda atvikum: einkanöfn hætta að leysast, breytingin lifir VPN-lotuna af, og næsta manneskja á tækinu finnur úrelt vistfang án eiganda. Haltu breytingunni innan VPN-sins, appsins eða stjórnunarlagsins sem á misræmið, og lestu skyndimyndina aftur til að staðfesta að þjónalistinn breyttist í raun.

Það sem þú vilt að lokum er ein appbeiðni tengd einu neti, resolverlista og Private DNS-ástandi. Þegar þú getur sýnt þá keðju er kunnuglegt vistfang í skrá hætt að vera sönnun fyrir nokkurn hlut.

Tengdir greinar