ההעברה המקומית של 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 מוסיף שדה אורך ומסגור זרם. שילוב עם הפותר של המערכת דורש מעביר DNS מתאים או תצורת TCP נתמכת במפורש.

לבסוף, קבלת כתובת בדרך זו אינה מנתבת את חיבור האינטרנט הבא דרך SSH. חיפוש ה-DNS והתעבורה אל היעד נשארים בחירות נפרדות.

מאמרים קשורים