Esta guía muestra cómo instalar Tailscale para Android (com.tailscale.ipn) en dispositivos de la empresa administrados por Nomid MDM y cómo configurarlo con configuraciones gestionadas. Tailscale llama a estos valores políticas del sistema (system policies). Con ellas, la app entra solo en su tailnet, permanece conectada, usa su DNS y sus rutas de subred y muestra el contacto de su soporte.
Los pasos usan el editor Policy 2.0. En el editor Classic, los mismos campos se abren con el engranaje de la tarjeta de la app; consulte 4.1 Políticas de tablets — Classic.
Riesgo: los ajustes de Tailscale cambian la forma en que el dispositivo llega a la red. Una tailnet obligatoria, una conexión forzada, una lista de enrutamiento por app o una VPN siempre activa que bloquea el resto del tráfico pueden cortar el acceso a las apps de la empresa y a la administración del dispositivo. Pruebe cada cambio en una política piloto con un solo dispositivo antes de vincular la política a la flota.
Antes de empezar
- Una empresa Android Enterprise en Nomid MDM con dispositivos totalmente gestionados o con perfil de trabajo, y el permiso Editar política en la política que va a cambiar.
- Tailscale para Android 1.66 o posterior. Tailscale lee las políticas del sistema desde la versión 1.66. Las versiones 1.78 y posteriores aplican los cambios sin reiniciar; las anteriores los aplican cuando la app se reinicia.
- Una tailnet de Tailscale y acceso a su consola de administración. Tailscale indica que sus integraciones con MDM están disponibles en los planes Standard, Premium y Enterprise; confirme su plan con Tailscale.
- Los valores que piensa usar: el ID de la tailnet (se muestra en la consola de administración de Tailscale en Settings > General), el ID de un exit node si va a forzar uno, y los nombres de paquete de las apps que deben pasar por Tailscale o quedar fuera de él.
- Ajustes de VPN en Permitido dentro de Conectividad en la política. Mientras esté en Bloqueado, puede impedir que Tailscale obtenga acceso a la VPN, como ocurrió en nuestro dispositivo piloto. Permitido también deja que quien usa el dispositivo añada, edite o elimine VPN.
- Una política piloto vinculada a un único dispositivo de prueba, para que un valor erróneo afecte solo a ese dispositivo.
Añadir Tailscale a la política
- En el Portal de Nomid, abra Políticas y seleccione la política piloto.
- Abra la pestaña Aplicaciones y experiencia y seleccione Aplicaciones en esta política.
- Seleccione Añadir aplicación. Elija Añadir desde Paquete, escriba
com.tailscale.ipny compruebe que Tailscale aparece debajo del campo. Seleccione Añadir. También puede elegir Añadir desde Play Store y buscar Tailscale en Google Play gestionado.

Escriba el nombre del paquete y compruebe que el resultado es Tailscale antes de añadirlo.
- Tailscale aparece en la lista con la etiqueta Configurable, que indica que la app publica configuraciones gestionadas. El pie del panel muestra Editado. Guarde la política para aplicarla hasta que guarde. La opción de instalación junto a la app empieza como Obligatorio, que instala Tailscale y lo mantiene en el dispositivo. Opcional, Bloqueado y los demás controles de la app se describen en 4. Políticas — Policy 2.0.
Abrir las configuraciones gestionadas
Seleccione el engranaje junto a Tailscale en la lista. El editor Configuraciones gestionadas muestra todos los campos que publica la versión instalada de Tailscale. Google Play obtiene esta lista de la propia app, así que puede cambiar cuando Tailscale publique una nueva versión.
- Cada campo muestra su título, una descripción escrita por Tailscale y el nombre de la clave. El botón junto a la clave copia un enlace a ese campo.
- Valor por defecto muestra el valor que declara la app. Es solo informativo: el editor no lo envía.
- Not Set no envía nada para ese campo, y la app mantiene su propio comportamiento.
- Use el cuadro de filtro para encontrar una clave, y Todos, Lleno o No Lleno para revisar lo que ha rellenado.
- La acción con el icono de papelera, al final de la lista, borra todos los valores de Tailscale en esta política.
- Guardar conserva sus valores en la edición de la política; Cancelar sale del editor sin ellos. Ninguna de las dos envía nada a los dispositivos hasta que guarde la política.

Cada campo muestra el nombre de clave que documenta Tailscale. Deje el campo en Not Set salvo que lo necesite.
Claves de configuración gestionada
Las tablas siguen los títulos de los campos que muestra el editor, que Tailscale publica en inglés. Los valores marcados como "elección" ofrecen Always, Never y User Decides: Always impone el ajuste, Never lo desactiva y User Decides deja que la persona elija en la app. Los campos de visibilidad ofrecen Show y Hide. Dejar cualquier campo en Not Set mantiene el comportamiento por defecto de Tailscale. Los números de versión indican la primera versión de Tailscale que admite la clave, según las políticas del sistema de Tailscale.
Tailnet e inicio de sesión
| Campo y clave | Valor | Efecto |
|---|---|---|
Required/Suggested Tailnet (Tailnet) |
ID de la tailnet o ID de la organización, por ejemplo T123456CNTRL; admite una lista separada por comas |
Sugiere la tailnet cuyo proveedor de identidad usa la página de inicio de sesión. Con el prefijo required:, por ejemplo required:T123456CNTRL, las personas solo pueden entrar en esa tailnet. |
Custom control server URL (LoginURL) |
URL | Dirige la app a otro servidor de coordinación. Déjelo en Not Set cuando use el servicio de Tailscale. |
Auth Key (AuthKey) |
Clave de autenticación de Tailscale | Inicia la sesión del dispositivo sin intervención cuando Tailscale arranca y aún no tiene una sesión iniciada. Lea el aviso siguiente. 1.74 o posterior. |
Hostname (Hostname) |
Texto | Sustituye el nombre del dispositivo que Tailscale muestra en la consola de administración. 1.80 o posterior. |
Aviso sobre la auth key: cualquier persona que pueda ver la política en el Portal puede leer la clave, y Tailscale desaconseja guardar auth keys en un MDM. La política envía la misma clave a todos sus dispositivos, y una clave de un solo uso solo inicia la sesión del primero: un piloto con un dispositivo puede funcionar y el resto de la flota fallar. Si usa una clave, créela en la consola de administración de Tailscale como reutilizable, preaprobada y con etiquetas. Una clave reutilizable inicia la sesión de cualquier número de dispositivos hasta que caduque o se revoque, así que asígnele la caducidad más corta que cubra el despliegue. Revóquela y vuelva a poner el campo en Not Set cuando los dispositivos hayan iniciado sesión. No muestre nunca una clave en capturas de pantalla ni en tickets de soporte.
Conexión y enrutamiento
| Campo y clave | Valor | Efecto |
|---|---|---|
Force enabled connection toggle (ForceEnabled) |
Enabled, Disabled | Enabled mantiene Tailscale conectado y desactiva el interruptor que lo desconecta. Disabled deja el interruptor a la persona. Tailscale marca esta clave como obsoleta en favor de AlwaysOn.Enabled, que su documentación no incluye para Android; por eso, en Android, esta es la opción disponible. |
Exit node ID (ExitNodeID) |
ID del dispositivo exit node, o auto:any |
Envía todo el tráfico por ese exit node e impide que las personas lo desactiven o elijan otro. auto:any deja que Tailscale elija uno (1.70 o posterior). Si ese exit node está desconectado o no se puede alcanzar, el dispositivo se queda sin internet, lo que también puede detener las actualizaciones de la política; pruébelo antes en el dispositivo piloto. |
Allow LAN access when using an exit node (ExitNodeAllowLANAccess) |
Elección | Define si el dispositivo sigue llegando a su red local, como impresoras o lectores, mientras usa un exit node. |
Use Tailscale DNS settings (UseTailscaleDNSSettings) |
Elección | Define si el dispositivo usa la configuración DNS de la tailnet, incluidos los nombres MagicDNS, mientras está conectado. |
Use Tailscale subnets (UseTailscaleSubnets) |
Elección | Define si el dispositivo usa las rutas de subred anunciadas en la tailnet. En Android, las rutas se usan cuando el campo no está definido. |
Allow incoming connections (AllowIncomingConnections) |
Elección | Never bloquea toda conexión entrante a través de Tailscale, incluso cuando sus reglas de acceso la permiten. |
Excluded packages (ExcludedPackageNames) |
Nombres de paquete separados por comas | Las apps de la lista no usan las rutas ni el DNS de Tailscale; todas las demás apps usan Tailscale. 1.70 o posterior. |
Included packages (IncludedPackageNames) |
Nombres de paquete separados por comas | Solo las apps de la lista usan las rutas y el DNS de Tailscale; las demás lo ignoran mientras el campo tenga un valor. 1.70 o posterior. |
Use Excluded packages o Included packages, no ambos. Compruebe cada nombre de paquete en el dispositivo piloto: una app que falte en Included packages pierde el acceso a los recursos de la tailnet.
Lo que las personas ven en la app
| Campo y clave | Valor | Efecto |
|---|---|---|
Managed by - organization name (ManagedByOrganizationName) |
Texto | Muestra el nombre de su organización en la zona de administración de la app. |
Managed by - caption (ManagedByCaption) |
Texto | Muestra un mensaje breve junto al nombre de la organización, como a quién acudir. |
Managed by - URL (ManagedByURL) |
URL | Añade un botón de soporte que abre esa dirección. |
Hidden network devices (HiddenNetworkDevices) |
Current user devices, Other users devices, Tagged devices | Oculta esas categorías de la lista de dispositivos de la app. Si selecciona las tres, la lista desaparece. |
Exit node picker visibility (ExitNodesPicker) |
Show, Hide | Hide quita la pantalla en la que las personas eligen un exit node. |
Run as exit node visibility (RunExitNode) |
Show, Hide | Hide quita la opción de convertir este dispositivo en exit node. |
Manage Tailnet lock visibility (ManageTailnetLock) |
Show, Hide | Hide quita los ajustes de Tailnet Lock de la app. |
Skip the Onboarding Flow (OnboardingFlow) |
Show, Hide | Hide omite la presentación que aparece la primera vez que se abre la app. 1.86 o posterior. |
Campos de identidad del dispositivo
El editor también muestra Enable posture checking (PostureChecking), Serial number of the device that is running Tailscale (DeviceSerialNumber) y Enable hardware attestation (HardwareAttestation). La app de Android publica estos campos, pero la página de políticas del sistema de Tailscale no los incluye para Android. Déjelos en Not Set salvo que el soporte de Tailscale confirme cómo los usa su tailnet.
Algunas claves de la documentación de Tailscale, como AdvertiseExitNode y ReconnectAfter, no aparecen en el editor porque la app de Android no las publica. El editor envía solo los campos que declara la app.
Ejemplo de política para dispositivos compartidos de primera línea
Este ejemplo mantiene los dispositivos compartidos en la tailnet de la empresa, con una app fija y sencilla. Sustituya T123456CNTRL por el ID de su tailnet y los datos de soporte por los suyos.
| Campo | Valor | Motivo |
|---|---|---|
| Required/Suggested Tailnet | required:T123456CNTRL |
Las personas no pueden entrar en otra tailnet. |
| Force enabled connection toggle | Enabled | El personal no desconecta la VPN por error. |
| Use Tailscale DNS settings | Always | Las apps internas resuelven los nombres de la tailnet. |
| Use Tailscale subnets | Always | Los dispositivos llegan a los servidores detrás de sus subnet routers. |
| Allow incoming connections | Never | Los dispositivos compartidos no aceptan conexiones desde la tailnet. |
| Exit node picker visibility | Hide | Quita una opción que el personal no necesita. |
| Run as exit node visibility | Hide | Impide que un dispositivo se convierta en exit node. |
| Manage Tailnet lock visibility | Hide | Deja la gestión de Tailnet Lock a los administradores. |
| Skip the Onboarding Flow | Hide | Abre la app directamente en el inicio de sesión. |
| Managed by - organization name | TI de Example Corp |
Indica al personal quién gestiona la VPN. |
| Managed by - caption | Contacta con el soporte de TI para obtener acceso |
Indica la vía de soporte. |
| Managed by - URL | https://help.example.com/vpn |
Abre su página de ayuda. |

Use Lleno para revisar todos los valores antes de guardar.
Guardar y aplicar la política
- En el editor de configuraciones gestionadas, seleccione Guardar y después Listo en el panel de aplicaciones.
- Seleccione Guardar en la cabecera de la política, revise la lista de cambios y confirme.
- Los dispositivos vinculados reciben la política cuando se sincronizan. Tailscale 1.78 o posterior aplica los nuevos valores por sí solo; en versiones anteriores, reinicie la app.
Opcional: VPN siempre activa
Para que Android inicie Tailscale al arrancar y lo mantenga en marcha, elija Tailscale como app de VPN en Conectividad > Enrutamiento de tráfico > VPN siempre activa, como se describe en 4. Políticas — Policy 2.0. Deje Bloquear conexiones sin la VPN desactivado hasta que el dispositivo piloto inicie sesión y se reconecte de forma fiable. Con el bloqueo activado, un dispositivo sin sesión en Tailscale se queda sin red, lo que también puede detener las actualizaciones de la política.
Verificar en el dispositivo
- En Dispositivos, abra el dispositivo piloto, ejecute una sincronización y confirme que Tailscale está instalado.
- En el dispositivo, abra Tailscale. El nombre de la organización, la leyenda y el botón de soporte que definió aparecen en la zona de administración de la app. Con Force enabled connection toggle en Enabled, el interruptor de desconexión no está disponible.
- Inicie sesión, o deje que la auth key inicie la sesión del dispositivo. Con una tailnet obligatoria, la página de inicio de sesión lleva directamente a su proveedor de identidad.
- En la consola de administración de Tailscale, abra Machines y confirme que el dispositivo aparece con el hostname y las etiquetas esperados.
- Desde el dispositivo, abra una dirección interna o un nombre MagicDNS para confirmar que el DNS y las rutas funcionan. Si definió Included packages, pruebe una app de la lista y otra fuera de ella.
Solución de problemas
| Problema | Causa probable | Qué hacer |
|---|---|---|
| No aparece la etiqueta Configurable o el editor no tiene campos | El paquete no se resolvió en Google Play, o la lista aún no se ha cargado. | Quite la app, vuelva a añadirla con com.tailscale.ipn y compruebe que Tailscale aparece como resultado. |
| Falta una clave de la documentación de Tailscale | La app de Android no la publica. | Use solo los campos que muestra el editor; consulte en la documentación de Tailscale la compatibilidad por plataforma. |
| Los valores no llegan a la app | La política no se guardó, el dispositivo no se ha sincronizado o Tailscale es anterior a la 1.66. | Guarde la política, sincronice el dispositivo en Dispositivos y actualice Tailscale desde Google Play. |
| Los cambios solo se aplican al volver a abrir la app | Tailscale 1.76 o anterior. | Reinicie Tailscale o actualícelo a la 1.78 o posterior. |
| Las personas pueden entrar en otra tailnet | Tailnet no tiene el prefijo required:. |
Añada el prefijo, por ejemplo required:T123456CNTRL. |
| La auth key no inicia la sesión del dispositivo | La app ya tiene una sesión iniciada, o la clave caducó, se agotó o se revocó. | Revise la clave en la consola de administración de Tailscale y cree otra si hace falta. |
| Tailscale indica que necesita acceso a la VPN y que el dispositivo puede no mostrar los ajustes de VPN | Ajustes de VPN está en Bloqueado en la política, u otra VPN está en ejecución. | Ponga Ajustes de VPN en Permitido dentro de Conectividad y guarde la política. Desconecte cualquier otra VPN y vuelva a abrir Tailscale. |
| Una app no llega a los servicios internos | Está en Excluded packages, o falta en Included packages. | Corrija la lista y guarde la política. |
| Los nombres de la tailnet no se resuelven | Use Tailscale DNS settings está en Never, o la persona desactivó el DNS con User Decides. | Póngalo en Always. |
| El dispositivo se queda sin internet tras activar la VPN siempre activa | Bloquear conexiones sin la VPN está activado y Tailscale no tiene sesión o está desconectado. | Desactive el bloqueo en la política, guarde y vuelva a iniciar sesión en Tailscale. |
Deshacer la configuración
- Para dejar de imponer un valor, abra el campo y elija Not Set, o borre el texto, y guarde la política.
- La acción con el icono de papelera, al final del editor, quita todos los valores de Tailscale de esta política cuando guarda.
- Para quitar la app, cambie su instalación a Bloqueado, como se describe en 4. Políticas — Policy 2.0, y guarde. Revoque cualquier auth key que haya distribuido.