Как просмотреть DNS-адрес, назначенный DHCP?

33

Как просмотреть DNS-адрес, назначенный DHCP?

ifconfig не может показать это.

$ 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)
Виктор С
источник
Что возвращается: ifconfig | grep 'inet addr:' ?
Давид6
@ david6 inet addr: 192.168.1.111 Bcast: 192.168.1.255 Маска: 255.255.255.0 inet addr: 127.0.0.1 Маска: 255.0.0.0
Victor S
Это должно помочь вамcat /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-идентификатор сервера опция dhcp-идентификатор сервера 192.168.1.1; опция dhcp-server-identifier 192.168.1.1; опция dhcp-server-identifier 192.168.1.1; опция dhcp-server-identifier 192.168.1.1; опция dhcp-server-identifier 192.168.1.1;
Виктор С
1
О чем просят? Служба DHCP назначает IP-адрес из пула (или диапазона). DNS-сервер возвращает IP-адреса для имени хоста, домена или почтового ящика (MX-запись). Вашвывод ifconfig выглядит нормально ..
david6

Ответы:

40

По крайней мере, Ubuntu 15.10 и более поздних версий (возможно, также более ранние версии) запускается в терминале:

nmcli dev show eth0 | grep IP4

eth0является наиболее распространенным IFACE, но это может быть eth1, eth2и т.д.

Для более старых версий используйте nmcli dev list iface eth0 | grep IP4.

Марти Фрид
источник
1
Отличный ответ! Ценю вашу долю! Я понял.
Виктор С
Рад, что это помогло. Я нашел его, когда хотел получить эту информацию, а затем проанализировать ее для отображения по требованию, поскольку у меня было 3 разных DNS-сервера (ISP, Google и OpenDNS).
Марти Фрид
7
По состоянию на 15.04, командаnmcli dev show
Сергей Колодяжный,
3
С nmcli dev show eth0(как 15.04) он также работает на Debian Buster. Благодарность!
Люк
1
@YandryPozo Отправил ответ, как и просил :)
Сергей Колодяжный
13
$ nm-tool 

также будет перечислять DNS-серверы.

dixoncx
источник
1
+1, потому что это было проверено, работающее до выпуска 14.04. Для 15.04 и новее используйте nmcliвместо этого ответ, предложенный другим ответом.
Clearkimura
7

Для получения адреса DNS откройте терминал ( Ctrl+ Alt+ T) и наберите:

cat /var/lib/dhcp/dhclient.leases | grep dhcp-server-identifier
devav2
источник
2
В /var/lib/dhcp/dhclient.leases ничего нет, оно пустое.
Виктор С.
$ file /var/lib/dhcp/dhclient.leases /var/lib/dhcp/dhclient.leases: пусто
Виктор С.
Попробуйте /var/lib/dhcp/dhclient.eth0.leases
осколочная
Это бесполезное использованиеcat . Вы, вероятно, имеете в виду grep domain-name-servers /var/lib/dhcp/dhclient.leases( domain-name, нет dhcp-server).
Пабло А
6

вот:

cat /etc/resolv.conf

но не редактируйте этот файл

Юлиан Пояр
источник
В последних выпусках Ubuntu (думаю, после 2012 года) это будет бесполезно, так как будет содержать nameserver 127.0.1.1ссылку на установку localhost dnsmasq. Лучше обратиться к NetworkManager, как написано @
anwar-shah
Как вы упоминаете, этот файл может быть отредактирован и, следовательно, не обязательно является адресом, назначенным DHCP. Теперь, если вы отредактируете его сами, тогда, очевидно, все будет по-другому - но что если вы используете корпоративный VPN? Или что-то еще влияет на файл? Вот почему я думаю, что это не очень хороший ответ, даже если он простой и универсальный. Это хорошее первое место для поиска, но само по себе оно не является правильным ответом.
Люк
3

В качестве альтернативы GUI для ответа @ MartyFried, попробуйте это.

  1. Нажмите на значок сетевого подключения на верхней панели.

  2. Выберите настройки Wi-Fi

  3. Он должен показать вам адрес DNS-сервера

    Скриншот

Анвар
источник
4
Мой Ubuntu не имеет рабочего стола с графическим интерфейсом.
Виктор С
@VictorS показывает ту же информацию, что и другой ответ. Я проверил это
Анвар
1
Спасибо за ваш ответ, это удобно для пользователей gnome или KDE.
Виктор С
2

В Ubuntu 16.04 информация от dhcp записана в: /var/lib/NetworkManager/dhclient-<interface>.conf

Антон Кроснев
источник
2

Как я уже упоминал в комментариях (которые по популярным запросам теперь стали ответом), можно использовать nmcli dev showначиная с Ubuntu 15.04. Добавьте grepк смеси, и все готово:

$ nmcli dev show | grep 'DNS'                                                                                                                                                                     
IP4.DNS[1]:                  208.67.222.222
IP4.DNS[2]:                  208.67.220.220
Сергей Колодяжный
источник
2

Теперь, когда Ubuntu (и Debian, и почти все дистрибутивы) используют systemd (проверьте file /sbin/init), возможно, более элегантный способ получить эту информацию с помощью:

systemd-resolve --status
Пабло А
источник
1
Идеальный ответ для систем, не работающих с NetworkManager. Ubuntu 18.04, Ubuntu 19.10
Райан Иеремия Фриман
Он работает и в
Распбиане
2

Мое реальное решение (Est 2015, Ubuntu 14.04) заключается в следующем:

  1. Запустите CLI
  2. Тип: sudo apt-get install gnome-system-tools
  3. После успешной установки введите в терминале: network-admin

Если вы как-то не можете сделать это, попробуйте это, хотя это не достаточно хорошо для меня, но это сделало мою работу:

  1. тип dig google.com
  2. ближе к концу вы можете увидеть что-то вроде этого (Est. 2015) ;; СЕРВЕР: и затем IP-адрес (по крайней мере, на моем компьютере), который является фактическим DNS-сервером, разрешающим домен для вас. Этот сервер может меняться в зависимости от имени хоста.
AltCtrl
источник
0

Если ваш компьютер работает за маршрутизатором / WiFi вашего интернет-провайдера , вы получите частный IP-адрес от DHCP маршрутизатора, что-то вроде 192.168.0.2 или 192.168.1.100.

Чтобы получить общедоступный IP-адрес DHCP DNS от вашего интернет-провайдера , вам нужно запустить следующую команду на терминале:

dig +short myip.opendns.com @resolver1.opendns.com
Фернандо Сантуччи
источник