Android-VPN-profiel: vind de eigenaar voordat u het bewerkt
De VPN-rij van het systeem verbergt de app die het eindpunt, de routes en de sleutels bezit. Identificeer de eigenaar en vergelijk daarna de aangevraagde, ontvangen en toegepaste status.
Het Android-VPN-scherm toont één rij met een naam, een sleutelpictogram en misschien een altijd-aan-schakelaar. Het toont zelden het eindpunt, het routebeleid, de DNS-servers of de inloggegevens die de verbinding laten werken, omdat die bij een app-gebaseerde tunnel bij de app horen. Het praktische gevolg is een runbook-vraag, geen filosofische: voordat u een gedownload bestand bewerkt of een centrale profielopslag zoekt, zoek uit welk onderdeel de instelling bezit die u wilt wijzigen.
Bepaal eerst het type verbinding
Er zijn minstens drie opstellingen op hetzelfde instellingenscherm. Een app kan VpnService gebruiken om een virtuele interface te bouwen en het protocol en de privéconfiguratie te bezitten, inclusief een lokale filterapp zonder uitgang op afstand. Android kan ook een platform-IKEv2-profiel leveren via Ikev2VpnProfile, beschikbaar vanaf API 30, waarbij het platform meer van het profiel vasthoudt. En een provider-app kan zijn eigen serverlijst tonen en instellingen intern samenstellen.
adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true
De eerste opdracht toont het actieve VPN-netwerk en de eigenschappen van de koppeling, dat is de toegepaste status. Als de rij een pakket noemt dat u kent, begin dan bij de eigen profielweergave van die app in plaats van het systeemscherm.
Noteer de eigenaar en de profielomvang
Noteer vier feiten voordat u iets wijzigt: het bezittende pakket, of de verbinding in het persoonlijke of het werkprofiel staat, de naam van het profiel of de verbinding zoals de app die toont, en wie het beheert. Een apparaateigenaar kan een werkprofiel-VPN leveren die een gebruiker van het persoonlijke profiel niet kan bewerken, en dezelfde app twee keer geïnstalleerd geeft u twee onafhankelijke eigenaren.
Deze stap voorkomt het meest verspilde uur, namelijk het bewerken van een profiel dat niet het verbonden profiel is. Apps houden vaak meerdere profielen bij, en het actieve is een eigenschap van de app, niet van de Android-rij.
Vergelijk aangevraagde, ontvangen en toegepaste status
Dat zijn drie verschillende fasen, en een verschil ertussen vertelt u welk onderdeel u moet repareren.
| Stage | Where to look | What it proves |
|---|---|---|
| Requested | The app's profile editor or imported file | What the owner intends to use |
| Received | Sanitized app log of server-supplied options | What the peer actually pushed |
| Applied | Link properties and routes after connect | What the device is really using |
De toegepaste fase is de enige die u kunt waarnemen zonder iemands logboek te vertrouwen. Vergelijk de DNS-servers en routes in de eigenschappen van de actieve koppeling met die het profiel claimt; als ze verschillen, heeft de server iets gestuurd of heeft de app een beleid toegepast dat u niet verwachtte.
adb shell ip addr show tun0
adb shell ip route show table all | head -40
Interfacenamen verschillen per app, dus list de interfaces eerst op en lees degene die verscheen toen de tunnel verbond. Een route die in de editor van de app staat maar hier ontbreekt, is nooit toegepast; een route die hier staat maar in de editor ontbreekt, kwam ergens anders vandaan.
Bewerk het artefact dat de eigenaar echt leest
Voor een geïmporteerd OpenVPN-profiel houdt de app meestal een eigen kopie bij. Het later bewerken van het oorspronkelijk gedownloade bestand verandert de volgende verbinding niet; gebruik de gedocumenteerde editor van de app, of importeer opnieuw en bevestig welk profiel nu actief is. Dat is het verschil tussen een bestand wijzigen en een configuratie wijzigen.
Provider-apps stellen instellingen vaak samen uit een serverlijst in plaats van een door de gebruiker bewerkbaar bestand te schrijven. Het ontbreken van een exportknop is geen bewijs dat de VPN nep is, en een geëxporteerd bestand kan apparaatgebonden sleutels of registratiemateriaal weglaten dat een ander apparaat nodig zou hebben. Behandel export en import als afzonderlijke bewerkingen met eigen voorwaarden.
Schrijf de supportnotitie zonder geheimen bloot te leggen
Een nuttige notitie noemt de exacte app en het profiel, de instelling die verkeerd lijkt en het bewijs uit elke fase. Bijvoorbeeld: dit profiel ontvangt een privé-DNS-adres van de server, maar de bedoelde werkapp kan zijn service niet oplossen, en de toegepaste koppelingseigenschappen tonen die resolver terwijl de profieleditor een andere toont.
Houd inloggegevens buiten de notitie. Het rooten van het apparaat om in de privéopslag van de app te zoeken is niet nodig om de eigenaar te identificeren, en een geraden pad naar de datamap is geen ondersteunde interface. Als het antwoord bytes nodig heeft die alleen de app ziet, vraag de eigenaar dan om een diagnostische export in plaats van er zelf een te improviseren.
Als het werk klaar is, sluit de lus: bevestig de naam van het actieve profiel, lees de toegepaste status opnieuw en verbreek één keer de verbinding om te verifiëren dat de wijziging een herverbinding overleeft. Een instelling die alleen in de editor bestaat, is niet uitgerold.