আমার একটি ভিএম চলছে যাঁর দেবিয়ান হুইজি রয়েছে যার উপর কিছু হোস্ট-নেম লুকস সম্পূর্ণ হতে বেশ কয়েক সেকেন্ড সময় নেয়, যদিও সমাধানকারী তত্ক্ষণাত জবাব দেয়। স্ট্রেঞ্জলি, সঙ্গে খোঁজ getaddrinfo()
প্রভাবিত হয়, কিন্তু gethostbyname()
নয়।
লোকালগুলি ভেঙে যাওয়ার সম্ভাবনা বাদ দিতে আমি গুগল রেজলভারগুলিতে স্যুইচ করেছি, সুতরাং আমার /etc/resolv.conf
চেহারাটি এমন দেখাচ্ছে:
search my-domain.com
nameserver 8.8.4.4
nameserver 8.8.8.8
আমার nsswitch.conf
লাইন আছে:
hosts: files dns
এবং আমার /etc/hosts
মধ্যে অস্বাভাবিক কিছু নেই।
যদি আমি চেষ্টা করি তবে telnet webserver 80
নামটির রেজোলিউশন পাওয়ার আগে এটি বেশ কয়েক সেকেন্ডের জন্য স্তব্ধ হয়ে যায়। একটি ltrace
আউটপুট [1] দেখায় যে হ্যাং একটি getaddrinfo()
কলে রয়েছে:
getaddrinfo("ifconfig.me", "telnet", { AI_CANONNAME, 0, SOCK_STREAM, 0, 0, NULL, '\000', NULL }, 0x7fffb4ffc160) = 0 <5.020621>
তবে, tcpdump
প্রকাশ করে যে নেমসার্ভার তত্ক্ষণাত জবাব দিয়েছিল, এবং এটি কেবল দ্বিতীয় telnet
উত্তরেই অবরুদ্ধ হয়েছিল। উত্তরগুলি একরকম দেখাচ্ছে:
05:52:58.609731 IP 192.168.1.75.43017 > 8.8.4.4.53: 54755+ A? ifconfig.me. (29)
05:52:58.609786 IP 192.168.1.75.43017 > 8.8.4.4.53: 26090+ AAAA? ifconfig.me. (29)
05:52:58.612188 IP 8.8.4.4.53 > 192.168.1.75.43017: 54755 4/0/0 A 219.94.235.40, A 133.242.129.236, A 49.212.149.105, A 49.212.202.172 (93)
[...five second pause...]
05:53:03.613811 IP 192.168.1.75.43017 > 8.8.4.4.53: 54755+ A? ifconfig.me. (29)
05:53:03.616424 IP 8.8.4.4.53 > 192.168.1.75.43017: 54755 4/0/0 A 219.94.235.40, A 133.242.129.236, A 49.212.149.105, A 49.212.202.172 (93)
05:53:03.616547 IP 192.168.1.75.43017 > 8.8.4.4.53: 26090+ AAAA? ifconfig.me. (29)
05:53:03.618907 IP 8.8.4.4.53 > 192.168.1.75.43017: 26090 0/1/0 (76)
আমি হোস্ট ফায়ারওয়াল লগগুলি পরীক্ষা করেছি এবং 53 বন্দরে কোনও কিছুই অবরুদ্ধ করা হচ্ছে না।
কী কারণে প্রথম ডিএনএসের জবাব উপেক্ষা করা হচ্ছে?
[1] আমি আমার সাথে কয়েকটি লাইন যুক্ত করেছি ltrace.conf
যাতে আমি addrinfo
কাঠামোর ভিতরে দেখতে পারি ।