GnuPG и dnsmasq не могут разрешить DNS без /etc/resolv.conf с помощью systemd-resolve

Я установил дистрибутив Arch Linux. Arch Linux использует systemd как набор системных сервисов, поэтому он также использует systemd-resolved для разрешения DNS. Я использую DHCP для получения DNS-серверов и разрешения DNS. Мне нужно было включить systemd-resolved сервис для автоматического обнаружения и разрешения DNS. И это работает, например, для curl и простой веб-браузер, даже с пустым /etc/resolv.conf. Проблема в том, что это не работает для gpg а также dnsmasq.

  1. GPG. Командование gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv *some key*
    отпечатки gpg: keyserver search failed: Server indicated a failure если DNS не указан в /etc/resolv.conf. Но если я укажу какой-нибудь DNS-сервер в /etc/resolv.conf, Например nameserver 1.1.1.1, тогда gpg работал бы правильно и нашел бы ключ.

  2. dnsmasq. Я хочу сделать что-то вроде пересылки DNS. Я хочу запустить DHCP-сервер, который также будет предоставлять DNS-серверы. Но возможно ли автоматическое обнаружение DNS-серверов не только из /etc/resolv.conf? Чтобы использовать DNS-серверы, которые использует локальный компьютер? DNS, который также может быть получен от другого DHCP-сервера, сервера, с которого локальный компьютер получает адрес IPv4?

Надеюсь, что это возможно! Буду рад любой помощи! Заранее спасибо!

1 ответ
1

Для 1-й проблемы поставьте сервер имен 127.0.0.53 в вашем /etc/resolv.conf. Systemd-resolved не требовать программы должны использовать собственный API через nsswitch — он также прослушивает локальный хост для стандартных DNS-запросов (например, dnsmasq).

Чаще всего это делается путем символьной ссылки /resolv.conf на /run/systemd/resolve/stub-resolv.conf, таким образом вы также получите суффиксы домена от DHCP.

Для второй проблемы скажите dnsmasq читать из /run/systemd/resolve/resolv.conf (обратите внимание, что это другой файл, чем указанный выше), используя параметр «resolv-file» — этот файл будет содержать действительный серверы имен, полученные от DHCP.

(Если вы хотите, вы также можете символически привязать свой /etc/resolv.conf к этому файлу — запросы DNS GnuPG будут тогда полностью обходить systemd-resolved.)

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

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