Lokalne przekierowanie OpenSSH przenosi TCP. DNS również może używać TCP, pod warunkiem że narzędzie zapytań i zdalna usługa DNS używają tego transportu.

Dla serwera DNS osiągalnego z hosta SSH otwórz przekierowanie nasłuchujące tylko na loopback:

ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]

Następnie wyślij jawne zapytanie TCP DNS z maszyny lokalnej:

dig +tcp @127.0.0.1 -p 1053 app.internal A

Zastąp serwer DNS, host SSH i odpytywane nazwy zamierzonymi wartościami. Strona serwera SSH musi mieć dostęp do dns.internal:53, a polityka przekierowania musi to dopuszczać.

Port lokalny znajduje się powyżej zakresu portów uprzywilejowanych. Zapytanie do lokalnego portu 1053 nie wymaga powiązania systemowego portu DNS 53.

Nie przekierowuje to automatycznie zwykłych zapytań UDP DNS. Surowa rura bajtowa UDP-do-TCP nie wystarcza, ponieważ DNS over TCP dodaje pole długości i ramkowanie strumienia. Integracja z resolverem systemowym wymaga odpowiedniego przekierownika DNS lub jawnie obsługiwanej konfiguracji TCP.

Na koniec: uzyskanie adresu tą drogą nie kieruje kolejnego połączenia webowego przez SSH. Wyszukiwanie DNS i transport do celu pozostają odrębnymi wyborami.

Powiązane artykuły