ADB an den Android-Emulator versoen hannert engem VPN: dräi Weeër
D’ADB-Erkennung, de virtuelle Netzwierkkaart vum Emulator an de Resolver vum Host versoen hannert engem VPN getrennt. Teste Si all Wee der Rei no, ier Dir den Tunnel beschëllegt.
Dir verbënnt de Büro-VPN an Android Studio verléiert den Emulator deen leeft, adb start-server hänkt, an e physeschen Telefon iwwer Wi-Fi fält aus der Apparatelëscht. Et gesäit aus wéi wann een Tunnel ee Produkt blockéiert. Tatsächlech versoen dräi getrennt Weeër op dräi verschidde Manéieren: d’ADB-Apparaterkennung, de virtuelle Netzwierk vum Emulator an de Resolver vum Host. Den Tunnel besëtzt meeschtens just deen leschten, an dacks just en Deel dovun.
Dräi Sockets, dräi Besëtzer
Den adb-Server lauschtert op Port 5037 um Host a schwätzt mat Apparater iwwer USB oder TCP, mat mDNS fir d’Netzwierkerkennung. Den Emulator leeft hannert sengem eegene virtuelle Router: de Gast ass 10.0.2.15, säi Gateway ass 10.0.2.2 a säin DNS-Server ass 10.0.2.3, an den Emulatorprozess iwwersetzt dat alles a Sockets vum Host. De Resolver vum Host ass de Plaz wou de VPN-Client DNS a Sichdomänen installéiert.
Déi Trennung erkläert firwat eng Korrektur fir een Instrument schéngt ze funktionéieren an fir en anert net. E Client deen de Resolver vum Host ännert léisst den Emulatorprozess mat deem Resolverzoustand deen en beim Start gelies huet. E Client deen multicast filtert brécht d’Erkennung ouni DNS unzegoen. E Client deen virtuell Adapter filtert refuséiert den Emulator während de Browser vum Host weider schafft. All Symptom huet eng aner Ursaach, also identifizéiert de Wee deen versoe géif ier Dir eng Astellung ännert.
Fänkt mat deem un wat adb gesäit
Fëllt adb devices aus ier Dir de VPN ufässt. Eng eidel Lëscht ass e Transportproblem, keen Routingproblem, an keng Tunnelastellung reparéiert en Apparat deen de Server ni opgezielt huet. Start de Server propper nei: fir d’éischt adb kill-server duerno adb start-server, a liest d’Ausgab fir ze gesinn wéi ee Port en geholl huet. Wann den Start selwer hänkt, ass d’mDNS-Erkennung de gewéinleche Verdächtegen op engem Netzwierk deen multicast filtert; déi dokumentéiert Léisung ass de Server mat ausgeschaltener Erkennung ze starten:
ADB_MDNS_OPENSCREEN=0 adb start-server
adb devicesFir en physeschen Apparat ass USB de kürzesten Wee. Wann Dir TCP braucht, setzt den Apparat an de Lauschtermodus mat adb tcpip 5555 a verbënnt Iech mat der Adress an dem Port vum Apparat, adb connect 192.0.2.10:5555. Port 5037 ass de Serverport vum Host an net dee Port op deem en Apparat lauschtert.
Test den Emulator vun bannen
Den Emulator äntwert op DNS vun 10.0.2.3, an dee Resolver gëtt vum Prozess vum Host gefüttert. Wann de VPN-Client de Resolver vum Host ännert ka den Emulator en ierwen; wann de Client den Emulatorprozess filtert oder d’Adapterlëscht nom Start ännert, kann en dat net. Trennt déi zwee mat engem numereschen Zil an engem Numm aus der selwechter Shell. adb shell ping -c 2 10.0.2.2 beweist datt de virtuelle Netzwierk d’Säit vum Host erreecht. Eng Nummopsich duerno seet Iech ob d’Opléisung d’Grenz iwwerschratt huet.
Da fëllt déiselwecht Nummopsich um Host aus. Host léist op an Emulator net heescht datt de Broch tëscht dem Resolver vum Host a dem virtuelle Netzwierk vum Emulator ass, net am Tunnel. Béides versoe heescht de Resolver vum Host ass d’Plaz fir ze kucken. Den Emulator nom VPN-Connect nei starten ass een Versuch wäert, well e puer Clienten de Resolverzoustand installéieren deen en Emulatorprozess deen leeft net hëlt.
Kuckt de Resolver vum Host an d’Filtere vum Client
En Full-Tunnel-Client ersetzt de Resolver vum Host duerch säin eegene, an e Split-DNS-Client ergänzt Sichdomänen a bedingt Weiderleedungen. Intern Nimm hänken dacks vun där Split-DNS-Konfiguratioun of, also kuckt wat den Host am verbonnenen Zoustand benotzt: d’Adress vum Resolver, d’Sichdomän an ob d’intern Zon op de Firmen-DNS geroutet gëtt. En Resolver deen ëffentlech awer keng intern Nimm beäntwert ass eng Politikfro, keen defekten Tunnel.
E puer Firmenclienten blockéieren och den Trafik vun virtuelle Adapter. Fir en Filterdriver gesäit den Emulator aus wéi en virtuelle Adapter, also kann den Host perfekt schaffen während d’Politik den Emulator refuséiert. Déi Politik ass vun der Aarbechtsplaz aus net ze gesinn, an d’Rode vu Proxyastellungen deckt se net op. Wann den Host opléist an den Emulator onofhängeg vun de Resolverastellungen blockéiert ass, gehéiert d’Eskalatioun an den Team dee d’Clientpolitik besëtzt.
Reiefolleg vun de Kontrollen a wat all Resultat bedeit
Schafft vun uewen no ënnen a stoppt bei der éischter Rei déi versoe geet. All Resultat weist op en anere Besëtzer an keent gëtt duerch eng Neiinstallatioun vum Android Studio behuewen.
| 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 |
Just déi lescht zwou Reien si VPN-Froen am übleche Sënn, a just déi lescht geet ëm DNS-Inhalt. D’adb-Dokumentatioun deckt de Serverport an déi hei genannten Ëmfeldvariabelen of, genuch fir d’Transportsäit éierlech ze halen während Dir de Rescht test.