OpenSSHs lokale videresending transporterer TCP. DNS kan også bruke TCP, så lenge spørreverktøyet og den eksterne DNS-tjenesten bruker den transporten.

For en DNS-server som er tilgjengelig fra SSH-verten, åpne en videresending som bare lytter på loopback:

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

Send så en eksplisitt TCP-DNS-forespørsel fra den lokale maskinen:

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

Bytt ut DNS-serveren, SSH-verten og navnet som spørres med de tiltenkte verdiene. SSH-serversiden må kunne nå dns.internal:53, og videresendingsreglene må tillate det.

Den lokale porten ligger over området for privilegerte porter. En forespørsel til en lokal port 1053 krever ikke at systemets DNS-port 53 bindes.

Dette omdirigerer ikke vanlige UDP-DNS-forespørsler automatisk. Et rått UDP-til-TCP-byterør er ikke tilstrekkelig, fordi DNS over TCP legger til et lengdefelt og strømming av rammer. Integrasjon mot systemets resolver krever en egnet DNS-forwarder eller en eksplisitt støttet TCP-konfigurasjon.

Til slutt: å skaffe en adresse på denne måten sender ikke den påfølgende nettforbindelsen gjennom SSH. DNS-oppslag og transport til målet er fortsatt separate valg.

Relaterte artikler