Как посмотреть dns в linux
Перейти к содержимому

Как посмотреть dns в linux

  • автор:

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

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

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

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

То есть 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:

Linux как посмотреть dns

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

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

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

То есть 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 адрес интересующего сайта:

Какой командой посмотреть настройки DNS?

Всегда удивляло, что в галимой венде это делается одной командой ipconfig, которые выдает все- IP, шлюз, маску, DNS в Линуксе ее аналог ifconfig о DNS не сообщает ничего, как будто его нет (и про шлюз тоже) Как же это делается, есть ли такая команда?

Раньше обходился просмотром конфига /etc/resolv.conf

Но он показывает заданное значение, а интересно было бы узнать реальное значение DNS, которое, например, из-за сбоев, мало ли, может отличаться от заданного?

Так есть такая команда или нет?

Кстати, ее и смотрел, но не понял, как ей сказать, чтобы она показала dns настройки?

что такое dns настройки ?
Список серверов в /etc/resolv.conf ?
Вы сами то понимаете что вам нужно?

Но он показывает заданное значение, а интересно было бы узнать реальное значение DNS, которое, например, из-за сбоев, мало ли, может отличаться от заданного?

Каких еще сбоев? Там и указан адрес днс сервера, которым пользуеются все программы.

Так программы читают содержимое resolv.conf. В некоторых случаях (например, в некоторых вариантах настройки network-manager) он прописывает в resolv.conf localhost и одновременно поднимает dns-сервер dnsmasq, который уже сам настраивает.

Так программы читают содержимое resolv.conf.

В этом и проблема — хотелось, чтобы они не попугайничали, а определяли то, чем реально пользуется в работе, скажем, тот же bind.

— показал совершенно не то, что прописано в моем resolv.conf

ну так пропишите свой сервер в ресолв.конф. А уж в своем сервере укажите те сервера, которые вам нужны.

Всегда удивляло, что в галимой венде это делается одной командой ipconfig, которые выдает все- IP, шлюз, маску, DNS в Линуксе ее аналог ifconfig о DNS не сообщает ничего, как будто его нет (и про шлюз тоже)

Так философия разная. Одна задача — одна программа, но выполняющая ее хорошо.

Настройки интерфейсов? ifconfig
Таблица маршрутизации? route
Настрокий DNS? Так они прописываются в /etc/resolv.conf, там и смотри.

На самом деле ifconfig и route считаются устаревшими и рекомендуется использовать утилиту ip.

в галимой венде это делается одной командой ipconfig

это ты просто венду плохо знаешь, начиная с утилиты route и далее

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

В самом низу вывода утилиты можно посмотреть 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

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

Просмотр и изменение DNS в Linux

Служба DNS (англ. Domain Name System — система доменных имён) используется для получения информации о доменах. Основное её предназначение — увязывать IP-адрес и доменное имя хоста. Посмотреть, к какому DNS-серверу подключен компьютер с Linux на борту, не просто, а очень просто. Как просто и поменять DNS в Linux.

Если Linux снабжён графическим интерфейсом, достаточно открыть сведения о сетевом соединении и посмотреть в строчку DNS.

По понятным причинам нас этот способ не очень интересует. Да и элементы интерфейса могут у разных сред рабочего стола различаться. Рассмотрим просмотр и настройку DNS в терминале Linux.

Традиционно DNS в Linux настраивалась через файл /etc/resolv.conf. Сейчас, однако, он может оказаться бесполезным. Откроем его любым консольным текстовым редактором, например nano:

Мы можем увидеть следующее:

Это значит, что в системе есть systemd, который содержит свой локальный сервер DNS. Его адрес и прописан в этом файле. Однако, в конечном итоге, используются другие DNS-серверы! Посмотреть их можно по-разному. Можно использовать команду

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

Другой способ — использовать утилиту nmcli. Введите команду

Как изменить DNS? Если в системе нет systemd, то это можно сделать редактированием файла /etc/resolv.conf. Откройте его любым текстовым редактором, найдите строку nameserver и впишите адреса DNS-серверов. Если их несколько, введите их адреса последовательно. Например:

Если в ОС есть systemd, вышеописанных способ бесполезен, поскольку настройки будут перезаписываться при перезагрузке системы. В данном случае нам нужно редактировать файл /etc/systemd/resolved.conf.

В разделе Resolve отредактируйте строку DNS. При необходимости уберите символ # для раскомментирования. Адреса DNS-серверов прописываются через запятую.

Как видим на этом примере, systemd несколько усложнил операционную систему Linux. Однако настроить DNS в ней до сих пор не составляет труда. Кроме того, в Linux можно пользоваться и файлом hosts.

3 Ways to check DNS server IP in Linux

All the articles will be migrated to howtouseubuntu.com.

  • 2022-03-02
  • David Cao

DNS servers are an important part of the internet, translating domain names into IP addresses. If your DNS server is not working correctly, you may experience problems loading websites or sending and receiving email. In this blog post, we will discuss three ways to check your DNS server in Linux. We will also provide some tips for troubleshooting DNS problems. Let’s get started!

Check DNS server IP with Dig command in Linux

The best way to check your DNS server is to use the ‘dig’ command. The ‘dig’ command allows you to query DNS servers for information about domains. To use the ‘dig’ command, open a terminal and type the following: dig example.com

This will query the DNS server for information about the domain “example.com”. For example, if you want to query for A records, you would type the following: dig example.com +short

You can replace “example.com” with any domain you want to query. From the following example, we can see that the DNS server is 64.104.76.247 .

dig howtouselinux.com
; <<>> DiG 9.10.6 <<>> howtouselinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25003
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;howtouselinux.com. IN A
;; ANSWER SECTION:
howtouselinux.com. 0 IN A 162.159.137.9
howtouselinux.com. 0 IN A 162.159.138.9
;; Query time: 138 msec
;; SERVER: 64.104.76.247#53(64.104.76.247)
;; WHEN: Wed Mar 02 21:24:01 CST 2022
;; MSG SIZE rcvd: 78

Check DNS server IP with nslookup command in Linux

The second way to check your DNS server is to use the ‘nslookup’ command. ‘Nslookup’ is a tool that allows you to query DNS servers for information about domains. To use the ‘nslookup’ command, open a terminal and type the following: nslookup example.com

This will query the DNS server for information about the domain “example.com”. You can also query specific records by using the ‘querytype’ parameter. For example, if you want to query for A records, you would type the following: nslookup -query=a example.com

The dns server is 64.104.76.247 from the following example.
% nslookup -query=a howtouselinux.com
Server: 64.104.76.247
Address: 64.104.76.247#53
Non-authoritative answer:
Name: howtouselinux.com
Address: 162.159.137.9
Name: howtouselinux.com
Address: 162.159.138.9

Check DNS server IP with /etc/resolv.conf file in Linux

The third way is to check /etc/resolv.conf configuration file. It contains DNS server information we use.

cat /etc/resolv.conf
domain howtouselinux.com
nameserver 64.104.76.247
nameserver 64.104.76.248

We hope this blog post has been helpful in showing you how to check your DNS server in Linux. If you are experiencing DNS problems, be sure to try using these three commands to troubleshoot the issue. Thanks for reading!

Какой командой посмотреть настройки DNS?

Всегда удивляло, что в галимой венде это делается одной командой ipconfig, которые выдает все- IP, шлюз, маску, DNS в Линуксе ее аналог ifconfig о DNS не сообщает ничего, как будто его нет (и про шлюз тоже) Как же это делается, есть ли такая команда?

Раньше обходился просмотром конфига /etc/resolv.conf

Но он показывает заданное значение, а интересно было бы узнать реальное значение DNS, которое, например, из-за сбоев, мало ли, может отличаться от заданного?

Так есть такая команда или нет?

Кстати, ее и смотрел, но не понял, как ей сказать, чтобы она показала dns настройки?

что такое dns настройки ?
Список серверов в /etc/resolv.conf ?
Вы сами то понимаете что вам нужно?

Но он показывает заданное значение, а интересно было бы узнать реальное значение DNS, которое, например, из-за сбоев, мало ли, может отличаться от заданного?

Каких еще сбоев? Там и указан адрес днс сервера, которым пользуеются все программы.

Так программы читают содержимое resolv.conf. В некоторых случаях (например, в некоторых вариантах настройки network-manager) он прописывает в resolv.conf localhost и одновременно поднимает dns-сервер dnsmasq, который уже сам настраивает.

Так программы читают содержимое resolv.conf.

В этом и проблема — хотелось, чтобы они не попугайничали, а определяли то, чем реально пользуется в работе, скажем, тот же bind.

— показал совершенно не то, что прописано в моем resolv.conf

ну так пропишите свой сервер в ресолв.конф. А уж в своем сервере укажите те сервера, которые вам нужны.

Всегда удивляло, что в галимой венде это делается одной командой ipconfig, которые выдает все- IP, шлюз, маску, DNS в Линуксе ее аналог ifconfig о DNS не сообщает ничего, как будто его нет (и про шлюз тоже)

Так философия разная. Одна задача — одна программа, но выполняющая ее хорошо.

Настройки интерфейсов? ifconfig
Таблица маршрутизации? route
Настрокий DNS? Так они прописываются в /etc/resolv.conf, там и смотри.

На самом деле ifconfig и route считаются устаревшими и рекомендуется использовать утилиту ip.

в галимой венде это делается одной командой ipconfig

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *