ping
bazı ana makine adını ( "ping: bilinmiyor konak domain.company.local") çözemezse söylüyor bir URL ama kullandığınızda host
veya nslookup
komut 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 wget
ve ping
aynı sorunu var. IP adresine ping işlemi çalışır.
İşletim Sistemi: Linux (Ubuntu 13.04)
DÜZENLEME Benim /etc/resolv.conf
okur:
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 nslookup
kullandığı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 dnsmasq
kullanı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#53
benim dnsmasq
yapı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 ping
bana 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 ping
bakar /etc/hosts
hangi mantıklı. Sonra yükler ve mmap()
s /lib/libnss_mdns4_minimal.so.2
sıra mantıklı.
Ama sonra avahi ile konuşuyor!
Beni bu forum gönderisine yönlendirdi: ping dns isteğinde bulunmadı .
Benim /etc/nsswitch.conf
de 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.2
ancak daha sonra 53 numaralı port üzerinden DNS sorgulaması yapıyor.
Benim tahminim şimdi böylece /lib/libnss_mdns4_minimal.so.2
her nasılsa IP adresi uçları ile bu fark edilir .local
ve birlikte .com
ve daha sonra [NOTFOUND=return]
tetiklenir.
Bunu nasıl düzeltebilirim?
wget
.
nslookup
ya host
da isminin nasıl çözülebileceğini ya da çözebileceğini ve sistemdeki herhangi bir şeyi çözemez.
/etc/NetworkManager/NetworkManager.conf
yorum ve dns=dnsmasq
çizgi (önünde # koyun) sonra yapmak sudo restart network-manager
. Bu yerel çözümleyiciyi kapatır. ( kaynak )
/etc/resolv.conf
?