> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/gateway/es/knowledge-base/knowledge-base-articles/agent-tunnel.md).

# Túnel del agente

Configure Agent Tunnel para enrutar las sesiones de Devolutions Gateway a través de Devolutions Agent, y llegar a máquinas de redes privadas sin conectividad directa.

{% hint style="warning" %}
**Experimental** (Devolutions Gateway y Agent **2026.2.0+**). Pruébelo antes de un despliegue generalizado.
{% endhint %}

Agent Tunnel permite que Devolutions Gateway llegue a máquinas de una red privada a la que no puede conectarse directamente.

Se instala Devolutions Agent en una máquina dentro de esa red (un host de salto o un servidor del sitio). El agente marca hacia el gateway y anuncia los rangos de IP y los dominios a los que puede llegar. A partir de ahí, cualquier sesión que abra a través del gateway hacia uno de esos destinos se enruta automáticamente por el agente: nada cambia para el usuario.

Esta guía muestra cómo conectar un gateway a un agente y enrutar el tráfico a través de él.

### Antes de empezar

* Devolutions Gateway **2026.2.0+** y Devolutions Agent **2026.2.0+**.
* La máquina del agente puede llegar al gateway por **HTTPS** (para inscribirse) y por **UDP en el puerto 4433** (el túnel).
* En el gateway/cortafuegos: permita **UDP 4433 entrante** desde los sitios donde se ejecutan los agentes.
* Una cuenta de DVLS que pueda gestionar el gateway.

### Habilitar Agent Tunnel en el gateway

Edite `gateway.json`:

* Windows: `%ProgramData%\Devolutions\Gateway\gateway.json`
* Linux: `/etc/devolutions-gateway/gateway.json`
* macOS: `/Library/Application Support/devolutions-gateway/gateway.json`

```json
{
  "Hostname": "gateway.contoso.com",
  "AgentTunnel": {
    "Enabled": true,
    "ListenPort": 4433
  },
  "__debug__": {
    "enable_unstable": true
  }
}
```

Establezca `Hostname` en la dirección que los agentes usan para llegar al gateway y, a continuación, reinicie el servicio Devolutions Gateway.

### Generar un token de inscripción en DVLS

En DVLS, abra ***Administration*** – ***Devolutions Gateway***, seleccione su gateway y haga clic en ***Agent Tunnel***.

Haga clic en el botón ***+*** para añadir un agente.

Introduzca un ***Agent Name*** y un ***Lifetime*** y, a continuación, haga clic en ***Generate***.

Copie la ***Enrollment string***.

{% hint style="warning" %}
La cadena de inscripción es un secreto de un solo uso: consérvela a buen recaudo y genere una nueva si caduca antes de que termine.
{% endhint %}

### Instalar el agente en la máquina del sitio

Ejecute el instalador de Devolutions Agent en la máquina que está dentro de la red privada.

Habilite la función ***Agent Tunnel***.

Pegue el token de inscripción en ***Enrollment String***.

Defina las rutas a las que debe llegar este agente:

* ***Advertise Subnets***: rangos de IP (por ejemplo, `10.10.0.0/24`). Déjelo en blanco para detectar automáticamente las subredes locales.
* ***Advertise Domains***: sufijos DNS (por ejemplo, `*.example.com`).

Finalice el asistente. El instalador inscribe el agente y prueba la conexión; si no puede llegar al gateway, la instalación falla para que pueda corregir el cortafuegos en el momento.

### Confirmar que el agente está en línea

De vuelta en el cuadro de diálogo ***Agent Tunnel*** de DVLS, el agente debería aparecer ahora como ***Online*** con sus subredes, dominios y hora de última conexión.

{% hint style="info" %}
Para retirar un agente, elimínelo aquí y desinstálelo en la máquina.
{% endhint %}

### Conectarse a través del gateway

Los usuarios no instalan nada. Se conectan a través del gateway como de costumbre, y este enruta automáticamente por el agente cuando el destino coincide.

En RDM, abra una sesión para un host dentro de un rango anunciado. En ***VPN/tunnel/gateway***, establezca el tipo en ***Devolutions Gateway*** y elija el gateway con el que se inscribió el agente.

Establezca el ***Host*** en el destino interno (por ejemplo, `10.10.0.20`).

Conéctese.

La sesión se abre a través del gateway y del agente.

### Resolución de problemas

<table><thead><tr><th width="280">Problema</th><th>Comprobación</th></tr></thead><tbody><tr><td><strong>La inscripción falla durante la instalación</strong></td><td>Token caducado o mal escrito; el gateway no es accesible por HTTPS; Agent Tunnel no está habilitado en el gateway</td></tr><tr><td><strong>La prueba de conexión falla al final de la instalación</strong></td><td>El puerto UDP 4433 hacia el gateway está bloqueado, o el <code>Hostname</code> del gateway es incorrecto</td></tr><tr><td><strong>El agente está en línea pero la sesión sigue conectándose directamente</strong></td><td>El destino no está dentro de una subred o dominio anunciado; el destino es solo IPv6 (use un dominio en su lugar)</td></tr><tr><td><strong>El agente aparece como desconectado</strong></td><td>Reinicie el servicio Devolutions Agent en la máquina del sitio</td></tr></tbody></table>

Para probar el túnel desde la máquina del agente:

```bat
DevolutionsAgent.exe probe
```

### Cómo funciona

Los pasos anteriores son todo lo que necesita para enrutar el tráfico. Esta sección es para quienes quieren conocer los detalles de lo que ocurre entre bastidores.

#### ¿Qué es el «anuncio» y qué topología requiere?

Cuando un agente se conecta, indica al gateway a qué subredes IPv4 (por ejemplo, `10.10.0.0/24`) y a qué sufijos de dominio DNS (por ejemplo, `*.example.com`) puede llegar. Esa lista es el *anuncio*. El agente la reenvía periódicamente para que el gateway tenga siempre la imagen actual, y el gateway mantiene una tabla de rutas por cada agente conectado.

Topología:

* El agente establece una única conexión saliente hacia el gateway (UDP 4433). Nada en el sitio necesita una IP pública ni una regla de cortafuegos entrante: por eso funciona detrás de NAT.
* Dado que el gateway es el punto de encuentro de todas las conexiones, debe estar en un lugar accesible tanto para los agentes *como* para los clientes DVLS/RDM. Si cualquiera de las partes no puede llegar al gateway, el enrutamiento a través de un agente no puede funcionar.
* El gateway necesita UDP 4433 entrante accesible desde los sitios de los agentes, además de su escucha HTTPS habitual para la inscripción.
* El agente debe tener accesibilidad de red normal (enrutamiento + DNS) a los destinos que anuncia. El agente es, en la práctica, el «último salto» en la red privada.

Un gateway puede albergar muchos agentes; un sitio puede ejecutar más de un agente para redundancia.

#### ¿Dónde se resuelven los dominios y las IP?

Ocurren dos cosas distintas:

1. **Coincidencia de rutas (en el gateway).** Cuando se inicia una sesión, el gateway toma el destino de la sesión y lo compara con el anuncio de cada agente conectado:
   * Un destino IP se compara con las subredes anunciadas.
   * Un destino con nombre de host se compara con los dominios anunciados (coincidencia de sufijo). Aquí el gateway *no* realiza una búsqueda DNS: compara nombres.
   * Gana la coincidencia más específica (una coincidencia de subred prevalece sobre una de dominio; un sufijo de dominio más largo prevalece sobre uno más corto).
   * Cuando dos agentes en línea anuncian la misma ruta (una coincidencia igualmente específica), el gateway prefiere aquel cuyo anuncio llegó más recientemente: el último gana en la práctica. Se intenta primero, y el gateway recurre a los demás solo si ese agente no puede completar la conexión. Esto significa que no hay un «principal/secundario» fijo; el agente que se (re)conectó o actualizó sus rutas en último lugar toma el relevo.
   * Si no hay ninguna coincidencia, el gateway se conecta directamente, exactamente igual que antes de que existiera Agent Tunnel.
2. **Resolución de nombres real (en el agente).** El gateway entrega el destino (host y puerto) al agente elegido, y el agente resuelve el nombre DNS y abre la conexión desde dentro de la red privada. Esa es toda la idea: el DNS propio del sitio resuelve nombres que el gateway no puede ver. También significa que anuncia dominios para hosts que solo existen en el DNS interno, y subredes para hosts a los que se dirige por IP.

Como hoy la coincidencia de subredes se basa en IPv4, para llegar a un host solo IPv6 anuncie en su lugar un dominio que lo abarque.

#### ¿Cómo se mantiene seguro?

* **La inscripción** utiliza un token de corta duración generado en DVLS. Es solo una credencial de arranque: no es la confianza a largo plazo.
* El agente genera su propio par de claves localmente y solo envía una solicitud de certificado al gateway. La clave privada nunca sale de la máquina del agente.
* El túnel es QUIC con TLS mutuo: el gateway autentica al agente mediante su certificado, y el agente autentica al gateway. Además, el agente fija la identidad exacta del gateway que vio en la inscripción, de modo que una autoridad de certificación fraudulenta o que emita certificados indebidos sigue sin poder suplantar al gateway.
* El agente aplica su propia lista de permitidos: se niega a abrir una conexión hacia cualquier cosa fuera de las subredes y dominios que anuncia, aunque se le solicite. El anuncio es a la vez una indicación de enrutamiento y un límite estricto.
* La autorización de usuarios no cambia. Cada sesión sigue necesitando una autorización normal del gateway desde DVLS/Hub/PAM. Agent Tunnel solo cambia *cómo* llega el gateway al destino, nunca *quién* puede conectarse.

#### Algunas cosas más que preguntan los usuarios avanzados

* **¿Por qué QUIC/UDP en lugar de TCP?** Una única conexión saliente multiplexa muchas sesiones simultáneas y sobrevive a cambios breves de red (itinerancia, cortes de VPN) sin interrumpir todas las sesiones.
* **¿Puedo forzar un agente concreto?** Sí. Una sesión puede fijarse a un agente; cuando está fijada, debe usar ese agente y fallará en lugar de recurrir silenciosamente a una conexión directa, de modo que una fijación no puede usarse para eludir la ruta prevista.
* **¿Puedo desactivar Agent Tunnel para una sola sesión?** Hoy no. No existe una exclusión por sesión: el gateway decide la ruta únicamente a partir del destino. Si un destino coincide con las rutas anunciadas por un agente en línea, la sesión pasa por ese agente. Para forzar una conexión directa, el destino no debe coincidir con ninguna ruta anunciada (o el agente debe estar desconectado o eliminado).
* **¿Qué pasa si el agente se cae?** Se marca como desconectado poco después de que deje de enviar actualizaciones, y el gateway deja de enrutar hacia él (recurriendo a una conexión directa o a otro agente coincidente). El agente se reconecta por su cuenta con retroceso cuando la red se recupera.
* **¿Tengo que renovar los certificados?** No. El agente renueva su certificado automáticamente antes de que caduque, siempre que el servicio siga ejecutándose y reconectándose.
* **¿El tráfico sigue siendo visible para el gateway?** Sí. El gateway sigue siendo el relé y termina la sesión, por lo que se aplican sus políticas de gateway existentes. El salto del agente es solo de transporte.
* **¿Dónde se encuentran los ficheros del agente?** En `%ProgramData%\Devolutions\Agent\` en Windows (los certificados en la subcarpeta `certs`). Normalmente nunca los toca: el instalador y DVLS los gestionan.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/gateway/es/knowledge-base/knowledge-base-articles/agent-tunnel.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
