SSH লোকাল ফরওয়ার্ডের মাধ্যমে TCP-তে DNS জিজ্ঞাসা
একটি লোকাল অগ্রাধিকারহীন TCP পোর্ট দূরবর্তী DNS সার্ভারে ফরওয়ার্ড করুন এবং dig দিয়ে স্পষ্টভাবে DNS over TCP অনুরোধ করুন।
OpenSSH লোকাল ফরওয়ার্ডিং TCP বহন করে। DNS-ও TCP ব্যবহার করতে পারে, যদি জিজ্ঞাসা সরঞ্জাম এবং দূরবর্তী DNS পরিষেবা ওই পরিবহন ব্যবহার করে।
SSH হোস্ট থেকে পৌঁছানো যায় এমন DNS সার্ভারের জন্য কেবল লুপব্যাকে চলা একটি ফরওয়ার্ড খুলুন:
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 অনুসন্ধান ও গন্তব্য পরিবহন আলাদা বাছাই থেকে যায়।