Czy istnieje polecenie, aby wyświetlić listę serwerów DNS używanych przez mój system?
próbowałem
$ 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 OVERWRITTEN
nameserver 127.0.0.1
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Ale nie wyświetla żadnych serwerów, jeśli przejdę do „Narzędzia GUI Menedżera sieci”, w sekcji Sieć bezprzewodowa wyświetli „DNS 192.168.1.1 8.8.8.8 8.8.4.4”
Czy mogę uzyskać te same informacje z wiersza poleceń?
Używam Ubuntu 12.04 LTS
command-line
dns
Anurag Uniyal
źródło
źródło
Odpowiedzi:
resolv.conf nie jest już tak naprawdę używany, chyba że sam go zaimplementujesz. Menedżer sieci robi to teraz. Utworzyłem alias, aby wyświetlić listę serwerów DNS w moim systemie, ponieważ czasami przełączam się z OpenDNS na otwarty DNS Google.
Ubuntu> = 15
Ubuntu <= 14
W moim przypadku
<interfacename>
jesteth0
, co jest powszechne, ale nie zawsze tak jest.Sprawdź, czy tego właśnie chcesz.
EDYTOWAĆ:
Myślę, że resolv.conf jest faktycznie używany pośrednio, ponieważ menedżer sieci tworzy serwer, który nasłuchuje na 127.0.0.1, ale powiedziano mi, że jest to szczegół implementacji, na który nie należy liczyć. Myślę, że jeśli wpiszesz adresy DNS przed tym wpisem, mogą się przydać, ale nie jestem pewien, jak to dokładnie działa. Myślę, że najlepiej jest używać menedżera sieci w większości przypadków, jeśli to możliwe.
źródło
Dotyczy to Ubuntu 13.10 i wcześniejszych. W przypadku systemu Ubuntu 14.04 i nowszych zapoznaj się z odpowiedzią Koala Yeung na: Jak dowiedzieć się, jakiego DNS używam w systemie Ubuntu od 14.04 r.
Posługiwać się
Otrzymasz wyjście podobne do
Lub zobaczyć tylko DNS
źródło
nm-applet
menu informacji o połączeniu również będzie działać :)nm-tool
w wersji 16.x.nmcli
(w odpowiedzi Marty'ego Frieda) jest to najlepsza drogaDwie najlepsze odpowiedzi
nmcli dev list iface <interfacename> | grep IP4
inm-tool
obie zakładają, że menedżer sieci jest pod kontrolą. Który to jest - przynajmniej na komputerach stacjonarnych. Ale pełniejsza odpowiedź jest taka, że czasami menedżer sieci nie ma kontroli. Np.vpnc
Messes with direct/etc/resolv.conf
.Więc: Najpierw sprawdź, czy używany jest 127.0.0.1/localhost. Można to zrobić za pomocą
dig
:Teraz wiesz, że są przy użyciu localhost. Śmiało z jedną z popularnych odpowiedzi. Lubię:
Ale jeśli 127.0.0.1/localhost jest nie używany, to
nm-tool
jest inmcli
wyjście 's będzie myląca:Tutaj
dig
jest poprawnenm-tool
, a informacje wprowadzające w błąd. W rzeczywistości adresy lokalne dla środowiska, w którym mam połączenie VPN, są rozwiązane poprawnie. Wszystko, o czym DNS Google8.8.8.8
nie wie.Wynika to z faktu, że po podłączeniu do sieci VPN za
vpnc
pomocą linii, linia/etc/resolv.conf
wygląda tak:źródło
dig
narzędzie można łatwo zainstalowaćapt install dnsutils
.cat /etc/resolv.conf
powinien pokazać twoje serwery DNS.Nie możesz modyfikować
resolv.conf
bezpośrednio w Ubuntu 12.04. Jeśli jednak chcesz je zmienić, możesz dodać nowe serwery DNS do swojego/etc/network/interfaces
pliku, dodając następujące elementy:gdzie
x
są serwery DNS, których chcesz używać.Na twoim miejscu odinstalowałbym
network-manager
. Moim zdaniem to kupa gówna.Możesz wykonać wszystko, co musisz zrobić ręcznie, nie martwiąc się o zmianę ustawień, szczególnie jeśli masz na komputerze wiele kart sieciowych.
źródło
W Ubuntu 18.04 możesz używać
systemd-resolve --status
źródło
wersja nmcli 0.9.10
Możesz użyć jednego z następujących poleceń:
źródło
W Ubuntu 15.10 możesz uzyskać DNS
źródło
Wygląda na to, że zarządza nim menedżer sieci. Zajrzyj tutaj http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html
dla dużego wyjaśnienia.
Lub w krótkiej wersji do obejrzenia
lub
źródło
/etc/NetworkManager/NetworkManager.conf
nie ma na nim żadnych serwerów DNS