Как просмотреть 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-серверы.


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

7

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

cat /var/lib/dhcp/dhclient.leases | grep dhcp-server-identifier

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

Как я уже упоминал в комментариях (которые по популярным запросам теперь стали ответом), можно использовать 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-сервером, разрешающим домен для вас. Этот сервер может меняться в зависимости от имени хоста.

0

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

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

dig +short myip.opendns.com @resolver1.opendns.com
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.