zaLinux.ru

Как установить dnscrypt-proxy в Kali Linux


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:Port     Peer Address:Port 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

Откройте файл /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, поскольку данные получены из кэша.

Смотрите также статью «Как пользоваться командой dig для DNS запросов».


Рекомендуемые статьи:

Оставить комментарий

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