Командная строка для вывода списка DNS-серверов, используемых моей системой

Есть ли команда для вывода списка DNS-серверов, используемых моей системой?

Я пробовал

  $ cat/etc/resolv.  conf # Динамический файл resolv.conf (5) для распознавателя glibc (3), созданный resolvconf (8) # НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ ВРУЧНУЮ - ВАШИ ИЗМЕНЕНИЯ БУДУТ ПЕРЕЗАПИСАННЫМ nameserver 127.0.0.1 $ cat/etc/network/interfaces # интерфейсы  (5) файл, используемый ifup (8) и ifdown (8) auto loiface lo inet loopback  

Но он не перечисляет серверы, если я перейду в «Графический интерфейс Network Manager. Tool », в разделе« Беспроводная связь »указано« DNS 192.168.1.1 8.8.8.8 8.8.4.4 »

Могу ли я получить ту же информацию из командной строки?

Я использую Ubuntu 12.04 LTS


resolv.conf больше не используется, если вы не реализуете его самостоятельно. Сетевой менеджер делает это сейчас. Я создал псевдоним для перечисления DNS-серверов в моей системе, так как иногда переключаюсь с OpenDNS на открытый DNS Google.

Ubuntu> = 15

  nmcli device show  |  grep IP4.DNS  

Ubuntu

  nmcli dev list iface  |  grep IP4  

В моем случае — это eth0 , что является обычным, но не всегда случай.

Посмотрите, хотите ли вы этого.

EDIT:

Я думаю, что resolv.conf на самом деле используется косвенно, потому что сетевой менеджер создает сервер, который прослушивает 127.0.0.1, но мне сказали, что это деталь реализации, на которую не следует рассчитывать. Я думаю, что если вы введете адреса DNS перед этой записью, они могут привыкнуть, но я не уверен, как именно это работает. Я думаю, что в большинстве случаев лучше использовать сетевой менеджер, когда это возможно.


Это действительно для Ubuntu 13.10 и ранее. Для Ubuntu 14.04 и более поздних версий см. Ответ Коалы Йенга на вопрос: Как узнать, какой DNS я использую в Ubuntu с 14.04 и далее


Use

  nm-tool  

Вы получите результат, аналогичный

  NetworkManager ToolState: connected (global) - Device  : eth0 [Проводное соединение 1] -------------------------------------------  Тип: Проводной Драйвер: e1000e Состояние: подключен По умолчанию: да HW-адрес: 00: 11: 22: 33: 44: 55 Возможности: Обнаружение несущей: да Скорость: 1000 Мбит/с Свойства проводной сети Оператор связи: на IPv4 Настройки: Адрес: 10.21.  6.13 Префикс: 24 (255.255.255.0) Шлюз: 10.21.6.1 DNS: 10.22.5.133 DNS: 10.22.5.3  

Или просто посмотреть, что делает DNS

  nm-инструмент |  grep DNS  

8


В Ubuntu 18. 04 вы можете использовать systemd-resolve --status

3


Два самых популярных ответа, nmcli dev list iface | grep IP4 и nm-tool предполагают, что все под контролем сетевого менеджера. Так оно и есть — по крайней мере, большую часть времени на настольных компьютерах. Но более полный ответ состоит в том, что иногда сетевой менеджер не контролирует ситуацию. Например. vpnc напрямую связан с /etc/resolv.conf .

Итак: сначала проверьте, используется ли 127.0.0.1/localhost . Это можно сделать с помощью dig :

 > dig something.unknown |  grep SERVER: ;;  СЕРВЕР: 127.0.0.1 # 53 (127.0.0.1)  

Теперь вы знаете, что мы используем localhost. Давай, давай один из популярных ответов. Мне нравится:

 > nm-tool |  grep DNS: DNS: 8.8.8.8  

Но если 127.0.0.1/localhost не используется, тогда nm-tool и результат nmcli будут вводить в заблуждение:

 > dig something.unknown |  grep SERVER: ;;  СЕРВЕР: 172.22.216.251 # 53 (172.22.216.251)> nm-tool |  grep DNS: DNS: 8.8.8.8  

Здесь dig правильный, а nm-tool информация вводит в заблуждение. На самом деле адреса, локальные для среды, в которую я подключился через VPN, разрешаются правильно. Все, о чем Google DNS 8.8.8.8 не знает .

Это потому, что после подключения к VPN с vpnc , он помещает строку в /etc/resolv.conf так, чтобы это выглядело так:

   # Динамический файл resolv.conf (5) для преобразователя glibc (3), сгенерированный resolvconf (8) # НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ ВРУЧНУЮ - ВАШИ ИЗМЕНЕНИЯ БУДУТ ПЕРЕЗАПИСАННЫМ nameserver 1.2.3.4nameserver 127.0.0.1search MyDomain  

3


cat/etc/resolv.conf должен отображать ваши DNS-серверы.

Вы не можете изменять resolv.conf непосредственно в Ubuntu 12.04. Если вам нужно изменить их, вы можете добавить новые DNS-серверы в свой файл /etc/network/interfaces , добавив следующее:

  dns-nameservers xxxx xxxx  

, где x — это DNS-серверы, которые вы хотите использовать.

Если я на вашем месте я бы удалил network-manager . На мой взгляд, это куча дерьма.

Вы можете выполнить все, что вам нужно, вручную, не беспокоясь об изменении настроек, особенно если у вас на компьютере несколько сетевых карт.

3


nmcli версия 0.9.10

Вы можете использовать любую из этих команд:

  nmcli -t -f IP4. Устройство DNS показывает eth0IP4.DNS [1]: 192.168.1.1IP4.DNS [2]: 8.8.8.8nmcli -t -f IP4.DNS connection show conn-nameIP4.DNS [1]: 192.168.1.1IP4.DNS [2]  ]: 8.8.8.8  


В Ubuntu 15.10 вы можете получить DNS

  nmcli device show   


Удивительно, сколько существует способов сделать это. На сервере Ubuntu 18.04, если вы не хотите устанавливать ничего лишнего, например nm-tool , тогда systemd-resolve --status будет работать вне поле для информации DNS.

Если вы хотите получить не только свои DNS-серверы, но также шлюз по умолчанию, IP-адрес, маску сети и т. д., тогда netplan ip арендует eth0 предоставит вам всю эту информацию в удобной для чтения форме (при условии, что вас интересует интерфейс eth0 ).

1


Кажется, управляется администратором сети. Посмотрите здесь http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

для подробного объяснения.

Или короткую версию, чтобы посмотреть в

 /etc/NetworkManager/NetworkManager.conf

or

/NetworkManager/NetworkManager.conf

1


В системах, где НЕ установлен systemd-resolved :

  $ host -v something.unknown |  awk -F "[#]" '/Получено/{print $ 5}' |  uniq192.168.1.1  

В системах, где работает NetworkManager :

  $ (  nmcli -f IP4.DNS, IP6.DNS список разработчиков || nmcli -f IP4.DNS, IP6.DNS dev show) 2>/dev/null |  awk '/DNS/{print$NF}'192.168.1.1  



Проблема DNS в ubuntu 14.04

Иногда я сталкиваюсь с проблемой разрешения DNS в моем Ubuntu 14.04.2 LTS trusty.

Я настроил свою систему с сетью менеджер для работы со статическим назначением IP. Я также попытался изменить адрес DNS-сервера, но когда возникает эта проблема, я не могу получить доступ к каким-либо веб-сайтам через URL-адрес, но могу получить доступ только через IP.

Во время этой проблемы я пытался

  • для остановки службы dnsmasq
  • удаление dnsmasq
  • перезапустить сетевую службу
  • перезапустить сеть- менеджер
  • nslookup к домену, например google, yahoo

Я не могу решить проблему, выполнив все эти действия. но единственное решение — перезагрузить компьютер или мне придется изменить свой IP-адрес и назначить его обратно.

Вывод некоторой конфигурации

  ##  #### Начало отладочной информации для resolvconf ######### ls -l/etc/resolvconftotal 16-rw-r - r-- 1 root root 172 13 декабря 2012 interface-orderdrwxr-xr-x  2 root root 4096 21 мая, 11:02 resolv.conf.ddrwxr-xr-x 2 root root 4096 21 мая 10:57 update.ddrwxr-xr-x 2 root root 4096 23 июля 2014 update-libc.d ### cat/ etc/resolvconf/interface-order # interface-order (5) lo.inet * lo.dnsmasqlo.pdnsdlo.! (pdns | pdns-recursor) lotun * tap * hso * em + ([0-9])? (_ +  ([0-9])) * p + ([0-9]) p + ([0-9])? (_ + ([0-9])) * eth * ath * wlan * ppp ** ###  ls -l/etc/resolvconf/resolv.conf.dtotal 8-rw-r - r-- 1 root root 1 19 мая 10:08 base-rw-r - r-- 1 root root 151 13 декабря 2012 head  ### cat/etc/resolvconf/resolv.conf.d/base### cat/etc/resolvconf/resolv.conf.d/head# Динамический файл resolv.conf (5) для преобразователя glibc (3), созданный resolvconf  (8) # НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ вручную - ВАШИ ИЗМЕНЕНИЯ БУДУТ  ПЕРЕЗАПИСАНО ### ls -l/etc/resolvconf/runls: нет доступа к/etc/resolvconf/run: нет такого файла или каталога ### ls -l/run/resolvconftotal 4-rw-r - r-- 1 root  root 0 10 июня 12:41 enable-updatesdrwxr-xr-x 2 root root 60 10 июня 12:42 interface-rw-r - r-- 1 root root 170 10 июня 12:42 resolv.conf ### cat/ run/resolvconf/enable-updates ### cat/run/resolvconf/resolv.conf# Динамический файл resolv.conf (5) для резолвера glibc (3), созданный resolvconf (8) # НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ вручную -  ВАШИ ИЗМЕНЕНИЯ БУДУТ ПЕРЕЗАПИСАННЫМ nameserver 8.8.8.8 ### ls -l/run/resolvconf/interfacetotal 4-rw-r - r-- 1 root root 19 июня 10 12:42 NetworkManager ### cat/run/resolvconf/interface /NetworkManagernameserver 8.8.8.8 ### ls -l/etc/resolv.conflrwxrwxrwx 1 root root 29 мая 21 11:09/etc/resolv.conf -> ../run/resolvconf/resolv.conf### lsattr/etc /resolv.conflsattr: Операция не поддерживается при чтении флагов в/etc/resolv.conf### cat/etc/resolv.conf# Динамический файл resolv.conf (5) для преобразователя glibc (3), созданный resolvconf (8) #  НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ ВРУЧНУЮ - ВАШИ ИЗМЕНЕНИЯ БУДУТ ПЕРЕЗАПИСАННЫМ nameserver 8.8.8.8 ### cat/etc/NetworkManager/NetworkManager.conf[main ]plugins=ifupdown,keyfile,ofono#dns=dnsmasqno-auto-default=E0:  69: 95: AB: 91: 5A, [ifupdown] managed = false ###### Конец отладочной информации для resolvconf ######  

Когда я запускаю nslookup 8.8.8.8 Я получаю ;; время соединения истекло; не удалось подключиться к серверам

Пожалуйста, помогите мне, так как это полностью остановило мою работу из-за перезапуска системы и потери связи в любое время.


редактировать /etc/resolv.conf ; добавьте строки nameserver ip.ad.dr.es . Вы должны добавить один или два сервера имен для переключения при отказе. Обычно вы используете серверы имен, которые предоставляет ваш интернет-провайдер, но используете 4.4.2.. 2 и тому подобное — нормально, если вы хотите передать им свои привычки просмотра

4


откройте терминал и выполните следующие команды:

  sudo ufw allow out 53sudo ufw disable;  sudo ufw enable echo "nameserver 8.8.4.4" |  sudo tee/etc/resolvconf/resolv.conf.d/baseecho "сервер имен 8.8.8.8" |  sudo tee -a/etc/resolvconf/resolv.conf.d/basesudo resolvconf -u  

РЕДАКТИРОВАТЬ:

Другой способ установить сервер имен — через dhclient:

  echo "prepend domain-name-servers 8.8.4.4, 8.8.8.8;"  |  sudo tee -a/etc/dhcp/dhclient.conf

и перезапустите сетевой менеджер:

  sudo service network-manager  перезапустить  

Также:

Вы также можете установить сервер имен через/etc/network/interfaces, добавив следующие строки в этот файл:

for wlan0

  iface wlan0 inetmanaged truedns-nameservers 8.8.4.4 8.8.8.8  

для eth0

  iface eth0 inetmanaged truedns-nameservers 8.8.4.4 8.8.8.8  

Наконец:

одна вещь, которую вы можете сделать, это очистить свои предыдущие соединения:

  sudo mv/ etc/Network-Manager/system-connections/etc/NetworkManager/system-backupsudo service network-manager restart  

4


Установите локальный DNS-сервер, включив поиск в корневой зоне. Проблема, которую вы ожидаете, может возникнуть, если провайдер делает что-то не так или в случае сбоев netlink. Только не забудьте включить корневую зону типа «подсказка»! и добавьте 127.0.0.1 в качестве первого сервера имен в resolv.conf. Это не самое быстрое решение, но если ваше соединение по IP-адресу невозможно взломать — это спасет вам день.

1

Оцените статью
clickpad.ru
Добавить комментарий