Почему /etc/resolv.conf указывает на 127.0.0.53?

Пожалуйста, попробуйте метод Ubuntu; выполните поиск Пользователи , и должно появиться приложение. Если нет, попробуйте версию командной строки , описанную здесь :

.

sudo adduser username

10
01.10.2020, 21:52
2 ответа

Скорее всего, вы используете systemd-resolvedкак службу.

systemd-resolvedгенерирует два файла конфигурации «на лету» для дополнительного использования клиентскими библиотеками DNS (, такими как клиентская библиотека DNS BIND в библиотеках C):

  • /run/systemd/resolve/stub-resolv.confуказывает клиентским библиотекам DNS отправлять свои запросы на 127.0.0.53. Именно здесь процесс systemd-resolvedпрослушивает DNS-запросы, которые затем пересылает.
  • /run/systemd/resolve/resolv.confуказывает клиентским библиотекам DNS отправлять свои запросы на IP-адреса, которые systemd-resolvedполучили «на лету» из своих файлов конфигурации и информации DNS-сервера, содержащейся в аренде DHCP. По сути, это обходит шаг пересылки systemd-resolvedза счет обхода всей логики systemd-resolvedдля принятия сложных решений о том, что на самом деле пересылать для любой данной транзакции.

В обоих случаях systemd-resolvedнастраивает список поиска суффиксов доменных имен, опять же полученный на лету из его файлов конфигурации и аренды DHCP (, о котором сообщается с помощью механизма, который выходит за рамки этого ответа. ).

/etc/resolv.confопционально может быть:

  • символическая ссылка на любой из них;
  • символическая ссылка на пакет -, предоставленный статический файл по адресу /usr/lib/systemd/resolv.conf,который также указывает 127.0.0.53, но не вычисляет домены поиска на лету;
  • совершенно другой файл.

Вполне вероятно, что у вас есть такая символическая ссылка. В этом случае то, что знает о настройке 192.168.1.1, то есть (, предположительно ), выдаваемом DHCP-арендой DHCP-сервером в вашей локальной сети, — это systemd-resolved, который перенаправляет трафик запросов к нему как вы заметили. Ваши клиентские библиотеки DNS в ваших прикладных программах сами общаются только с systemd-resolved.

По иронии судьбы, хотя это могло быть связано с тем, что вы неправильно захватили трафик интерфейса обратной связи в/из 127.0.0.53, более вероятно, что вы его не видите, потому что systemd-resolvedтакже (опционально )обходит DNS-клиент BIND в ваших библиотеках C и не генерирует такой трафик для захвата.

Вместе с systemd-resolvedпоставляется модуль NSS с именем nss-resolve, который является подключаемым модулем -для ваших библиотек C. Раньше ваши библиотеки C использовали другой подключаемый модуль -с именем nss-dns, который использует DNS-клиент BIND для выполнения запросов с использованием протокола DNS к серверу (s ), указанному в /etc/resolv.conf, применяя домен суффиксы, перечисленные в нем.

nss-resolveотображается в списке перед из nss-dnsв вашем файле /etc/nsswitch.conf, в результате чего ваши библиотеки C не используют DNS-клиент BIND или протокол DNS для выполнения поиска имя → адрес вообще. Вместо этого nss-resolveиспользует нестандартный и идиосинкразический протокол -по (системной -широкой )шине рабочего стола к systemd-resolved, что снова делает внутренние запросы 192.168.1.1 или любого другого, который арендует ваш DHCP. и файлы конфигурации говорят.

Чтобы перехватить , что , вы должны отслеживать трафик шины рабочего стола с помощью dbus-monitorили какого-либо подобного инструмента. Это даже не IP-трафик, не говоря уже об IP-трафике через петлевой сетевой интерфейс. поскольку доступ к шине рабочего стола осуществляется через сокет AF_LOCAL.

Если вы хотите использовать сторонний -прокси-сервер DNS с разрешением 1.1.1.1 или какой-либо другой IP-адрес, у вас есть три варианта:

  • Настройте DHCP-сервер так, чтобы он передавался вместо 192.168.1.1. systemd-resolvedузнает об этом через аренду DHCP и использует ее.
  • Настройте systemd-resolvedс помощью собственных механизмов конфигурации, чтобы использовать его вместо того, что он видит в аренде DHCP.
  • Создайте свой собственный файл /etc/resolv.conf, настоящий обычный файл вместо символической ссылки, укажите там 1.1.1.1 и не забудьте отключить nss-resolve, чтобы вернуться к использованию nss-dnsи DNS-клиента BIND.

Файлы конфигурации systemd-resolvedпредставляют собой целую кучу файлов в различных каталогах, которые объединяются, и то, как настроить их для второго вышеупомянутого варианта, выходит за рамки этого ответа. Для этого прочитайте страницу руководстваresolved.conf(5 ).

51
18.03.2021, 23:00

Весь блок 127.0.0.0/8CIDR используется для петлевой маршрутизации. Похоже, что ваш хост (или, по крайней мере, думает, что )запускает собственный DNS-сервер на этом конкретном адресе обратной связи.

Поскольку петлевой трафик (обычно )никогда не передается по сети, неудивительно, что вы не видите TCP/53-трафик в таких инструментах, как Wireshark, поскольку они могут не отслеживать петлевой трафик с настройками по умолчанию. Используя такой инструмент, какss(e. грамм. ss -plnt | grep ':53'покажет вам, какой процесс, если таковой имеется, прослушивает этот TCP-порт для дальнейшего изучения.

Возможно, сообщается, что Ubuntu использует петлевой преобразователь, systemd-resolvedв более новых версиях, как обсуждалось в этом ответе на AskUbuntu.

6
18.03.2021, 23:00

Теги

Похожие вопросы