L'inoltro locale di OpenSSH trasporta TCP. Anche DNS può usare TCP, purché lo strumento di interrogazione e il servizio DNS remoto adottino quel trasporto.

Per un server DNS raggiungibile dall'host SSH, apri un inoltro in ascolto solo su loopback:

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

Poi invia una query DNS TCP esplicita dalla macchina locale:

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

Sostituisci il server DNS, l'host SSH e il nome interrogato con i valori previsti. Lato server SSH deve poter raggiungere dns.internal:53 e la politica di inoltro deve consentirlo.

La porta locale è sopra l'intervallo delle porte privilegiate. Una query verso una porta locale 1053 non richiede di associare la porta DNS di sistema 53.

Questo non reindirizza automaticamente le normali query DNS UDP. Un semplice tubo di byte da UDP a TCP non basta, perché DNS su TCP aggiunge un campo di lunghezza e un incapsulamento di flusso. L'integrazione con il resolver di sistema richiede un forwarder DNS adeguato o una configurazione TCP esplicitamente supportata.

Infine, ottenere un indirizzo per questa via non instrada la successiva connessione web attraverso SSH. La risoluzione DNS e il trasporto verso la destinazione restano scelte separate.

Articoli correlati