Служба 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:
systemd-resolve --status
В самом низу вывода утилиты можно посмотреть 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
Как видите, все очень просто. Надеюсь, эта информация была вам полезной.
А у меня при выполнении команды:
sudo systemd-resolve --status
выдаёт:
Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.
Что это может значить?
Трудно ответить сразу. Можете задать этот вопрос поисковику, например:
https://yandex.ru/search/?lr=2&text=Failed%20to%20get%20global%20data%3A%20Unit%20dbus-org.freedesktop.resolve1.service%20not%20found
или
https://www.google.ru/search?newwindow=1&source=hp&ei=fkfpXI6mOq32qwG0rZyQCQ&q=Failed+to+get+global+data%3A+Unit+dbus-org.freedesktop.resolve1.service+not+found&oq=Failed+to+get+global+data%3A+Unit+dbus-org.freedesktop.resolve1.service+not+found&gs_l=psy-ab.12..35i39j0.793.793..1873...0.0..0.68.109.2......0....2j1..gws-wiz.....0.Xieut7EfKKc
Там обязательно найдёте ответ для себя.
А как посмотреть список DNS серверов с которых получаю DNS?
что-нибудь вроде dnsleaktest.com может показать
[Resolve]
DNS=8.8.8.8, 8.8.4.4
Это должно быть написано через пробел, без запятой. Вот так:
DNS=8.8.8.8 8.8.4.4