Какие серверы DNS я использую?

Использовать less но когда Вы хотите видеть выровненный столбцом данных CSV, передать ток по каналу, пролистывают column -ts , команда:

       | <m> shell-command
              <m>  represents  any  mark letter.  Pipes a section of the input
              file to the given shell command.  The section of the file to  be
              piped  is  between  the first line on the current screen and the
              position marked by the letter.   may also be ^ or $ to  indi-
              cate beginning or end of file respectively.  If  is . or new-
              line, the current screen is piped.

       m      Followed by any lowercase letter,  marks  the  current  position
              with that letter.

так использование |.column -ts , в less

262
07.05.2014, 22:33
14 ответов

Необходимо смочь получить некоторую разумную информацию в:

$ cat /etc/resolv.conf 
220
27.01.2020, 19:26
  • 1
    Однако знайте что (на современном Linuxen) содержание /etc/nsswitch.conf продиктуйте, какие службы имен используются (DNS, LDAP, и т.д.) и в какой порядок. Сказать fgrep hosts: /etc/nsswitch.conf. Если это только ссылки DNS, /etc/resolv.conf правильное место должно искать Ваши серверы имен. Но возможности, Вы также используете mDNS (иначе ZeroConf, иначе Avahi, иначе Добрый день, и т.д.), и т.д. В этом случае вещи зависят от того, что Вы используете. –  Alexios 12.01.2012, 15:35
  • 2
    Этот файл обычно указывает на 127.0.1.1 на Ubuntu - это - локальный сервер кэша DNS, не фактический восходящий поток. –  Barry Kelly 08.03.2016, 12:24
  • 3
    @BarryKelly печати, что Ваш маршрутизатор использует, то скорость –  Geremia 11.03.2016, 19:10
  • 4
    И если у Вас есть несколько настроенных вышестоящих серверов? Как знать, какой в настоящее время используется? –  Sylvain Leroux 25.11.2016, 01:31

Я думаю, что можно также запросить DNS, и он покажет Вам, какой сервер возвратил результат. Попробуйте это:

dig yourserver.somedomain.xyz

И ответ должен сказать Вам, какой сервер (серверы) возвратил результат. Вывод, которым Вы интересуетесь, будет выглядеть примерно так:

;; Query time: 91 msec
;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx)
;; WHEN: Tue Apr 02 09:03:41 EDT 2019
;; MSG SIZE  rcvd: 207

Можно также сказать dig запрашивать определенный сервер DNS при помощи dig @server_ip

76
27.01.2020, 19:26
  • 1
    На Debian это требует dnsutils пакет. –  Faheem Mitha 14.01.2012, 22:54
  • 2
    При использовании какого-либо сервиса маскирования/кэширования DNS, который выполняется на локальной машине, он скроет реальные серверы DNS. –  karatedog 07.09.2015, 12:12

При использовании администратора сети, вероятно, Вы получаете все параметры сети от своего dhcp сервера в Вашем университете.

Если Вы не хотите, используют Вашу оболочку для проверки настроек DNS (как описано hesse и Alexios), Вы видите их от панели "Network information".

Можно достигнуть этой панели путем нажатия правой кнопки мыши на значке администратора сети и выбора "Информации о соединении" из меню.

8
27.01.2020, 19:26

Вот то, как я делаю это:

nmcli dev show | grep DNS

Это работало до пути выше:

nm-tool | grep DNS
212
27.01.2020, 19:26
  • 1
    Этот полезен, если Вы используете VPN и NetworkManager. Ваш /etc/resolv.conf укажет на Вашу машину, с dnsmasq разрешение имен, как настроено NetworkManager. –  Grzegorz Żur 30.05.2013, 14:32
  • 2
    На Debian это требует network-manager пакет. примечание –  Neurotransmitter 03.02.2015, 21:44
  • 3
    не доступен в более новых Linux. например, это не находится в пакете 'администратора сети' debian 8. –  don bright 31.10.2015, 17:06
  • 4
    я обновил ответ для отражения то, что работает на меня в 2016. –  Lonniebiz 01.09.2016, 19:36
  • 5
    это - лучший ответ, resolve.conf не всегда, показывает истину –  blade 08.02.2018, 00:58

Просто сделай, nslookup . Часть его результатов включает сервер, который он использует.

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

$ nslookup google.com
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 172.217.22.174
57
27.01.2020, 19:26

Команда

 nmcli dev list iface <interfacename> | grep IP4

заменить «Интерфакманм» с вашим.

Examlpe

 nmcli dev list iface eth0 | grep IP4

Это перечисляет все DNS-серверы (если вы используете более одного).

3
27.01.2020, 19:26

для получения первого DNS SERVER (только IP) :

cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
  • cat выдаст DNS config
  • grep filter only nameserver
  • head сохранит только первую строку/станцию
  • cut, возьмем ip часть строки (вторая колонка с ' ' в качестве разделителя)

Чтобы поместить DNS ip в переменную окружения, можно использовать следующее:

export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
9
27.01.2020, 19:26

С новой командой network-manager nmcli , сделайте следующее:

nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>

В более новых версиях сетевого менеджера (например, в Ubuntu 16.04) имена полей немного отличаются:

nmcli --fields ip4.dns,ip6.dns con show <connection_name>

Если вы не знаете имя подключения, используйте:

nmcli -t --fields NAME con show --active

Например :

$ nmcli --fields ip4.dns,ip6.dns con show 'Wired connection 1'
IP4.DNS[1]:                             172.21.0.13
IP4.DNS[2]:                             172.21.0.4
14
27.01.2020, 19:26

В системах с systemd используйте:

systemd-resolve --status

или:

resolvectl
123
27.01.2020, 19:26

Использованиеresolvectl

$ resolvectl status | grep -1 'DNS Server'
    DNSSEC supported: no
  Current DNS Server: 1.1.1.1
         DNS Servers: 1.1.1.1
                      1.0.0.1

Для совместимости systemd-resolveявляется символической ссылкой на resolvectlво многих дистрибутивах, например, в Ubuntu 18.10:

$ type -a systemd-resolve
systemd-resolve is /usr/bin/systemd-resolve

$ ll /usr/bin/systemd-resolve
lrwxrwxrwx 1 root root 10 nov.  15 21:42 /usr/bin/systemd-resolve -> resolvectl

$ type -a resolvectl
resolvectl is /usr/bin/resolvectl

$ file /usr/bin/resolvectl
/usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped
10
27.01.2020, 19:26

У меня Fedora 25, и у меня также был такой же медленный отклик в командной строке на команды sudo.

nmcli dev show | grep DNS 

показал, что только один из моих 3-х адаптеров (два активных )имели записи DNS. Добавив записи DNS к одной активной карточке, на которой не было записи -, вуаля! Все хорошо и моментальный ответ.

6
27.01.2020, 19:26

Если вы думаете, что нашли свой DNS, вы можете напрямую запросить его с помощью dig:dig @<dns ip> <host to lookup>. Если это работает, вы должны увидеть его после SERVERсо статусом NOERROR.

0
27.01.2020, 19:26

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

$ host -v something.unknown | awk -F "[ #]" '/Received /{print$5}' | uniq
192.168.1.1

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

$ ( nmcli -f IP4.DNS,IP6.DNS dev list || nmcli -f IP4.DNS,IP6.DNS dev show ) 2>/dev/null | awk '/DNS/{print$NF}'
192.168.1.1
0
01.04.2020, 12:30

В последней версии Fedora 33 вы можете просто использовать

# resolvectl dns
Global:
Link 2 (enp0s31f6):
Link 3 (wlp4s0): 1.1.1.1 8.8.8.8
Link 4 (virbr0):
Link 5 (virbr0-nic):

Чтобы проверить, активен ли systemd-resolved, выполните cat /etc/resolv.conf. Это скажет вам, кто контролирует файл.

Если вы хотите получить более подробную информацию, вы можете использовать resolvectl statusresolvectl statistics, вы также можете очистить кэши...

Для устранения неполадок можно использовать journalctl -u systemd-resolved -f -o cat | grep Lookingпосле установки уровня DEBUG:sudo resolvectl log-level debug

4
25.12.2020, 13:38

Теги

Похожие вопросы