Poizvedba DNS prek TCP z lokalnega posredovanja SSH
Preusmerite lokalna neprivilegirana vrata TCP na oddaljeni strežnik DNS in izrecno zahtevajte DNS over TCP z dig.
Lokalno posredovanje OpenSSH prenaša TCP. Tudi DNS lahko uporablja TCP, če orodje za poizvedbe in oddaljena storitev DNS uporabljata ta prenos.
Za strežnik DNS, dosegljiv z gostitelja SSH, odprite posredovanje, ki posluša samo na loopback:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Nato z lokalnega računalnika pošljite izrecno poizvedbo TCP DNS:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Zamenjajte strežnik DNS, gostitelja SSH in poizvedovano ime z želenimi vrednostmi. Stran strežnika SSH mora doseči dns.internal:53, pravilnik posredovanja pa mora to dovoljevati.
Lokalna vrata so nad obsegom privilegiranih vrat. Poizvedba na lokalna vrata 1053 ne zahteva vezave sistemskih vrat DNS 53.
To ne preusmerja običajnih poizvedb UDP DNS samodejno. Surova bajtna cev UDP-v-TCP ni dovolj, ker DNS over TCP doda polje dolžine in tokovno uokvirjanje. Povezava s sistemskim razreševalnikom zahteva ustrezen posrednik DNS ali izrecno podprto konfiguracijo TCP.
Nazadnje, pridobitev naslova po tej poti ne usmeri naslednje spletne povezave skozi SSH. Iskanje DNS in prenos do cilja ostaneta ločeni izbiri.