DNS over HTTPS в Linux

()

DNS over HTTPS (DoH) это экспериментальный протокол, тестируемый в настоящее время крупными компаниями в числе которых Google, Mozilla и CloudFlare. Протокол позволяет предотвратить перехват и подмену ответов DNS.

Количество публичных DoH-серверов в настоящее время сильно ограничено, равно как и количество клиентов, поддерживающих работу с DoH. Однако энтузиасты уже сейчас могут попробовать протокол в действии, о чём и будет рассказано ниже.

Поддержка DNS over HTTPS есть в браузере Mozilla Firefox для Windows, Linux и Android. Кроме того в репозиториях Ubuntu 18.04 есть прокси-сервер dnss, позволяющий организовать проксирование DNS-запросов к DoH-серверу (и наоборот, но об этом как-нибудь в другой раз). Настраивать Firefox мы не будем, так как это слишком "штучный" сценарий, нам же интересно все запросы перенаправить на DoH-сервер от Google. Потому устанавливаем dnss:

sudo apt install dnss

Сразу после установки мы получим ошибку: используемый dnss по умолчанию сокет уже занят процессом resolvd из состава systemd. Для решения этой проблемы надо "перевесить" dnss на другой сокет. Сначала скопируем системный юнит:

sudo cp /lib/systemd/system/dnss.socket /etc/systemd/system/dnss.socket

Далее открываем в редакторе новый файл:

sudo nano -w /etc/systemd/system/dnss.socket

И приводим его к виду:

[Socket]
ListenDatagram=127.0.0.255:53
ListenStream=127.0.0.255:53

[Install]
WantedBy=sockets.target

Порт желательно оставить 53, а IP адрес - любой свободный на loopback-интерфейсе. После этого перечитываем конфигурацию systemd:

systemctl daemon-reload

После этого перезапускаем dnss:

systemctl restart dnss.socket

Далее остаётся в настройках интернет соединения указать IP-адрес "127.0.0.255" (или тот, что вы выбрали). После этого можно пользоваться. Статистика использования dnss доступна по адресу "http://127.0.0.1:9981". Этот адрес можно изменить в файле "/etc/default/dnss".

Веб-интерфейс dnss в окне Firefox

При возникновении проблем достаточно подробная информация падает в системный журнал, просмотреть который можно командой:

journalctl -xe -u dnss.service

На этом всё. Приятной работы!

Ключевые слова: dns, dnss, doh, dns over https, google.

Подписаться на обновления: RSS-лента Telegram канал Twitter

Комментарии:

Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2018 Вадим Калинников aka MooSE

hd wallpapers 1080p обои высокого рарешения