ADB og Android-hermirinn mistakast bak við VPN: þrjár leiðir
ADB-uppgötvun, sýndarnetkort hermirsins og leysir hýsilsins mistakast hvert í sínu lagi bak við VPN. Prófið hverja leið í röð áður en þið kennduð göngunum um.
Þú tengir skrifstofu-VPN og Android Studio týnir hermirsins sem er í gangi, adb start-server hangir og sími á Wi-Fi dettur út af tækjalistanum. Það lítur út eins og ein göng blokki eina vöru. Í raun mistakast þrjár aðskildar leiðir á þrjá vegu: ADB-tækjauppgötvun, sýndarnet hermirsins og leysir hýsilsins. Göngin eiga venjulega bara þá síðustu, og oft bara hluta hennar.
Þrjú sök, þrír eigendur
adb-þjónninn hlustar á gátt 5037 á hýslinum og talar við tæki um USB eða TCP, með mDNS fyrir netuppgötvun. Hermirinn keyrir bak við eigin sýndarleið og: gesturinn er 10.0.2.15, gáttin er 10.0.2.2 og DNS-þjónninn er 10.0.2.3, og ferli hermirsins þýðir allt í sök hýsilsins. Leysir hýsilsins er staðurinn þar sem VPN-biðlarinn setur upp DNS og leitarlandslén.
Sá aðskilnaður útskýrir hvers vegna lagfæring virðist virka fyrir eitt verkfæri en ekki annað. Biðlari sem breytir leysinum lætur ferli hermirsins vera með þá leysisstöðu sem það las við ræsingu. Biðlari sem síar multicast brýtur uppgötvunina án að snerta DNS. Biðlari sem síar sýndarmillistykki hafnar herminum meðan vafri hýsilsins heldur áfram að virka. Hvert einkenni á sér aðra orsök, svo finnið leiðina sem mistekst áður en þið breytið stillingu.
Byrjið á því sem adb sér
Keyrið adb devices áður en þið snertið VPN. Tómur listi er flutningsvandamál, ekki leiðavandamál, og engin stilling ganga bætir tæki sem þjónninn taldi aldrei upp. Endurræsið þjóninn hreint: fyrst adb kill-server svo adb start-server, og lesið úttakið til að sjá hvaða gátt hann tók. Ef ræsingin sjálf hangir er mDNS-uppgötvun venjulegi grunurinn á neti sem síar multicast; skjalfesta lausnin er að ræsa þjóninn með uppgötvun slökkt:
ADB_MDNS_OPENSCREEN=0 adb start-server
adb devicesFyrir líkamlegt tæki er USB stysta leiðin. Ef þú þarft TCP, settu tækið í hlustun með adb tcpip 5555 og tengdu við vistfang og gátt tækisins, adb connect 192.0.2.10:5555. Gátt 5037 er gátt þjónsins á hýslinum, ekki gáttin sem tæki hlustar á.
Prófið herminn innan frá
Hermirinn svarar DNS frá 10.0.2.3 og sá leysir er fóðraður af ferli hýsilsins. Þegar VPN-biðlarinn breytir leysinum getur hermirinn erft hann; þegar biðlarinn síar ferli hermirsins eða listi yfir millistykki hýsilsins breytist eftir ræsingu getur hann það ekki. Aðskiljið þau með tölulegu marki og nafni úr sama skel. adb shell ping -c 2 10.0.2.2 sannar að sýndarnetið nái til hliðar hýsilsins. Nafnaleit eftir það sýnir hvort upplausnin fór yfir mörkin.
Keyrið svo sömu nafnaleit á hýslinum. Hýsillinn leysir og hermirinn ekki merkir að brotið er milli leysis hýsilsins og sýndarnets hermirsins, ekki í göngunum. Bæði mistakast merkir að leysir hýsilsins er staðurinn til að skoða. Endurræsing hermirsins eftir VPN-tengingu er einnar tilraunar virði, því sumir biðlarar setja upp leysisstöðu sem ferli hermirs í gangi tekur ekki.
Kannið leysi hýsilsins og síur biðlarans
Biðlari með fullum göngum skiptir leysi hýsilsins út fyrir sinn eigin og split-DNS biðlari bætir við leitarlandslénum og skilyrtum áframsendendum. Innri nöfn ráðast oft af þeirri split-DNS uppsetningu, svo skoðið hvað hýsillinn notar meðan tengt er: vistfang leysisins, leitarlandslénið og hvort innra svæðið sé beint á DNS fyrirtækisins. Leysir sem svarar opinberum en ekki innri nöfnum er stefnumál, ekki brotin göng.
Sumir fyrirtækjabiðlarar loka líka á umferð frá sýndarmillistyk kjum. Fyrir síudrif virðist hermirinn vera sýndarmillistykki, svo hýsillinn getur unnið fullkomlega meðan stefnan hafnar herminum. Sú stefna sést ekki frá vinnustöðinni og gisk á milliþjónastillingu afhjúpar hana ekki. Ef hýsillinn leysir og hermirinn er lokaður óháð stillingum leysisins er rétta eskaleringin til teymis sem á biðlarastefnuna.
Röð athugana og hvað hvert úrslit þýðir
Vinnið ofan frá og niður og stöðvið á fyrstu röð sem mistekst. Hvert úrslit bendir á annan eiganda og ekkert þeirra lagast við að setja Android Studio upp aftur.
| Result | Likely owner | Next check |
|---|---|---|
| adb devices is empty with USB attached | USB, driver or adb server | cable, authorization prompt, adb kill-server |
| adb start-server hangs | mDNS discovery | ADB_MDNS_OPENSCREEN=0 |
| Emulator reaches 10.0.2.2, names fail | Host resolver to emulator boundary | host lookup of the same name |
| Host resolves, emulator still fails | Emulator process or client filter | restart emulator, ask IT about virtual adapters |
| Both fail for internal names only | Split DNS or search domain | resolver and zone configuration |
Aðeins tvær síðustu raðirnar eru VPN-spurningar í venjulegum skilningi og aðeins sú síðasta snýr að DNS-innihaldi. adb-skjöl ná yfir gátt þjónsins og umhverfisbreyturnar sem nefndar eru hér, nóg til að halda flutningshliðinni heiðarlegri meðan þið prófið restina.