Sistemim tarafından kullanılan dns sunucularını listelemek için bir komut var mı?
Denedim
$ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopback
Ancak herhangi bir sunucuyu listelemiyor, "Ağ Yöneticisi GUI Aracı" na gidersem, Kablosuz bölümünde "DNS 192.168.1.1 8.8.8.8 8.8.4.4" listeleniyor.
çözüm.kendiniz uygulamadığınız sürece conf artık gerçekten kullanılmıyor. Ağ yöneticisi şimdi yapıyor. Sistemimdeki DNS sunucularını listelemek için bir takma ad oluşturdum, çünkü bazen opendns'den Google'ın açık dns'sine geçiyorum.
>Ubuntu = 15
nmcli device show <interfacename> | grep IP4.DNS
Ubuntu <= 14
nmcli dev list iface <interfacename> | grep IP4
Benim durumumda, <interfacename> oluyor eth0. bu yaygındır, ancak her zaman böyle değildir.
Bakalım istediğin bu mu.
düzenlemek:
Sanırım resolv.conf aslında dolaylı olarak kullanılır, çünkü ağ yöneticisi 127.0.0.1'i dinleyen sunucuyu oluşturur, ancak bunun dikkate alınmaması gereken bir uygulama detayı olduğu söylendi. Bu girişten önce DNS adreslerini girerseniz, bunların kullanılabileceğini düşünüyorum, ancak bunun tam olarak nasıl çalıştığından emin değilim. Mümkün olduğunda çoğu durumda ağ yöneticisini kullanmanın en iyisi olduğunu düşünüyorum.
En çok puan alan iki cevap, nmcli dev list iface <interfacename> | grep IP4 ve nm-tool her ikisi de ağ yöneticisi'nin denetimde olduğunu varsayar. Hangisi - en azından çoğu zaman masaüstü makinelerde. Ancak daha eksiksiz cevap, bazen ağ yöneticisinin kontrol altında olmamasıdır. Örneğin vpnc ile uğraşıyor /etc/resolv.conf direkt olarak.
Yani: Önce 127.0.0.1 / localhost'un kullanılıp kullanılmadığını kontrol edin. Bu ile yapılabilir dig:
Burada, dig doğru ve nm-tool'nin bilgileri yanıltıcıdır. Gerçekte, VPN kullandığım ortama yerel adresler doğru şekilde çözülür. Tüm bunlar Google'ın dns'si 8.8.8.8değil bil bakalım.
Bunun nedeni, bir vpn'ye bağlandıktan sonra vpnc, bir satır koyar /etc/resolv.conf yani öyle görünüyor:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 1.2.3.4nameserver 127.0.0.1search MyDomain
cat /etc/resolv.conf DNS sunucularınızı göstermelidir.
Değiştiremezsiniz resolv.conf doğrudan Ubuntu 12.04 ile. Ancak, bunları değiştirmeniz gerekirse, bilgisayarınıza yeni DNS sunucuları ekleyebilirsiniz. /etc/network/interfaces aşağıdakileri ekleyerek dosya:
dns-nameservers x.x.x.x x.x.x.x
nerede x kullanmak istediğiniz DNS sunucularıdır.
Yerinde olsam kaldırırdım. network-manager. Bence bu bir saçmalık.
Özellikle bilgisayarınızda birden çok NIC varsa, ayarlarınızı değiştirme konusunda endişelenmeden el ile yapmanız gereken her şeyi gerçekleştirebilirsiniz.
Bunu yapmanın kaç yolu olduğu şaşırtıcı. Bir Ubuntu Sunucusunda 18.04, fazladan bir şey yüklemek istemiyorsanız nm-tool, sonraları systemd-resolve --status DNS bilgileri için kutunun dışında çalışır.
Yalnızca DNS sunucularınızı değil, aynı zamanda varsayılan ağ geçidini, IP adresini, ağ maskesini vb. Almakla ilgileniyorsanız, o zaman netplan ip leases eth0 tüm bu bilgileri okunması kolay bir biçimde size verecektir (ilgilendiğiniz varsayılarak eth0 Arabirim).
systemd-resolve --status | grep -B 9 -A 6 "Current DNS Server"
DNS kullanan her bağdaştırıcı için hangi dns'nin kullanıldığına dair net bir sonuç verdi.
Dns'yi yeniden yapılandırmak için
man systemd-resolved
bağlantı kurulan DNS sunucularının genel ayarlar tarafından belirlendiğini gösterir. /etc/systemd/resolved.conf.
Sudo bu dosyayı düzenleyin ve açın ve ayarlayın DNS= ve FallbackDNS= istediğiniz IPv4 DNS sunucularına.Örneğin, DNS=8.8.8.8 ve FallbackDNS=8.8.4.4 kullanırdı Google Genel DNS.Değişikliği uygulamak için makineyi yeniden başlatın.
@PLA, bunun için teşekkür ederim cevap bu da beni bu yola sürükledi.