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.

Relaterede artikler