Jak wyświetlić adres DNS przypisany przez DHCP?

33

Jak wyświetlić adres DNS przypisany przez DHCP?

ifconfig nie może tego pokazać.

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 90:e6:ba:22:6a:f2  
          inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::92e6:baff:fe22:6af2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:224856 errors:0 dropped:0 overruns:0 frame:0
          TX packets:220040 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:166848627 (166.8 MB)  TX bytes:20256333 (20.2 MB)
          Interrupt:46 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5889 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5889 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:468885 (468.8 KB)  TX bytes:468885 (468.8 KB)

wlan0     Link encap:Ethernet  HWaddr 00:26:5e:e8:4f:8e  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Victor S.
źródło
Co zwraca : ifconfig | grep 'inet addr:' ?
david6
@ david6 inet addr: 192.168.1.111 Bcast: 192.168.1.255 Mask: 255.255.255.0 inet addr: 127.0.0.1 Mask: 255.0.0.0
Victor S
To powinno ci pomóccat /var/lib/dhcp3/dhclient.leases | grep dhcp-server-identifier
devav2
@ devav2 $ cat /var/lib/dhcp/dhclient-529bed02-363e-4e97-bd5d-9f63f42f17f2-eth0.lease | grep dhcp-server-identifier opcja dhcp-server-identifier 192.168.1.1; opcja identyfikator serwera dhcp 192.168.1.1; opcja identyfikator serwera dhcp 192.168.1.1; opcja identyfikator serwera dhcp 192.168.1.1; opcja identyfikator serwera dhcp 192.168.1.1;
Victor S
1
O co pytasz Usługa DHCP przypisuje adres IP z puli (lub zakresu). Serwer DNS zwraca adresy IP nazwy hosta, domeny lub skrzynki pocztowej (rekord MX). Twojewyjście ifconfig wygląda normalnie ...
david6

Odpowiedzi:

40

Co najmniej Ubuntu 15.10 i nowsze (być może także wcześniejsze wersje) działają w terminalu:

nmcli dev show eth0 | grep IP4

eth0jest najczęstszą iface, ale może to być eth1, eth2itd

Do starszych wersji użyj nmcli dev list iface eth0 | grep IP4.

Marty Fried
źródło
1
Świetna odpowiedź! Doceń swoje udostępnianie! Mam to.
Victor S
Cieszę się, że pomogło. Znalazłem go, gdy chciałem uzyskać tę informację, a następnie przeanalizowałem ją, aby wyświetlić na żądanie, ponieważ miałem 3 różne możliwe serwery DNS (ISP, Google i OpenDNS).
Marty Fried
7
Według stanu na 15.04 polecenie brzminmcli dev show
Sergiy Kolodyazhnyy
3
Z nmcli dev show eth0(jak na 15.04) działa również na Debian Buster. Dzięki!
Luc
1
@YandryPozo Wysłano odpowiedź, zgodnie z prośbą :)
Sergiy Kolodyazhnyy,
13
$ nm-tool 

wyświetli również listę serwerów DNS.

dixoncx
źródło
1
+1, ponieważ zostało to przetestowane w wersji do 14.04. W przypadku wersji 15.04 i nowszych należy użyć nmclizgodnie z sugestią drugiej odpowiedzi.
clearkimura
7

Aby uzyskać adres DNS, otwórz terminal ( Ctrl+ Alt+ T) i wpisz:

cat /var/lib/dhcp/dhclient.leases | grep dhcp-server-identifier
devav2
źródło
2
Nie ma nic w /var/lib/dhcp/dhclient.leases, jest puste.
Victor S
$ plik /var/lib/dhcp/dhclient.leases /var/lib/dhcp/dhclient.leases: pusty
Victor S
spróbuj /var/lib/dhcp/dhclient.eth0.leases
frag
To bezużyteczne użyciecat . Prawdopodobnie masz na myśli grep domain-name-servers /var/lib/dhcp/dhclient.leases( domain-namenie dhcp-server).
Pablo A
6

tutaj jest:

cat /etc/resolv.conf

ale nie edytuj tego pliku

Iulian Pojar
źródło
W najnowszych wydaniach Ubuntu (myślę, że po 2012 roku) nie będzie to przydatne, ponieważ będzie zawierało nameserver 127.0.1.1, odnosząc się do instalacji localhost dnsmasq. Lepiej zapytać NetworkManagera, jak napisali @ anwar-shah i @ marty-fried
gerlos
Jak wspomniałeś, plik ten można edytować, a zatem niekoniecznie są to adresy przypisane przez DHCP. Teraz, jeśli sam go edytujesz, to oczywiście będzie inaczej - ale co, jeśli korzystasz z firmowej sieci VPN? Czy coś innego wpływa na plik? Dlatego uważam, że nie jest to dobra odpowiedź, nawet jeśli jest prosta i uniwersalna. To dobre pierwsze miejsce do patrzenia, ale sama odpowiedź nie jest prawdziwa.
Luc
3

Jako alternatywę GUI dla odpowiedzi @ MartyFried spróbuj tego.

  1. Kliknij ikonę Łączność sieciowa na górnym panelu.

  2. Wybierz Ustawienia Wi-Fi

  3. Powinien wyświetlać adres serwera DNS

    zrzut ekranu

Anwar
źródło
4
Moje Ubuntu nie ma pulpitu GUI.
Victor S
@VictorS pokazuje te same informacje, co druga odpowiedź. Sprawdziłem to
Anwar
1
Dzięki za odpowiedź, jest wygodny dla użytkowników GNOME lub KDE.
Victor S
2

W Ubuntu 16.04 informacje z dhcp są zapisane w: /var/lib/NetworkManager/dhclient-<interface>.conf

Anton Krosnev
źródło
2

Jak wspomniałem w komentarzach (na które popularna prośba stała się teraz odpowiedzią), można używać nmcli dev showod wersji Ubuntu 15.04. Dodaj grepdo miksu i gotowe:

$ nmcli dev show | grep 'DNS'                                                                                                                                                                     
IP4.DNS[1]:                  208.67.222.222
IP4.DNS[2]:                  208.67.220.220
Sergiy Kolodyazhnyy
źródło
2

Teraz, gdy Ubuntu (i Debian i prawie wszystkie dystrybucje) używają systemd (sprawdź za pomocą file /sbin/init), być może bardziej eleganckim sposobem na uzyskanie tych informacji jest:

systemd-resolve --status
Pablo A.
źródło
1
Idealna odpowiedź dla systemów, w których nie działa NetworkManager. Ubuntu 18.04, Ubuntu 19.10
Ryan Jeremiah Freeman
Działa również w języku Raspbian
rytualnie
2

Moje rzeczywiste rozwiązanie (est 2015, Ubuntu 14.04) jest następujące:

  1. Uruchom CLI
  2. Rodzaj: sudo apt-get install gnome-system-tools
  3. Po pomyślnej instalacji wpisz w terminalu: network-admin

Jeśli jakoś nie możesz tego zrobić, spróbuj tego, chociaż nie jest to dla mnie wystarczająco dobre, ale wykonało moją pracę:

  1. rodzaj dig google.com
  2. pod koniec widać coś takiego (szac. 2015) ;; SERWER: a następnie adres IP (przynajmniej na moim komputerze), TO jest rzeczywisty serwer DNS rozwiązujący domenę dla Ciebie. Ten serwer może jednak zmienić nazwę hosta.
AltCtrl
źródło
0

Jeśli twój komputer działa za routerem / Wi-Fi twojego dostawcy Internetu , otrzymasz prywatny adres IP z DHCP routera, na przykład 192.168.0.2 lub 192.168.1.100.

Aby uzyskać publiczny adres IP DHCP DNS od swojego dostawcy Internetu , musisz uruchomić następujący wiersz poleceń na terminalu:

dig +short myip.opendns.com @resolver1.opendns.com
Fernando Santucci
źródło