![Откуда nm-tool берет свои выходные данные?](https://rvso.com/image/178472/%D0%9E%D1%82%D0%BA%D1%83%D0%B4%D0%B0%20nm-tool%20%D0%B1%D0%B5%D1%80%D0%B5%D1%82%20%D1%81%D0%B2%D0%BE%D0%B8%20%D0%B2%D1%8B%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%3F.png)
Я использую Linux Mint и вывод следующий nm-tool
:
DNS: xxx.xxx.xxx.xxx
DNS: xxx.xxx.xxx.xxx
Где nm-tool
взять эти DNS IP?
Из какого файла в файловой системе ОС?
решение1
Как прокомментировал @terdon, nm-tool
похоже, это устаревшая утилита.
nm-tool
взаимодействует с NetworkManager
которым может получить DNS IP из многих возможных источников:
- из ответов DHCP, если какой-либо сетевой интерфейс был настроен на использование DHCP (данные ответов DHCP для каждой сетевой карты могут быть доступны в виде файла в
/var/lib/NetworkManager/
каталоге) - из файлов,
/etc/NetworkManager/system-connections/
если таковые были настроены («собственное» хранилище конфигураций NetworkManager) - из файла
/etc/network/interfaces
(серверная часть хранилища конфигураций NetworkManager Debian/Ubuntu, доступная только для чтения и совместимая с обратной связью) - из любых подключаемых модулей VPN-подключений NetworkManager, если используются какие-либо VPN-подключения (VPN могут предлагать собственные DNS-серверы, аналогично DHCP, но, возможно, используя другой протокол для предоставления информации)
- из любых настроек конфигурации сети для каждого пользователя (например, на ноутбуке с конфигурациями WiFi для каждого пользователя), сохраненных с использованием любого бэкэнда хранилища конфигурации, предоставляемого средой рабочего стола пользователя по выбору. Например,
dconf
для современного GNOME 3 используется~/.config/dconf/user
.
NetworkManager
затем можно записать текущий набор адресов DNS-серверов в:
- напрямую,
/etc/resolv.conf
еслиresolvconf
пакет не установлен - в
/etc/resolvconf/run/interface/NetworkManager
, еслиresolvconf
установлен (что позволяет сосуществовать как решениям VPN, поддерживающим NetworkManager, так и решениям, не поддерживающим NetworkManager, при условии, что оба будут использоватьresolvconf
вместо прямого изменения/etc/resolv.conf
) - или он может быть настроен напрямую,
systemd-resolved
если он используется.
Если resolvconf
используется, он обновит /etc/resolv.conf
, и/или конфигурацию, system-resolved
если последний используется. Он также запустит любые скрипты в /etc/resolvconf/update.d
и /etc/resolvconf/update-libc.d
уведомит любые процессы, которые заинтересованы в том, чтобы знать, когда изменяются системные настройки DNS-резолвера, и предоставили скрипт-уведомитель.
Если используется IPv6 и rdnssd
установлен демон, также возможно получать информацию о DNS-сервере IPv6, прикрепленную к пакетам объявлений маршрутизатора IPv6, если администратор маршрутизатора IPv6 решил предоставить эту информацию. В зависимости от дистрибутива, rdnssd
может по умолчанию использовать resolvconf
или изменять /etc/resolv.conf
напрямую.
А если у вас достаточно свежая версия Mint, она может использоватьНетпланкак это делает современная Ubuntu, которая добавляет еще один возможный источник для всех параметров конфигурации сети, включая параметры DNS: /etc/netplan/*.yaml
файлы.
Так что... да, это довольно сложно!