ping
আমাকে বলে যে এটি কোনও ইউআরএলে কিছু হোস্টনাম ("পিং: অজানা হোস্ট ডোমেন ডটকম.লোকাল") সমাধান করতে পারে না তবে আমি যখন কমান্ড লাইনে host
বা nslookup
একই কম্পিউটারে ব্যবহার করি তখন রেজোলিউশনগুলি ঠিক কাজ করে (যেমন এটি দ্রুত এবং নির্ভরযোগ্য) )।
কি এই সৃষ্টি হতে পারে?
আরও পরীক্ষা: ফায়ারফক্স wget
এবং ping
একই সমস্যা রয়েছে। আইপি অ্যাড্রেস পিংিং কাজ করে।
ওএস: লিনাক্স (উবুন্টু 13.04)
সম্পাদনা আমার /etc/resolv.conf
লেখা আছে:
nameserver 127.0.1.1
search domain.company.local
netstat
রিপোর্ট:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
সুতরাং এই বন্দরে কিছু চলছে ( nslookup
এটি 127.0.1.1
ডিএনএস সার্ভার হিসাবে ব্যবহার করে এমনও প্রতিবেদন করে )।
কোনও নেই /etc/*inetd.conf
, সুতরাং আমি নিশ্চিত নই যে কোন অ্যাপ্লিকেশনটি এই বন্দরটিতে কাজ করে।
এটি dnsmasq
ব্যবহার করা হয় বলে মনে হয়:
/usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces
--pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1
--conf-file=/var/run/NetworkManager/dnsmasq.conf --cache-size=0 --proxy-dnssec
--enable-dbus=org.freedesktop.NetworkManager.dnsmasq
--conf-dir=/etc/NetworkManager/dnsmasq.d
সমস্ত কনফিগার ফাইল এবং ফোল্ডার খালি are যেহেতু nslookup
এটি বলছে এটি 127.0.1.1#53
আমার অনুমান ব্যবহার dnsmasq
করে তা এটি কোনও কনফিগারেশন ছাড়াও কাজ করে। তবে এটি কীভাবে জানতে পারে যে কোন পিতামাতাকে ডিএনএস জিজ্ঞাসা করবে?
EDIT2 হ্যারিমিকেরdnsmasq
পরামর্শ অনুসারে অক্ষম করা কোনও উপকারে আসেনি। সুতরাং আমি দৌড়েছি strace ping
যা আমাকে এই বিজোড় আউটপুট দিয়েছে (কেবল আকর্ষণীয় অংশ):
open("/etc/host.conf", O_RDONLY|O_CLOEXEC) = 4
read(4, "127.0.0.1\tlocalhost\n#127.0.1.1\ta"..., 4096) = 613
...
open("/lib/libnss_mdns4_minimal.so.2", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\f\0\0\0\0\0\0"..., 832) = 832
...
mmap(NULL, 2105560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x7f7829b00000
...
socket(PF_FILE, SOCK_STREAM, 0) = 4
fcntl(4, F_GETFD) = 0
fcntl(4, F_SETFD, FD_CLOEXEC) = 0
connect(4, {sa_family=AF_FILE, path="/var/run/avahi-daemon/socket"}, 110) = 0
fcntl(4, F_GETFL) = 0x2 (flags O_RDWR)
fstat(4, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f782a4f8000
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(4, "RESOLVE-HOSTNAME-IPV4 domain.com"..., 44) = 44
read(4, "-15 Timeout reached\n", 4096) = 20
তাই ping
দেখায় /etc/hosts
যা জ্ঞান করে তোলে। তারপর এটি লোড করে এবং mmap()
গুলি /lib/libnss_mdns4_minimal.so.2
যা পাশাপাশি জ্ঞান করে তোলে।
তবে তারপরেই তা অবাহির সাথে কথা বলে !?
যা আমাকে এই ফোরাম পোস্টে নিয়ে গেছে: পিং কোনও ডিএনএস অনুরোধ করে না ।
আমার /etc/nsswitch.conf
মধ্যে এই লাইনটি রয়েছে:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
যদি আমি ping
একটি কাজের ঠিকানা, আমি দেখতে পাচ্ছি যে প্রক্রিয়াটি লোড হয় /lib/libnss_mdns4_minimal.so.2
তবে তারপরে, এটি পোর্ট 53 এর মাধ্যমে একটি ডিএনএস কোয়েরি করে।
সুতরাং আমার অনুমানটি এখন /lib/libnss_mdns4_minimal.so.2
একরকম লক্ষ্য করছে যে আইপি ঠিকানাটি শেষ হয় .local
এবং সাথে হয় না .com
এবং তারপরে [NOTFOUND=return]
ট্রিগার হয়।
আমি কিভাবে এটা ঠিক করব?
wget
।
nslookup
বা host
অন্য যে কোনও কিছুই কীভাবে সমাধান করা যায় বা কী তা আমি বুঝতে পারি না।
/etc/NetworkManager/NetworkManager.conf
এবং মন্তব্য করুন dns=dnsmasq
(এর সামনে একটি # রাখুন) তারপরে একটি করুন sudo restart network-manager
। এটি স্থানীয় রিসলভারটি বন্ধ করে দেবে। ( উত্স )
/etc/resolv.conf
?