Bulegoko VPNra konektatzen zara eta Android Studio martxan dagoen emuladorea galtzen du, adb start-server blokeatzen da eta Wi-Fi bidezko telefono fisiko bat gailuen zerrendatik desagertzen da. Badirudi tunel bakar batek produktu bakarra blokeatzen duela. Egiatan hiru bide bereizik huts egiten dute hiru eratara: adb gailuen aurkikuntza, emuladorearen sare birtuala eta hostaren ebazlea. Tunelek azkena soilik izaten du maiz, eta askotan haren zati bat bakarrik.

Hiru socket, hiru jabe

adb zerbitzariak hostaren 5037 portuan entzuten du eta gailuekin USB edo TCP bidez hitz egiten du, sareko aurkikuntzarako mDNS erabiliz. Emuladorea bere bideratzaile birtualaren atzean exekutatzen da: gonbidatua 10.0.2.15 da, atea 10.0.2.2 eta DNS zerbitzaria 10.0.2.3, eta emuladorearen prozesuak dena hostaren socketetara itzultzen du. Hostaren ebazlea da VPN bezeroak DNSa eta bilaketa dominioak instalatzen dituen lekua.

Bereizketa horrek azaltzen du zergatik konponketa batek tresna batekin funtzionatzen duen eta bestearekin ez. Hostaren ebazlea aldatzen duen bezeroak martxan dagoen emuladore prozesua abioan irakurri zuen ebazle egoerarekin uzten du. multicast iragazten duen bezeroak aurkikuntza hausten du DNSa ukitu gabe. Txartel birtualak iragazten dituen bezeroak emuladorea ukatzen du hostaren nabigatzaileak lanean jarraitzen duen bitartean. Sintoma bakoitzak arrazoi desberdina du, beraz identifikatu huts egiten duen bidea edozein ezarpen aldatu aurretik.

Hasi adb-k ikus dezakeenarekin

Exekutatu adb devices VPNa ukitu aurretik. Zerrenda hutsa garraio arazoa da, ez bideratze arazoa, eta tuneleko ezarpen batek ere ez du konponduko zerbitzariak inoiz zerrendatu ez zuen gailurik. Berrabiarazi zerbitzaria garbi: lehenengo adb kill-server eta gero adb start-server, eta irakurri irteera zein portu hartu duen jakiteko. Abioa bera blokeatzen bada, mDNS aurkikuntza da multicast iragazten duen sarean susmagarri ohikoa; dokumentatutako irtenbidea aurkikuntza desgaituta duen zerbitzaria abiaraztea da:

ADB_MDNS_OPENSCREEN=0 adb start-server
adb devices

Gailu fisiko baterako USB da biderik laburrena. TCP behar baduzu, jarri gailua entzute moduan adb tcpip 5555 erabiliz eta konektatu gailuaren helbide eta portura, adb connect 192.0.2.10:5555. 5037 portua hostaren zerbitzariaren portua da, ez gailuak entzuten duen portua.

Probatu emuladorea barrutik

Emuladoreak 10.0.2.3tik erantzuten dio DNSari, eta ebazle hori hostaren prozesuak elikatzen du. VPN bezeroak hostaren ebazlea aldatzen duenean emuladoreak hereda dezake; bezeroak emuladore prozesua iragazten duenean edo hostaren txartel zerrenda abioaren ondoren aldatzen denean, ezin du. Bereizi biak helburu zenbakidun batekin eta izen batekin shell beretik. adb shell ping -c 2 10.0.2.2 frogatzen du sare birtualak hostaren aldera iristen dela. Ondorengo izen kontsultak esango dizu ebazpenak muga zeharkatu duen.

Gero exekutatu izen kontsulta bera hostean. Hostak ebazten du eta emuladoreak ez badu, haustura hostaren ebazlearen eta emuladorearen sare birtualaren artean dago, ez tunelean. Biek huts egiten badute, hostaren ebazlea da begiratzeko lekua. Emuladorea berrabiaraztea VPNa konektatu ondoren saiakera bat merezi du, bezero batzuek martxan dagoen emuladore prozesuak hartzen ez duen ebazle egoera instalatzen dutelako.

Egiaztatu hostaren ebazlea eta bezeroaren iragazkiak

Tunel osoko bezeroak hostaren ebazlea berearekin ordezkatzen du, eta split-DNS bezeroak bilaketa dominioak eta baldintzazko birbidaltzaileak gehitzen ditu. Barne izenek askotan split-DNS konfigurazio horren mende daude, beraz begiratu hostak konektatuta dagoenean zer erabiltzen duen: ebazlearen helbidea, bilaketa domeinua eta barne eremua enpresako DNSra bideratzen den. Izen publikoak erantzuten dituen baina barnekoak ez dituen ebazlea politika kontua da, ez tunel hautsi bat.

Enpresa bezero batzuek txartel birtualen trafikoa ere blokeatzen dute. Iragazki kontrolatzailearentzat emuladorea txartel birtual bat dirudi, beraz hostak primeran funtziona dezake politikak emuladorea ukatzen duen bitartean. Politika hori ez da lan-estaziotik ikusten, eta proxy ezarpenak asmatzeak ez du agertuko. Hostak ebazten badu eta emuladorea blokeatuta badago ebazle ezarpenak edozein direla, eskalatze zuzena bezeroaren politika duen taldera da.

Egiaztapenen ordena eta emaitza bakoitzaren esanahia

Lan egin goitik behera eta gelditu huts egiten duen lehen lerroan. Emaitza bakoitzak jabe desberdin bat seinalatzen du, eta bat ere ez da konpontzen Android Studio berriro instalatuz.

ResultLikely ownerNext check
adb devices is empty with USB attachedUSB, driver or adb servercable, authorization prompt, adb kill-server
adb start-server hangsmDNS discoveryADB_MDNS_OPENSCREEN=0
Emulator reaches 10.0.2.2, names failHost resolver to emulator boundaryhost lookup of the same name
Host resolves, emulator still failsEmulator process or client filterrestart emulator, ask IT about virtual adapters
Both fail for internal names onlySplit DNS or search domainresolver and zone configuration

Azken bi lerroak bakarrik dira VPN galderak ohiko zentzuan, eta azkena soilik da DNS edukiaz. adb dokumentazioak zerbitzariaren portua eta hemen aipatutako ingurune aldagaiak biltzen ditu, nahikoa garraio aldea zintzo mantentzeko gainerakoa probatzen duzun bitartean.

Erlazionatutako artikuluak