Android-VPN lost de volledige hostnaam op, maar niet de korte naam
Een zoekdomein en een DNS-serveradres zijn aparte velden in Android. Bepaal welke ontbreekt voordat u de tunnel of de inloggegevens wijzigt.
U typtfilesin een terminalemulator en er komt niets terug; u typtfiles.corp.exampleen dezelfde server antwoordt meteen. Er is niets veranderd aan de VPN-inloggegevens, en de private DNS-server is nooit stuk geweest. In Android nemen de korte naam en de volledige naam verschillende routes door de resolver, en een van die routes hangt af van een instelling die de eigenaar van de tunnel moet leveren. De beslissing voor u is niet welke DNS-server u moet wijzigen, maar wie het netwerk beheert dat de app werkelijk gebruikt.
Een zoekdomein is geen adres. Het is een lijst met suffixen die de resolver aan een kale naam toevoegt voordat hij het opgeeft.
Een zoeksuffix en een DNS-server zijn aparte velden
Het resolveradres vertelt Android waar het moet vragen. Het zoeksuffix vertelt waarnaar het moet vragen als u alleen het linkerlabel opgeeft. Beide staan op hetzelfde netwerkobject, en elk ervan kan op zichzelf ontbreken.
Precies die onafhankelijkheid is de reden dat de volledige hostnaam werkt. Een volledig gekwalificeerde naam heeft geen suffix nodig, omdat die al de tekenreeks is die naar de server gaat.
Android legt de splitsing bloot viaLinkProperties. De lijst met DNS-servers en de lijst met domeinzoekopdrachten staan op hetzelfde object, en de tweede is vaak leeg, zelfs wanneer de eerste volledig gevuld is. Een netwerk met een resolver maar zonder domein is een netwerk waarin het suffix nooit is toegepast — geen server die de korte naam weigerde.
Lees het effectieve netwerk voordat u iets wijzigt
Wi-Fi, mobiel netwerk en een VPN-interface zijn drie afzonderlijke netwerken, en de tunnel wordt de standaard zodra hij opkomt. Het suffix dat op de Wi-Fi van kantoor werkte, is dus niet automatisch het suffix dat geldt terwijl de tunnel actief is. Inspecteer het netwerk waarop de app werkelijk is geselecteerd, niet dat u vorige week hebt geconfigureerd.
Een terminalshell op het apparaat is hier een slechte getuige, omdat zijnresolv.conféén beeld van de resolver weergeeft en niet dat van elke app.
Adresbalken van browsers voegen nog een laag toe: een kaal woord kan als zoekopdracht worden behandeld, of worden opgelost viahet eigen beleid van de browser voor versleutelde DNS, dus een pagina die in Chrome laadt, bewijst niets over systeemopzoekingen. Test met iets dat de resolver van het platform gebruikt en afdrukt wat er terugkwam. Voer daarna de korte en de volledige vorm uit in dezelfde sessie, op hetzelfde netwerk, en noteer welke een antwoord gaf.
Als u de VPN-app bouwt, voeg het suffix dan toe in de builder
Wanneer uw app de interface opzet viaVpnService,addSearchDomainis dat de ondersteunde invoer hiervoor. Het neemt een domeinreeks zoalscorp.example, en het is geen alternatieve manier om een serveradres door te geven.
De aanroep bindt het suffix aan het netwerk dat u bouwt, dus er is geen globale instelling om achteraf om te zetten. Als de app de interface afbreekt en bij het opnieuw verbinden opnieuw opbouwt, moet de nieuwe builder het suffix opnieuw toevoegen, anders komt het vervangende netwerk zonder op.
Hier verliezen veel desktopprofielimporten het veld. De exporteur schrijft het domein in zijn eigen model, de Android-frontend mapt alleen de opties die hij kent, en de resulterende interface ziet er in elk ander opzicht correct uit. Een profiel dat op een laptop werkt en op een telefoon faalt, is meestal een gat in de mapping, geen protocolprobleem.
Als u de VPN alleen gebruikt, is dit niet aan u om in te stellen
Er is geen bewerking aan de clientzijde die een suffix toevoegt, en geen globale eigenschap die u kunt wijzigen om er een na te bootsen. De waarde wordt geleverd door wie de tunnel bezit: in het profiel van de beheerde client, in de mapping per platform, of via wat de server stuurt. Zeg op welk platform u zit en welke naam faalt, want de desktop- en mobiele frontends verschillen precies op dit veld.
Een desktopprofiel opnieuw importeren bewijst nog steeds niets over de mobiele mapping.
Drie voorwaarden bepalen of u een defect of een verwachte beperking hebt. Ten eerste, behandelt de organisatie de korte naam überhaupt als een ondersteunde naam, of is het een gemak dat ooit alleen op de Wi-Fi van kantoor werkte? Ten tweede, komt de mislukte opzoeking uit een browser, die de systeemresolver volledig kan omzeilen? Ten derde, moet de korte naam via de tunnel bereikbaar zijn, of alleen vanaf het LAN? Als het laatste antwoord alleen-LAN is, zou een suffix een naam maken die buiten kantoor wordt opgelost en daarna niet wordt gerouteerd.
Wanneer het suffix aanwezig is en korte namen nog steeds falen
Als de lijst met domeinzoekopdrachten alcorp.exampletoont, geef het suffix dan niet de schuld. Controleer of de resolver überhaupt een antwoord geeft voor de uitgebreide naam, want een suffix verandert alleen de vraag die u stelt. Het maakt de server nooit gezaghebbend voor een zone die hij niet host.
Controleer daarna de route. Een adres dat wordt opgelost maar niet door de tunnel wordt gedragen, faalt bij het verbinden, wat er identiek uitziet als een mislukte opzoeking in een browser die stil opgeeft.
Certificaten verdienen een eigen vermelding. HTTPS-validatie gebruikt de hostnaam die u werkelijk hebt getypt, dus een korte naam die correct wordt uitgebreid, presenteert in de handshake nog steedsfiles. Een certificaat dat is uitgegeven voorfiles.corp.examplezal daarvoor niet valideren, en die fout is correct gedrag en geen symptoom van het DNS-probleem waarmee u begon.
Wat u nu moet doen
Bevestig de splitsing voordat u iets aanraakt: de volledige naam wordt opgelost, de korte niet, dezelfde app, dezelfde sessie. Zoek daarna het geselecteerde netwerk en lees de lijst met domeinzoekopdrachten naast de resolverlijst. Welke van de twee leeg is, vertelt u wie moet handelen — u, als u de app bezit; de tunnelbeheerder, als dat niet zo is.
Geef ten slotte de voorkeur aan de volledige servicehostnaam in bladwijzers en clientconfiguratie waar portabiliteit telt. Die overleeft een netwerkwissel, hangt niet af van een mapping die de mobiele frontend misschien niet implementeert, en komt overeen met de naam waarvoor een certificaat is uitgegeven.