Forespør DNS over TCP gjennom en lokal SSH-videresending
Videresend en lokal TCP-port uten privilegier til en ekstern DNS-server, og be eksplisitt om DNS over TCP med dig.
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.