Interogarea DNS prin TCP printr-o redirecționare locală SSH
Redirecționează un port TCP local fără privilegii către un server DNS la distanță și solicită explicit DNS over TCP cu dig.
Redirecționarea locală a OpenSSH transportă TCP. Și DNS poate folosi TCP, cu condiția ca instrumentul de interogare și serviciul DNS la distanță să folosească acel transport.
Pentru un server DNS accesibil de pe gazda SSH, deschide o redirecționare care ascultă doar pe loopback:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Apoi trimite o interogare TCP DNS explicită de pe mașina locală:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Înlocuiește serverul DNS, gazda SSH și numele interogat cu valorile dorite. Partea serverului SSH trebuie să poată ajunge la dns.internal:53, iar politica de redirecționare trebuie să permită acest lucru.
Portul local este peste intervalul porturilor privilegiate. O interogare către un port local 1053 nu necesită legarea portului DNS de sistem 53.
Aceasta nu redirecționează automat interogările UDP DNS obișnuite. O conductă brută de octeți UDP-către-TCP nu este suficientă, deoarece DNS over TCP adaugă un câmp de lungime și o încadrare de flux. Integrarea cu resolverul sistemului necesită un forwarder DNS adecvat sau o configurație TCP susținută explicit.
În fine, obținerea unei adrese pe această cale nu direcționează următoarea conexiune web prin SSH. Căutarea DNS și transportul către destinație rămân alegeri separate.