Барање DNS преку TCP со локално пренасочување на SSH
Пренасочете локален непривилегиран TCP порт кон оддалечен DNS сервер и побарајте експлицитно DNS over TCP со dig.
Локалното пренасочување на OpenSSH пренесува TCP. DNS исто така може да користи TCP, под услов алатката за барање и оддалечената DNS услуга да го користат тој транспорт.
За DNS сервер достапен од SSH домаќинот, отворете пренасочување што слуша само на loopback:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Потоа испратете експлицитно TCP DNS барање од локалната машина:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Заменете го DNS серверот, SSH домаќинот и бараното име со предвидените вредности. Страната на SSH серверот мора да може да го достигне dns.internal:53, а политиката за пренасочување мора да го дозволува тоа.
Локалниот порт е над опсегот на привилегирани порти. Барањето до локален порт 1053 не бара поврзување на системскиот DNS порт 53.
Ова не ги пренасочува автоматски обичните UDP DNS барања. Сурова бајтна цевка од UDP кон TCP не е доволна, бидејќи DNS over TCP додава поле за должина и струјно врамување. Интеграцијата со системскиот resolver бара соодветен DNS препраќач или експлицитно поддржана TCP конфигурација.
Конечно, добивањето адреса по овој пат не ја насочува следната веб-врска преку SSH. DNS пребарувањето и транспортот до дестинацијата остануваат одделни избори.