Вопрос или проблема
Я недавно начал использовать Quad9 DNS и теперь хочу включить DoH (не DoT). Я искал возможность включить это без стороннего программного обеспечения (это уже возможно на Windows). Все руководства, которые я могу найти, относятся к DNS через TLS.
systemd-resolved
действительно имеет конфигурацию для DoT:
#DNS=
#FallbackDNS=
#Domains=
#DNSSEC=no
#DNSOverTLS=no
У меня есть возможность включить DoH в Firefox, но я хочу включить это на уровне всей системы.
Есть ли способ добиться чего-то подобного для DoH, используя systemd-resolved
или любую другую встроенную программу?
systemd-resolved
не поддерживает DoH, запрос функции в ожидании: https://github.com/systemd/systemd/issues/8639
Для системного резолвера, поддерживающего DoH, я бы порекомендовал https-dns-proxy
: https://github.com/aarond10/https_dns_proxy Это легковесное, надежное решение с минимальными зависимостями.
Quad9 также поддерживает DoT. Почему вы настаиваете на DoH, когда доступен DoT? Это для меня не имеет смысла. К тому же DoH зависит от работающего разрешения имен, чтобы инициализироваться, что делает его немного менее безопасным, чем DoT.
Вот мой /etc/systemd/resolved.conf.d/resolved.conf
:
[Resolve]
DNS=8.8.8.8#dns.google 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net
DNSSEC=yes
DNSOverTLS=yes
Cache=no-negative
# Никогда не использовать запасной вариант
FallbackDNS=
Удалите 8.8.8.8#dns.google 1.1.1.1#cloudflare-dns.com
выше, если хотите использовать только резолверы Quad9.
Ответ или решение
Чтобы включить DNS через HTTPS (DoH) в Pop!_OS 22.04, необходимо учесть, что стандартный сетевой резолвер systemd-resolved
не поддерживает DoH. Однако существует решение с использованием https-dns-proxy
, которое обеспечит желаемую функциональность без установки стороннего программного обеспечения, кроме упомянутого прокси.
Шаги для включения DNS через HTTPS в Pop!_OS 22.04
1. Установка https-dns-proxy
Начнем с установки https-dns-proxy
. Откройте терминал и выполните следующие команды:
sudo apt update
sudo apt install https-dns-proxy
Эта команда установит https-dns-proxy
, который выступает в роли локального резольвера для ваших DNS-запросов через протокол DoH.
2. Настройка https-dns-proxy
После установки прокси необходимо отредактировать его конфигурацию. Откройте файл конфигурации:
sudo nano /etc/https_dns_proxy/config.conf
В этом файле вы можете указать DNS-серверы, которые вы хотите использовать. Например, для использования Quad9, добавьте следующую строку:
doh_servers = https://dns.quad9.net/dns-query
Если в файле уже есть другие строки с серверами, вы можете оставить их или заменить на Quad9.
3. Настройка systemd-resolved
Теперь необходимо сообщить systemd-resolved
, чтобы он использовал https-dns-proxy
как DNS-сервер. Обычно это делается путем настройки IP-адреса локального резольвера.
Откройте файл конфигурации systemd-resolved
:
sudo nano /etc/systemd/resolved.conf
Убедитесь, что вы указываете 127.0.0.1
как DNS-сервер. Ваши настройки должны выглядеть так:
[Resolve]
DNS=127.0.0.1
FallbackDNS=
DNSSEC=no
4. Перезапуск сервисов
После редактирования конфигурации необходимо перезапустить оба сервиса для применения изменений:
sudo systemctl restart https-dns-proxy
sudo systemctl restart systemd-resolved
5. Проверка работоспособности
Для проверки того, что все работает корректно, используйте команду:
dig @127.0.0.1 example.com
Если вы видите результаты, это означает, что DNS через HTTPS успешно настроен и работает.
Заключение
Следуя вышеприведенным шагам, вы сможете настроить DNS через HTTPS в Pop!_OS 22.04 с использованием https-dns-proxy
, поскольку стандартный systemd-resolved
не поддерживает DoH. Это решение обеспечит вам необходимый уровень безопасности и конфиденциальности, а также возможность использовать DNS-серверы Quad9.