Consulta DNS sobre TCP a través d'un reenviament local SSH
Reenvia un port TCP local sense privilegis a un servidor DNS remot i sol·licita explícitament DNS sobre TCP amb dig.
El reenviament local d'OpenSSH transporta TCP. El DNS també pot utilitzar TCP, sempre que l'eina de consulta i el servei DNS remot facin servir aquest transport.
Per a un servidor DNS accessible des de l'amfitrió SSH, obre un reenviament només a loopback:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Després envia una consulta DNS TCP explícita des de la màquina local:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Substitueix el servidor DNS, l'amfitrió SSH i el nom consultat pels valors volguts. El costat del servidor SSH ha de poder arribar a dns.internal:53 i la política de reenviament ho ha de permetre.
El port local és per sobre del rang de ports privilegiats. Una consulta a un port local 1053 no requereix enllaçar el port DNS del sistema 53.
Això no redirigeix automàticament les consultes DNS UDP ordinàries. Una canonada de bytes UDP-a-TCP en cru no és suficient perquè DNS sobre TCP afegeix un camp de longitud i un enquadrament de flux. La integració amb el resolutor del sistema necessita un reenviador DNS adequat o una configuració TCP explícitament suportada.
Finalment, obtenir una adreça per aquest camí no encamina la connexió web posterior per SSH. La consulta DNS i el transport de destinació continuen sent tries separades.