Linux dns servers list

How to Find My DNS Server IP Address in Linux

DNS (Domain Name System) is a fundamental facilitator of several networking technologies such as mail servers, Internet browsing, and streaming services e.g. Netflix and Spotify, among others.

It works on a special computer called a DNS server – which keeps a database record of several public IP addresses along with their corresponding hostnames in order for it to resolve or translate hostnames to IP addresses upon user request.

This happens so that we would not need to bother ourselves with remembering the IP addresses of the different websites we visit.

While there are several things we can discuss on DNS servers such as redirection and malware attack prevention, our focus today is on how to find out your very own dns server IP address.

There are several ways to check for it depending on the Operating System that you’re running but Linux, BSD, and Unix-like systems all share the same method so let’s begin with them.

How to Find My DNS Server IP Address

1. To find out your DNS Server IP address, use the following cat command or less command.

2. Another way is to use the following grep command.

Here, nameserver 109.78.164.20 is a name server IP address in what is called the dot notation – the format that applications on your workstation use for DNS routing.

How to Find My Website DNS Server IP Address

3. To find out a website DNS Server IP address, you can use the following dig command.

Sample Output

Easy right? Perhaps we’ll talk about primary and secondary DNS Server addresses next time. Till then, feel free to share and drop your comments/suggestions in the discussion section below.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

We are thankful for your never ending support.

Источник

Как посмотреть DNS в Linux

Служба DNS или Domain Name System позволяет превращать легко читаемый адрес сайта в ip адрес сервера на котором расположен этот сайт. Для этого используются DNS серверы, которые содержат таблицы соответствия ip адресов их доменным именам. По умолчанию система получает адрес DNS сервера автоматически по DHCP при подключении к сети.

В этой статье мы разберемся как посмотреть какие DNS серверы используются в Linux.

Как посмотреть DNS в Linux

Если вы уже имели опыт настройки сети в Linux, то знаете, что DNS серверы, используемые для резолвинга доменных имен указаны в файле /etc/resolv.conf:

sudo vi /etc/resolv.conf

Но в современных дистрибутивах Linux с системой инициализации systemd обычно запущен локальный DNS сервер, адрес которого и прописан в этом файле, а какие сервера используются на самом деле непонятно. В таком случае можно воспользоваться утилитой systemd-resolve:

Читайте также:  Делаем бэкап windows 10

В самом низу вывода утилиты можно посмотреть DNS в Linux, которые сейчас используются. Информация выводится по каждому сетевому интерфейсу отдельно.

Также для решения подобной задачи можно использовать утилиту nmcli:

nmcli dev show | grep DNS

Как видите, все очень просто. А чтобы изменить DNS сервер тоже трогать /etc/resolv.conf не желательно, так как он будет автоматически обновляться после перезагрузки. Если вы используете NetworkManager, то можно настроить DNS для сетевого подключения в интерфейсе программы. Или же можно отредактировать файл /etc/systemd/resolved.conf и добавить нужные адреса в секцию Resolve:

sudo vi /etc/systemd/resolved.conf

[Resolve]
DNS=8.8.8.8, 8.8.4.4

Как видите, все очень просто. Надеюсь, эта информация была вам полезной.

Источник

Command-line to list DNS servers used by my system

Is there a command to list dns servers used by my system?

But it doesn’t list any servers, if I go to «Network Manager GUI Tool», in Wireless section it lists «DNS 192.168.1.1 8.8.8.8 8.8.4.4»

Can I get same information from command line?

I am using Ubuntu 12.04 LTS

11 Answers 11

resolv.conf isn’t really used anymore, unless you implement it yourself. The network manager does it now. I created an alias to list the DNS servers on my system, as I sometimes switch from OpenDNS to Google’s open DNS.

Ubuntu >= 15

Ubuntu is eth0 , which is common, but not always the case.

See if this is what you want.

I think resolv.conf is actually used indirectly, because the network manager creates the server that listens on 127.0.0.1, but I was told that this is an implementation detail that should not be counted on. I think that if you enter DNS addresses before this entry, they might get used, but I’m not sure exactly how this works. I think it’s best to use the network manager in most cases, when possible.

In Ubuntu 18.04 and 20.04 you can use systemd-resolve —status

This is valid for Ubuntu 13.10 and earlier. For Ubuntu 14.04 and above, see Koala Yeung’s answer to: How to know what DNS am I using in Ubuntu from 14.04 onwards

You will get an output similar to

Or to see just the DNS do

The two top-scoring answers, nmcli dev list iface | grep IP4 and nm-tool both assume that network-manager is in control. Which it is — on desktop machines most of the time at least. But the fuller answer is that sometimes network-manager is not in control. E.g. vpnc messes with /etc/resolv.conf directly.

So: First check if 127.0.0.1/localhost is used. This could be done with dig :

Now you know that we are using localhost. Go ahead with one of the popular answers. I like:

But if 127.0.0.1/localhost is not used, then nm-tool ‘s and nmcli ‘s output will be misleading:

Here, dig is correct and nm-tool ‘s information is misleading. In reality addresses local to the environment I’ve VPN-ed into are resolved correctly. All of which Google’s DNS 8.8.8.8 doesn’t know about.

Источник

Как узнать IP DNS сервера в Linux

DNS (Domain Name System — система доменных имён) является важным элементом сети. Без DNS не работали бы Интернет-браузер, почтовые сервера, стриминговые сервисы и другие.

Задача DNS сообщать IP адрес запрошенного имени хоста (обычно домена веб-сайта).

Эта служба работает на специальных компьютерах, называемых DNS сервер — они хранят базу данных записей, включающей в себя имена хостов и соответствующие им IP адреса. DNS серверы представляют собой иерархическую структуру, но нам важно только то, что на наш запрос с именем хоста DNS сервер отвечает, какой у этого хоста IP адрес.

Читайте также:  Где хранится библиотека windows

То есть DNS решает проблему, что нам не нужно помнить/знать IP адреса всех сайтов, которые мы посещаем.

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

Имеется несколько способов сделать это, мы рассмотрим самые универсальные, подходящие для Linux, BSD, и других Unix-подобных систем.

Как узнать какой DNS сервер используется

1. Настройки DNS в системе хранятся в файле /etc/resolv.conf, то есть IP адрес DNS сервера можно узнать просто посмотрев этот файл.

С помощью команды cat:

С помощью команды less:

Или с помощью команды grep:

Все эти команды выведут одинаковые результаты, например в моём случае это:

Запись может быть только одна или их может быть несколько. В первую очередь используется первый указанный DNS сервер, если к нему не удаётся получить доступ, то используются запасные DNS (если они указаны).

2. Если вам нужен альтернативный метод (например, вы предполагаете, что настройки DNS изменены сетевым подключением), то вы можете использовать программу dig:

Используемый сервер имён показан в строке начинающейся с ;; SERVER:

А в этом разделе, кстати, вы можете узнать IP адрес любого сайта:

3. Ещё один способ узнать IP адрес сайта, а заодно и IP DNS сервера к которому делаются запросы — с помощью команды nslookup:

В этих строках показан IP используемого DNS сервера:

А в этой строке IP адрес интересующего сайта:

Источник

Команда dig в Linux

Команда dig (domain information groper) — многофункциональный инструмент для опроса DNS-серверов. Она позволяет получить больше информации о конкретном домене, для того чтобы, например, узнать используемые им IP-адреса.

Этот инструмент может оказаться полезным сетевым администраторам для выявления неисправностей DNS. Аналоги чаще всего предлагают меньше функций и возможностей, чем может предоставить утилита командной строки dig. В этой статье мы рассмотрим что из себя представляет команда dig Linux, а также как ею пользоваться.

Синтаксис команды dig

Использовать команду dig несложно. Достаточно ввести название сервера, имя домена и передать команде подходящие опции:

$ dig @сервер доменное.имя тип записи флаги

  • @cервер — IP-адрес или доменное имя DNS-сервера (если не указано, dig будет обращаться к DNS-серверу, используемому по умолчанию);
  • доменное.имя — доменное имя интернет-ресурса, о котором необходимо получить информацию;
  • тип записи — позволяет указать, для какого типа записи необходим вывод, например A, NS, MX или TXT;
  • флаги — с помощью флагов утилите dig отдаются дополнительные команды; оговаривается, каким должен быть вывод команды (что в нём должно быть, а чего нет).

Опции и флаги dig

Во время работы утилиты dig могут использоваться следующие флаги:

  • +[no]all — отображает или скрывает все установленные по умолчанию флаги отображения;
  • +[no]answer — отображает только ответ на запрос;
  • +[no]fail — эта опция указывает, должна ли утилита переключаться на следующий DNS сервер, если текущий не отвечает (по умолчанию стоит +fail);
  • +short — сокращает вывод утилиты;
  • +[no]cmd — отключает вывод заголовка и информации об использованных опциях утилиты;
  • +[no]identify — используется вместе с флагом +short и отображает информацию об IP-адресе сервера;
  • +[no]comments — удаляет все комментарии из вывода утилиты;
  • +[no]trace — позволяет вывести список DNS серверов через которые прошёл запрос на получение информации о домене, по умолчанию отключено.

Вместе с dig можно применять следующие опции:

  • -4 — позволяет использовать только IPv4;
  • -6 — позволяет использовать только IPv6;
  • -x — предназначена для получения домена по IP;
  • -f — используется для чтения списка доменов из файла;
  • -b IP-адрес — позволяет указать исходящий IP-адрес, с которого отправлен запрос к DNS-серверу, полезно, если к компьютеру подключено несколько сетевых карт;
  • -r — предотвращает чтение настроек из файла

/.digrc;

  • -t — позволяет указать тип записи, которую надо получить;
  • -p — позволяет указать номер порта DNS сервера;
  • -u — отображает время в секундах вместо миллисекунд.
  • Здесь указаны лишь некоторые флаги и опции. Если необходимо узнать больше, используйте команду:

    Примеры использования dig

    1. Получение информации о домене

    Для того чтобы получить информацию о домене необходимо передать имя домена команде. Например, для google.com:

    Рассмотрим каждую секцию вывода подробнее:

    • HEADER — отображает информацию о версии утилиты, ID запроса, полученных ошибках и использованных флагах вывода. Выводится и другая важная информация о количестве запросов, обращений к DNS-серверу и т. д.;
    • QUESTION SECTION — секция, которая отображает текущий запрос;
    • ANSWER SECTION — секция, в которой отображается результат обработки созданного запроса (в данном случае это IP-адрес домена).

    По умолчанию утилита выводит много лишней информации. Для получения только основных данных используйте запрос с флагом +short. Например:

    dig google.com +short

    Если использовать команду dig вместе с +noall, вы ничего не увидите, поскольку этот флаг отключает вывод всех секций.

    dig google.com +noall

    Если вместе с флагом +noall использовать флаг +answer, dig выведет только ту информацию, которая есть в секции ANSWER (IP-адрес, тип записи и пр.).

    dig доменное.имя +noall +answer

    Для создания комбинированного запроса можно использовать текстовый файл со списком сайтов, например, sites.txt. Чтобы создать текстовый документ с таким именем, введите следующую команду в терминале:

    В файл необходимо добавить список доменов, для которых необходимо получить данные, например:

    google.com
    ya.ru
    losst.ru

    Для того чтобы получить информацию о перечисленных в файле sites.txt доменах, используйте команду:

    dig -f sites.txt +noall +answer

    2. Получение определённой записи

    Согласно синтаксису команды dig linux, тип записи указывается после доменного имени. Для того чтобы получить MX-запись домена google.com, используйте команду:

    dig google.com MX +noall +answer

    Чтобы получить NS-запись для домена, введите в терминале такую команду:

    dig google.com NS +noall +answer

    Запрос записи A происходит по умолчанию. Однако мы можем прописать этот запрос отдельно, чтобы обеспечить её вывод без дополнительной информации:

    dig google.com A +noall +answer

    Для вывода записи TXT аналогичным образом используйте команду вида:

    dig google.com TXT +noall +answer

    Для просмотра всех типов записей одновременно используйте запрос вида:

    dig google.com ANY +noall +answer

    3. Использование определённого DNS-сервера

    Если DNS-сервер не был указан, как это было показано в предыдущих примерах, утилита dig linux будет по очереди пробовать все серверы из файла /etc/resolv.conf. Если же и там ничего нет, dig отправит запрос на localhost.

    Указывать DNS-серверы можно в формате IPv4 или IPv6. Это не имеет значения и не повлияет на вывод dig. Отправим запрос на публичный DNS-сервер Google. Его IP-адрес: 8.8.8.8. В этом случае запрос в dig будет выглядеть следующим образом:

    dig @8.8.8.8 google.com +noall +answer

    Как видно, для домена google.com используется IP-адрес: 142.250.75.14.

    4. Получение домена по IP

    Для того чтобы узнать имя домена с помощью команды dig по IP, используйте опцию -x. Например, для того, чтобы узнать домен, привязанный к IP адресу 87.250.250.242 выполните такую команду:

    dig -x 87.250.250.242

    Как видите, это IP адрес яндекса. Правда такой способ получения доменов работает не всегда. Если к IP привязано несколько доменов программа может вывести только первый. Для того чтобы сократить вывод и оставить только нужную нам информацию, можно ввести запрос следующим образом:

    dig -x 87.250.250.242 +short

    Команда отображает информацию о том, что это google.com. Как видите команда dig Linux способна на многое.

    Выводы

    В этой небольшой статье мы рассмотрели, как можно использовать dig для опроса DNS-серверов. Несмотря на то что команда достаточно простая, она позволяет получить много полезной информации. А чем вы пользуетесь для обращения к серверам DNS? Напишите об этом в комментариях ниже.

    Источник

    Читайте также:  Windows операции создания переименования удаления папок
    Оцените статью