Forespørg DNS over TCP gennem en lokal SSH-videresendelse
Videresend en lokal uprivilegeret TCP-port til en fjern DNS-server, og anmod udtrykkeligt om DNS over TCP med dig.
OpenSSH lokal videresendelse transporterer TCP. DNS kan også bruge TCP, forudsat at forespørgselsværktøjet og den fjern DNS-tjeneste bruger den transport.
Åbn en videresendelse, der kun lytter på loopback, for en DNS-server der kan nås fra SSH-værten:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Send derefter en udtrykkelig TCP-DNS-forespørgsel fra den lokale maskine:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Erstat DNS-serveren, SSH-værten og det forespurgte navn med de tilsigtede værdier. SSH-serversiden skal kunne nå dns.internal:53, og videresendelsespolitikken skal tillade det.
Den lokale port ligger over intervallet for privilegerede porte. En forespørgsel til en lokal port 1053 kræver ikke, at systemets DNS-port 53 bindes.
Dette omdirigerer ikke almindelige UDP-DNS-forespørgsler automatisk. Et rå UDP-til-TCP-byterør er ikke nok, fordi DNS over TCP tilføjer et længdefelt og stream-indramning. Integration med systemets resolver kræver en egnet DNS-forwarder eller en udtrykkeligt understøttet TCP-konfiguration.
Endelig betyder det ikke, at en adresse hentet ad denne vej sender den efterfølgende webforbindelse gennem SSH. DNS-opslag og transport til destinationen er fortsat separate valg.