OpenSSH-ის ლოკალური გადამისამართება TCP-ს გადასცემს. DNS-საც შეუძლია TCP-ის გამოყენება, თუ მოთხოვნის ხელსაწყო და დისტანციური DNS სერვისი ამ ტრანსპორტს იყენებს.

SSH ჰოსტიდან მისაწვდომი DNS სერვერისთვის გახსენით მხოლოდ 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 ძიება და დანიშნულების ტრანსპორტი ცალკეულ არჩევანებად რჩება.

დაკავშირებული სტატიები