Spør DNS over TCP gjennom ei lokal SSH-vidaresending
Vidaresend ein lokal uprivilegert TCP-port til ein ekstern DNS-tenar og be uttrykkeleg om DNS over TCP med dig.
Lokal vidaresending i OpenSSH transporterer TCP. DNS kan òg bruke TCP, føresett at spørjeverktøyet og den eksterne DNS-tenesta nyttar den transporten.
For ein DNS-tenar som ein når frå SSH-verten, opne ei vidaresending som berre lyttar på loopback:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Send deretter ei uttrykkeleg TCP-DNS-spørjing frå den lokale maskina:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Byt ut DNS-tenaren, SSH-verten og det spørde namnet med dei tiltenkte verdiane. SSH-tenarsida må kunne nå dns.internal:53, og vidaresendingspolicyen må tillate det.
Den lokale porten ligg over området for privilegerte portar. Ei spørjing til ein lokal port 1053 krev ikkje at system-DNS-porten 53 blir bunden.
Dette omdirigerer ikkje vanlege UDP-DNS-spørjingar automatisk. Eit rå UDP-til-TCP-byterøyr er ikkje nok, fordi DNS over TCP legg til eit lengdefelt og straumramming. Integrasjon med systemresolveren krev ein eigna DNS-forwardar eller ein uttrykkeleg støtta TCP-konfigurasjon.
Til slutt: å hente ein adresse denne vegen sender ikkje den neste nettsambandet gjennom SSH. DNS-oppslag og transport til målet blir framleis separate val.