pingbazı ana makine adını ( "ping: bilinmiyor konak domain.company.local") çözemezse söylüyor bir URL ama kullandığınızda hostveya nslookupkomut satırında aynı bilgisayarda, çözünürlükleri çalışıyor (yani hızlı ve güvenilir ).
Buna ne sebep olabilir?
Daha fazla test: Firefox wgetve pingaynı sorunu var. IP adresine ping işlemi çalışır.
İşletim Sistemi: Linux (Ubuntu 13.04)
DÜZENLEME Benim /etc/resolv.confokur:
nameserver 127.0.1.1
search domain.company.local
netstat raporlar:
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 -
bu yüzden bu portta bir şeyler çalışıyor ( DNS sunucusu olarak nslookupkullandığını da bildirir 127.0.1.1).
Hayır /etc/*inetd.conf, bu yüzden hangi uygulamanın bu bağlantı noktasına hizmet ettiğinden emin değilim.
Görünüşe göre dnsmasqkullanılmış:
/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
Tüm yapılandırma dosyaları ve klasörleri boş. Tahmin ettiğimden beri nslookup, 127.0.1.1#53benim dnsmasqyapılandırmam bile işe yaramaz. Ancak hangi ana DNS'nin sorgulanacağını nasıl biliyor?
EDIT2 Harrymcdnsmasq tarafından önerildiği gibi devre dışı bırakmanın yardımı olmadı. Bu yüzden koştum strace pingbana bu garip çıktı (sadece ilginç kısımlar):
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
Yani pingbakar /etc/hostshangi mantıklı. Sonra yükler ve mmap()s /lib/libnss_mdns4_minimal.so.2sıra mantıklı.
Ama sonra avahi ile konuşuyor!
Beni bu forum gönderisine yönlendirdi: ping dns isteğinde bulunmadı .
Benim /etc/nsswitch.confde bu satırı içeriyor:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Eğer pingçalışan bir adressem, işlemin de yüklendiğini görüyorum /lib/libnss_mdns4_minimal.so.2ancak daha sonra 53 numaralı port üzerinden DNS sorgulaması yapıyor.
Benim tahminim şimdi böylece /lib/libnss_mdns4_minimal.so.2her nasılsa IP adresi uçları ile bu fark edilir .localve birlikte .comve daha sonra [NOTFOUND=return]tetiklenir.
Bunu nasıl düzeltebilirim?
wget.
nslookupya hostda isminin nasıl çözülebileceğini ya da çözebileceğini ve sistemdeki herhangi bir şeyi çözemez.
/etc/NetworkManager/NetworkManager.confyorum ve dns=dnsmasqçizgi (önünde # koyun) sonra yapmak sudo restart network-manager. Bu yerel çözümleyiciyi kapatır. ( kaynak )
/etc/resolv.conf?