Как включить DNS через HTTPS (DoH) в Pop!_OS 22.04

Вопрос или проблема

Я недавно начал использовать 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.

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

Капча загружается...