Как запустить демона DNSCrypt на Kali ?
Надеюсь, я не совсем опоздал с ответом )
Установите пакет dnscrypt-proxy:
Код:
$ sudo apt update
$ sudo apt install -y dnscrypt-proxy
Проверьте, чтобы порт 53 не был занят:
$ ss -lp 'sport = :domain'
В выводе должна быть всего одна строка, а именно шапка:
Netid State Recv-Q Send-Q Local Address
ort Peer Address
ort Process
< - если смайликов в твоей косоли нет, то что-то пошло не так.
Запустите службу dnscrypt-proxy и проверьте её статус:
$ sudo systemctl start dnscrypt-proxy.service
$ systemctl status dnscrypt-proxy.service
Редактируем файл конфигурации dnscrypt-proxy.toml
$ sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml
Код:
# Empty listen_addresses to use systemd socket activation
listen_addresses = []
server_names = ['cloudflare']
[query_log]
file = '/var/log/dnscrypt-proxy/query.log'
[nx_log]
file = '/var/log/dnscrypt-proxy/nx.log'
[sources]
[sources.'public-resolvers']
url = 'https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md'
cache_file = '/var/cache/dnscrypt-proxy/public-resolvers.md'
minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
refresh_delay = 72
prefix = ''
После редактирования файла конфигурации, dnscrypt-proxy.service можно перезагрузить:
$ sudo systemctl restart dnscrypt-proxy
Если всё в порядке, добавьте службу в автозагрузку:
$ sudo systemctl enable --now dnscrypt-proxy.service
Настройка DNS
У далите /etc/resolv.conf (это важно, поскольку это может быть ссылка на файл, а не настоящий файл):
$ sudo rm -f /etc/resolv.conf
И создайте файл /etc/resolv.conf
$ sudo nano /etc/resolv.conf
со следующим содержимым:
Код:
nameserver 127.0.2.1
# nameserver ::1 # для IPv6
options edns0 single-request-reopen
EDNSPayloadSize 4096
Запретить дальнейшее изменене этого файла:
$ sudo chattr +i /etc/resolv.conf
После редактирования файла конфигурации, resolvconf можно перезагрузить:
$ sudo systemctl restart resolvconf
ОПЦИОНАЛЬНО:
Отредактировать файл /etc/network/interfaces, добавить опцию dns-nameservers 127.0.2.1:
$ cat /etc/network/interfaces
Код:
allow-hotplug eth0
# iface eth0 inet dhcp
# auto eth0
iface eth0 inet static
address 192.168.1.192
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 127.0.2.1
После редактирования файла конфигурации, перезапустите networking:
$ sudo systemctl restart networking
Откройте файл /etc/NetworkManager/NetworkManager.conf:
$ sudo nano /etc/NetworkManager/NetworkManager.conf
и в раздел
[main]
добавьте
dns=none
После редактирования файла конфигурации, перезапустите NetworkManager:
$ sudo systemctl restart NetworkManager
Чтобы посмотреть, какой DNS сервер используется, выполните дважды команду dig:
$ dig codeby.net
IP адрес DNS сервера должен быть 127.0.2.1.
Если возникает ошибка об неустановленном пакете dig,
dig: command not found, то необходимо установить пакет install dnsutils
$ sudo apt install dnsutils
Проверяем что сервисы запустились.
Код:
$ ps aux | grep dns
$ sudo systemctl status dnscrypt-proxy.service
Выполните проверку, чтобы убедиться, что dnscrypt-proxy работает:
$ /usr/sbin/dnscrypt-proxy -resolve example.com
На всякий случай проверяем какой DNS сервер используется на нашем устройстве в данный момент:
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Теперь проверьте систему — откройте сайты, выполните обычные сетевые задачи, чтобы убедиться, что всё работает нормально.
Теперь запросы dnscrypt-proxy нужно пропустить через tor, чтобы на сервераз не светился твой IP.
Но это - совсем другая история )