Upit DNS preko TCP-a kroz lokalno SSH prosljeđivanje
Proslijedite lokalni neprivilegirani TCP port na udaljeni DNS poslužitelj i izričito zatražite DNS over TCP pomoću dig.
Lokalno prosljeđivanje OpenSSH-a prenosi TCP. DNS također može koristiti TCP, pod uvjetom da alat za upite i udaljena DNS usluga koriste taj prijenos.
Za DNS poslužitelj dostupan s 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 izričit TCP DNS upit s lokalnog stroja:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Zamijenite DNS poslužitelj, SSH host i traženo ime željenim vrijednostima. Strana SSH poslužitelja mora moći dosegnuti dns.internal:53, a pravila prosljeđivanja to moraju dopuštati.
Lokalni port nalazi se iznad raspona privilegiranih 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 duljine i stream uokvirenje. Integracija sa sistemskim resolverom zahtijeva odgovarajući DNS forwarder ili izričito podržanu TCP konfiguraciju.
Konačno, dobivanje adrese ovim putem ne usmjerava sljedeću web vezu kroz SSH. DNS pretraga i prijenos do odredišta ostaju odvojeni izbori.