El reenvío local de OpenSSH transporta TCP. DNS también puede usar TCP, siempre que la herramienta de consulta y el servicio DNS remoto utilicen ese transporte.

Para un servidor DNS accesible desde el host SSH, abre un reenvío que escuche solo en loopback:

ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]

Después envía una consulta DNS TCP explícita desde la máquina local:

dig +tcp @127.0.0.1 -p 1053 app.internal A

Sustituye el servidor DNS, el host SSH y el nombre consultado por los valores previstos. El lado del servidor SSH debe poder alcanzar dns.internal:53 y la política de reenvío debe permitirlo.

El puerto local está por encima del rango de puertos privilegiados. Una consulta a un puerto local 1053 no exige vincular el puerto DNS del sistema 53.

Esto no redirige automáticamente las consultas DNS UDP habituales. Una tubería de bytes UDP a TCP en bruto no basta, porque DNS sobre TCP añade un campo de longitud y un entramado de flujo. La integración con el resolutor del sistema requiere un reenviador DNS adecuado o una configuración TCP explícitamente admitida.

Por último, obtener una dirección por esta vía no enruta la conexión web posterior a través de SSH. La consulta DNS y el transporte hasta el destino siguen siendo decisiones separadas.

Artículos relacionados