Какой командой посмотреть настройки DNS?
Всегда удивляло, что в галимой венде это делается одной командой ipconfig, которые выдает все- IP, шлюз, маску, DNS в Линуксе ее аналог ifconfig о DNS не сообщает ничего, как будто его нет (и про шлюз тоже) Как же это делается, есть ли такая команда?
Раньше обходился просмотром конфига /etc/resolv.conf
Но он показывает заданное значение, а интересно было бы узнать реальное значение DNS, которое, например, из-за сбоев, мало ли, может отличаться от заданного?
Так есть такая команда или нет?
Red7 ★
16.04.17 23:58:18 MSK
PunkoIvan ★★★★
( 17.04.17 00:05:38 MSK )
Ответ на: комментарий от PunkoIvan 17.04.17 00:05:38 MSK
Кстати, ее и смотрел, но не понял, как ей сказать, чтобы она показала dns настройки?
Red7 ★
( 17.04.17 00:07:46 MSK ) автор топика
Ответ на: комментарий от Red7 17.04.17 00:07:46 MSK
что такое dns настройки ?
Список серверов в /etc/resolv.conf ?
Вы сами то понимаете что вам нужно?
ford1813
( 17.04.17 00:08:40 MSK )
Но он показывает заданное значение, а интересно было бы узнать реальное значение DNS, которое, например, из-за сбоев, мало ли, может отличаться от заданного?
Каких еще сбоев? Там и указан адрес днс сервера, которым пользуеются все программы.
anonymous
( 17.04.17 00:12:12 MSK )
Rockon
( 17.04.17 00:13:07 MSK )

mandala ★★★★★
( 17.04.17 00:13:26 MSK )
Так программы читают содержимое resolv.conf. В некоторых случаях (например, в некоторых вариантах настройки network-manager) он прописывает в resolv.conf localhost и одновременно поднимает dns-сервер dnsmasq, который уже сам настраивает.
te111011010 ★
( 17.04.17 00:19:11 MSK )
Ответ на: комментарий от te111011010 17.04.17 00:19:11 MSK
Так программы читают содержимое resolv.conf.
В этом и проблема — хотелось, чтобы они не попугайничали, а определяли то, чем реально пользуется в работе, скажем, тот же bind.
nslookup ip_my_server
— показал совершенно не то, что прописано в моем resolv.conf
Red7 ★
( 17.04.17 00:34:01 MSK ) автор топика
Ответ на: комментарий от Red7 17.04.17 00:34:01 MSK
ну так пропишите свой сервер в ресолв.конф. А уж в своем сервере укажите те сервера, которые вам нужны.
Rockon
( 17.04.17 00:45:42 MSK )
Ответ на: комментарий от Red7 17.04.17 00:34:01 MSK

man host.conf
mandala ★★★★★
( 17.04.17 01:05:23 MSK )
Ответ на: комментарий от Red7 17.04.17 00:34:01 MSK

mandala ★★★★★
( 17.04.17 01:10:21 MSK )
Всегда удивляло, что в галимой венде это делается одной командой ipconfig, которые выдает все- IP, шлюз, маску, DNS в Линуксе ее аналог ifconfig о DNS не сообщает ничего, как будто его нет (и про шлюз тоже)
Так философия разная. Одна задача — одна программа, но выполняющая ее хорошо.
Настройки интерфейсов? ifconfig
Таблица маршрутизации? route
Настрокий DNS? Так они прописываются в /etc/resolv.conf, там и смотри.
На самом деле ifconfig и route считаются устаревшими и рекомендуется использовать утилиту ip.
anonymous
( 17.04.17 01:26:22 MSK )

в галимой венде это делается одной командой 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
Как видите, все очень просто. Надеюсь, эта информация была вам полезной.
Как найти IP-адрес моего DNS-сервера в Linux?


DNS (система доменных имен) является фундаментальной сетевой технологией благодаря которой работают различные почтовые серверы, обычные веб сайты и потоковые сервисы, например Netflix и Spotify.
DNS сервер работает на специальном компьютере, называемом DNS-сервером, который хранит в базе данных запись нескольких общедоступных IP-адресов вместе с соответствующими именами хостов, чтобы переводить имена хостов в IP-адреса по запросу пользователя.
Это происходит для того, чтобы нам не пришлось запоминать IP-адреса различных веб-сайтов, которые мы посещаем. Мы не запоминаем все IP адреса поисковой системы yandex.ru, или новостного сайта russian.rt.com. Мы вводим имя (хост), а DNS делает всю работу за нас.
Схема работы DNS cервера:

Хотя есть несколько вещей, которые мы можем обсудить про работу DNS, сегодня мы сосредоточимся на том, как узнать свой собственный IP-адрес DNS-сервера.
Есть несколько способов узнать это в зависимости от операционной системы, которую вы используете, но Linux, BSD и Unix-подобные системы используют одни и те же методы, поэтому давайте начнем с них.
Как найти IP-адрес моего DNS-сервера?
1. Чтобы узнать IP-адрес вашего DNS-сервера, используйте следующую команду cat или less.
$ cat /etc/resolv.conf OR $ less /etc/resolv.conf
2. Другой способ – использовать следующую команду grep.
$ grep "nameserver" /etc/resolv.conf nameserver 10.0.3.24 nameserver 8.8.8.8 nameserver 8.8.4.4
nameserver 10.0.3.24 – это IP-адрес сервера DNS в нашей локальной сети. (если мы говорим об офисах, то часто внутренние ресурсы компаний “не смотрят в сеть”. )
nameserver 8.8.8.8 и nameserver 8.8.4.4 – это IP-адреса DNS cерверов google.
Как найти IP-адрес DNS-сервера моего сайта?
3. Чтобы узнать IP-адрес DNS-сервера веб-сайта, вы можете использовать следующую команду dig.
dig kolesnikov.pw | grep NS ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5 EDNS: version: 0, flags:; udp: 4096
;; ANSWER SECTION: kolesnikov.pw. 3580 IN NS ns1.vscale.io. kolesnikov.pw. 3580 IN NS ns2.vscale.io.
В данном случае у нас 2 адреса DNS сервера. Что бы привести его в привычный вид (IP адрес), можно воспользоваться командой host.
$ host -t a ns1.vscale.io ns1.vscale.io has address 31.131.255.20
Как узнать 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:
cat /etc/resolv.conf
С помощью команды less:
less /etc/resolv.conf
Или с помощью команды grep:
grep "nameserver" /etc/resolv.conf
Все эти команды выведут одинаковые результаты, например в моём случае это:
nameserver 8.8.8.8 nameserver 8.8.4.4
Запись может быть только одна или их может быть несколько. В первую очередь используется первый указанный DNS сервер, если к нему не удаётся получить доступ, то используются запасные DNS (если они указаны).
2. Если вам нужен альтернативный метод (например, вы предполагаете, что настройки DNS изменены сетевым подключением), то вы можете использовать программу dig:
dig zalinux.ru
Используемый сервер имён показан в строке начинающейся с ;; SERVER:
;; SERVER: 8.8.8.8#53(8.8.8.8)
А в этом разделе, кстати, вы можете узнать IP адрес любого сайта:
;; ANSWER SECTION: zalinux.ru. 3799 IN A 185.26.122.38
3. Ещё один способ узнать IP адрес сайта, а заодно и IP DNS сервера к которому делаются запросы — с помощью команды nslookup:
nslookup zalinux.ru
В этих строках показан IP используемого DNS сервера:
Server: 8.8.8.8 Address: 8.8.8.8#53
А в этой строке IP адрес интересующего сайта:
Address: 185.26.122.38