Download_Link
Участник клуба
DNS через HTTPS — это протокол, благодаря которому DNS запросы шифруются, что делает невозможным атаку со спуфингом DNS ответов и контроль за тем, какие сайты открывал пользователь.
Программа dnscrypt-proxy — это кеширующий DNS сервер с поддержкой DNS через HTTPS и многих других протоколов безопасного DNS. Программа сама поддерживает список безопасных серверов. Установка и настройка работы с dnscrypt-proxy очень простая. Эта инструкция покажет вам, как пошагово установить dnscrypt-proxy и настроить систему на использование DNS сервера dnscrypt-proxy в результате чего все DNS запросы и ответы будут зашифрованы.
Данная инструкция с минимальными поправками должна также работать и в Linux Mint, Ubuntu и аналогичных. Если у вас данный дистрибутив, то попробуйте этот раздел и если что-то не получится, то пишите ваши ошибки в комментариях.
Установите пакет dnscrypt-proxy:
sudo apt install dnscrypt-proxy
Проверьте, чтобы порт 53 не был занят:
ss -lp 'sport = :domain'
В выводе должна быть всего одна строка, а именно шапка:
Netid State Recv-Q Send-Q Local Address
ort Peer Address
ort Process
Если вывод содержит более чем одну первую строку с названием столбцов, нужно отключить сервис, который использует порт 53. Одним из частых виновников является systemd-resolved.service (NetworkManager), но другие сетевые менеджеры могут иметь аналогичные компоненты. В общем, какая бы там ни была служба (возможно, вы уже устанавливали другой кэширующий DNS сервер), её нужно остановить и убрать из автозагрузки. Если нет процессов, прослушивающих порт 53, то можно продолжать.
Выполните проверку, чтобы убедиться, что dnscrypt-proxy работает:
/usr/sbin/dnscrypt-proxy -resolve example.com
Запустите службу dnscrypt-proxy и проверьте её статус:
sudo systemctl start dnscrypt-proxy.service
systemctl status dnscrypt-proxy.service
Если всё в порядке, добавьте службу в автозагрузку:
sudo systemctl enable dnscrypt-proxy.service
Перезапустите NetworkManager:
sudo systemctl restart NetworkManager
Сделайте резервную копию файла /etc/resolv.conf:
sudo cp /etc/resolv.conf /etc/resolv.conf.backup
А затем удалите /etc/resolv.conf (это важно, поскольку это может быть ссылка на файл, а не настоящий файл):
sudo rm -f /etc/resolv.conf
И создайте файл /etc/resolv.conf
sudo gedit /etc/resolv.conf
со следующим содержимым:
nameserver 127.0.2.1
# nameserver ::1 # для IPv6
options edns0 single-request-reopen
EDNSPayloadSize 4096
Теперь проверьте систему — откройте сайты, выполните обычные сетевые задачи, чтобы убедиться, что всё работает нормально.
Чтобы посмотреть, какой DNS сервер используется, выполните дважды команду dig:
dig zalinux.ru
Как видно, IP адрес DNS сервера 127.0.2.1. Первый запрос занял 160 msec, а второй запрос занял 0 msec, поскольку данные получены из кэша.
Программа dnscrypt-proxy — это кеширующий DNS сервер с поддержкой DNS через HTTPS и многих других протоколов безопасного DNS. Программа сама поддерживает список безопасных серверов. Установка и настройка работы с dnscrypt-proxy очень простая. Эта инструкция покажет вам, как пошагово установить dnscrypt-proxy и настроить систему на использование DNS сервера dnscrypt-proxy в результате чего все DNS запросы и ответы будут зашифрованы.
Данная инструкция с минимальными поправками должна также работать и в Linux Mint, Ubuntu и аналогичных. Если у вас данный дистрибутив, то попробуйте этот раздел и если что-то не получится, то пишите ваши ошибки в комментариях.
Установите пакет dnscrypt-proxy:
sudo apt install dnscrypt-proxy
Проверьте, чтобы порт 53 не был занят:
ss -lp 'sport = :domain'
В выводе должна быть всего одна строка, а именно шапка:
Netid State Recv-Q Send-Q Local Address
Если вывод содержит более чем одну первую строку с названием столбцов, нужно отключить сервис, который использует порт 53. Одним из частых виновников является systemd-resolved.service (NetworkManager), но другие сетевые менеджеры могут иметь аналогичные компоненты. В общем, какая бы там ни была служба (возможно, вы уже устанавливали другой кэширующий DNS сервер), её нужно остановить и убрать из автозагрузки. Если нет процессов, прослушивающих порт 53, то можно продолжать.
Выполните проверку, чтобы убедиться, что dnscrypt-proxy работает:
/usr/sbin/dnscrypt-proxy -resolve example.com
Запустите службу dnscrypt-proxy и проверьте её статус:
sudo systemctl start dnscrypt-proxy.service
systemctl status dnscrypt-proxy.service
Если всё в порядке, добавьте службу в автозагрузку:
sudo systemctl enable dnscrypt-proxy.service
Код:
Откройте файл /etc/NetworkManager/NetworkManager.conf:
sudo gedit /etc/NetworkManager/NetworkManager.conf
и в раздел
[main]
добавьте
dns=none
Перезапустите NetworkManager:
sudo systemctl restart NetworkManager
Сделайте резервную копию файла /etc/resolv.conf:
sudo cp /etc/resolv.conf /etc/resolv.conf.backup
А затем удалите /etc/resolv.conf (это важно, поскольку это может быть ссылка на файл, а не настоящий файл):
sudo rm -f /etc/resolv.conf
И создайте файл /etc/resolv.conf
sudo gedit /etc/resolv.conf
со следующим содержимым:
nameserver 127.0.2.1
# nameserver ::1 # для IPv6
options edns0 single-request-reopen
EDNSPayloadSize 4096
Теперь проверьте систему — откройте сайты, выполните обычные сетевые задачи, чтобы убедиться, что всё работает нормально.
Чтобы посмотреть, какой DNS сервер используется, выполните дважды команду dig:
dig zalinux.ru
Как видно, IP адрес DNS сервера 127.0.2.1. Первый запрос занял 160 msec, а второй запрос занял 0 msec, поскольку данные получены из кэша.