Upit DNS preko TCP-a kroz SSH lokalno prosljeđivanje
Proslijedite lokalni neprivilegovani TCP port na udaljeni DNS server i eksplicitno zatražite DNS over TCP pomoću dig.
OpenSSH lokalno prosljeđivanje prenosi TCP. DNS također može koristiti TCP, pod uslovom da alat za upite i udaljena DNS usluga koriste taj transport.
Za DNS server dostupan sa SSH hosta otvorite prosljeđivanje samo na loopback adresi:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Zatim pošaljite eksplicitan TCP DNS upit sa lokalne mašine:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Zamijenite DNS server, SSH host i traženo ime željenim vrijednostima. Strana SSH servera mora moći dosegnuti dns.internal:53, a politika prosljeđivanja to mora dozvoljavati.
Lokalni port je iznad raspona privilegovanih portova. Upit na lokalni port 1053 ne zahtijeva vezivanje sistemskog DNS porta 53.
Ovo ne preusmjerava obične UDP DNS upite automatski. Sirova bajtovna cijev od UDP-a do TCP-a nije dovoljna jer DNS over TCP dodaje polje dužine i stream okvire. Integracija sa sistemskim resolverom zahtijeva odgovarajući DNS forwarder ili eksplicitno podržanu TCP konfiguraciju.
Konačno, dobijanje adrese ovim putem ne usmjerava narednu web vezu kroz SSH. DNS pretraga i transport do odredišta ostaju odvojeni izbori.