De lokale doorsturing van OpenSSH vervoert TCP. DNS kan ook TCP gebruiken, mits het opvraaghulpmiddel en de externe DNS-dienst dat transport gebruiken.

Open voor een DNS-server die vanaf de SSH-host bereikbaar is een doorsturing die alleen op loopback luistert:

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

Stuur daarna een expliciete TCP-DNS-query vanaf de lokale machine:

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

Vervang de DNS-server, de SSH-host en de opgevraagde naam door de bedoelde waarden. De SSH-serverkant moet dns.internal:53 kunnen bereiken, en het doorsturingsbeleid moet dat toestaan.

De lokale poort ligt boven het bereik van bevoorrechte poorten. Een query naar een lokale poort 1053 vereist niet dat de systeem-DNS-poort 53 wordt gebonden.

Dit leidt gewone UDP-DNS-query's niet automatisch om. Een ruwe UDP-naar-TCP-bytpijp is niet genoeg, omdat DNS over TCP een lengteveld en stream-framing toevoegt. Integratie met de systeemresolver vereist een geschikte DNS-forwarder of een expliciet ondersteunde TCP-configuratie.

Ten slotte: een adres via deze route verkrijgen leidt de volgende webverbinding niet via SSH. DNS-opzoeking en transport naar de bestemming blijven aparte keuzes.

Gerelateerde artikelen