Spør DNS over TCP gjennom en lokal SSH-videresending
Videresend en lokal uprivilegert TCP-port til en ekstern DNS-server og be uttrykkelig om DNS over TCP med dig.
OpenSSH lokal videresending transporterer TCP. DNS kan også bruke TCP, forutsatt at spørringsverktøyet og den eksterne DNS-tjenesten bruker den transporten.
For en DNS-server som nås fra SSH-vertet, åpne en videresending som bare lytter på loopback:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Send deretter en uttrykkelig TCP-DNS-spørring fra den lokale maskinen:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Erstatt DNS-serveren, SSH-vertet og det spurte navnet med de tiltenkte verdiene. SSH-serversiden må kunne nå dns.internal:53, og videresendingspolicyen må tillate det.
Den lokale porten ligger over området for privilegerte porter. En spørring til en lokal port 1053 krever ikke at systemets DNS-port 53 bindes.
Dette omdirigerer ikke vanlige UDP-DNS-spørringer automatisk. Et rå UDP-til-TCP-byterør er ikke nok, fordi DNS over TCP legger til et lengdefelt og strømramming. Integrasjon med systemets resolver krever en egnet DNS-forwarder eller en uttrykkelig støttet TCP-konfigurasjon.
Til slutt fører det ikke til at neste nettforbindelse går gjennom SSH selv om adressen hentes denne veien. DNS-oppslag og transport til målet forblir separate valg.