Полезные знания dnscrypt-proxy2 защита запросов посредством dnscrypt-proxy2

Red Sunset

Суетолог
Ветеран пробива
Private Club
Регистрация
24/12/16
Сообщения
144
Репутация
810
Реакции
969
RUB
13.112
DnsCrypt-proxy 1 был закрыт, по первому времени большинство DNS серверов, перестали работать, потом и вовсе все.
Полезные знания - DNS Crypt. Криптуем DNS-трафик 2017-2018
DnsCrypt-proxy 2 долго время был в режиме бета тестирования, по этому я ничего не писал на эту тему, а предложил альтернативу, более простую и с удобным интерфейсом - Полезные знания - Simple DNSCrypt 2018 для Win.

На сегодня DNS Crypt proxy 2 работает более чем стабильно и помогает нам шифровать трафик DNS от провайдера.

Работает на Windows(64/32) / MacOS / Linux(ARM/64/32)
Ссылка на скачивание для перечисленых ОС :

Мануал написан сегодня 08.05.19 Версия dnscrypt-proxy 2.0.23
Процес установки и шифрования на примере Windows 8.1 64-bit


Для успешного криптования, требуется всё делать ровно так, как мы описываем - поэтапно!
Криптование должно производится с выключеным VPN.


После скачивания, распаковываем архив на нужный диск
У меня это диск C:\
Должно получится:
upload_2019-5-8_4-36-43.png

Заходим в распоковную папку видим файлы:
upload_2019-5-8_4-38-31.png

1. Нам требуется создать файл конфигрурации dnscrypt-proxy.toml на основе файла example-dnscrypt-proxy.toml
Внимание! файл при открытии файл в формате .toml пк спросит как открыть, мы выбираем блокнот.
upload_2019-5-8_4-43-34.png


Открыв, мы видим инструкцию/описание и среди них значения:
upload_2019-5-8_4-45-55.png

Удаляем всё из текстовика и вставляем либо эту конфигурацию
Код:
server_names = ["*******"]
listen_addresses = ["127.0.0.1:53", "[::1]:53"]
max_clients = 250
ipv4_servers = true
ipv6_servers = false
dnscrypt_servers = true
doh_servers = true
require_dnssec = true
require_nolog = true
require_nofilter = true
daemonize = false
force_tcp = false
timeout = 2500
log_level = 0
use_syslog = false
cert_refresh_delay = 240
fallback_resolver = "9.9.9.9:53"
ignore_system_dns = false
block_ipv6 = true
cache = true
cache_size = 256
cache_min_ttl = 600
cache_max_ttl = 86400
cache_neg_ttl = 60

[query_log]
format = "ltsv"

[nx_log]
format = "ltsv"

[blacklist]

[ip_blacklist]

[sources]

[sources.public-resolvers]
url = "https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md"
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
cache_file = "public-resolvers.md"
refresh_delay = 72
prefix = ""

либо эту
Код:
server_names = ['********']
listen_addresses = ['127.0.0.1:53', '[::1]:53']
max_clients = 250
ipv4_servers = true
ipv6_servers = false
dnscrypt_servers = true
doh_servers = true
require_dnssec = false
require_nolog = true
require_nofilter = true
force_tcp = false
timeout = 2500
keepalive = 30
log_level = 0
log_file = 'dnscrypt-proxy.log'
cert_refresh_delay = 240
fallback_resolver = '8.8.8.8:53'
ignore_system_dns = true
netprobe_timeout = 30
log_files_max_size = 1
log_files_max_age = 7
log_files_max_backups = 1
block_ipv6 = true
cache = true
cache_size = 512
cache_min_ttl = 600
cache_max_ttl = 86400
cache_neg_min_ttl = 60
cache_neg_max_ttl = 600
[blacklist]
blacklist_file = 'blacklist.txt'
[sources]
[sources.'public-resolvers']
urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v2/public-resolvers.md', 'https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md']
minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
cache_file = 'public-resolvers.md'
refresh_delay = 72
prefix = ''

Я пользовался первым вариантом конфигурации.
Обратите внимание на первую строку в обоих вариантах
server_names = ********
Где стоят ******** мы будем задавать имя удаленного DNS-резольвера.
Напомню, что DNS-резольвер принимает запрос от клиента (Вашего ПК) и отправляет его к DNS-серверу.
Резольверы описаны в файле public-resolvers.md.
Также список общедоступных DNS-резольверов можно взять по этой ссылке:
Я буду пользоваться из тех что находятся в файле public-resolvers.md.
Пример описания DNS-резольвера:

## dnscrypt.eu-nl
Free, non-logged, uncensored. Hosted by RamNode.
sdns://AQcAAAAAAAAADjE3Ni41Ni4yMzcuMTcxIGfADywhxVSBRd18tGonGvLrlpkxQKMJtiuNFlMRhZxmJTIuZG5zY3J5cHQtY2VydC5yZXNvbHZlcjEuZG5zY3J5cHQuZXU
Так они выгледят в текстовике (## Для разделения):
upload_2019-5-8_5-10-17.png

dnscrypt.eu-nl - это DNS-резольвер который мы будем указывать в файле конфигурации вместо ********Кроме этой строки, ничего менять не нужно!

Внимание!
Важные свойства при выборе резольвера в txt или на сайте:
  • Non-logging (no logs/no log) - не ведет протокол запросов
  • supports DNSSEC - поддерживает цифровую подпись DNSSEC
  • AD-filtering - фильтрует рекамные запросы
Теперь берем понравившийся резольвер и прописываем егов открытом текстовике example-dnscrypt-proxy.toml
Я взял резольвер "d0wn-is-ns2" резольверов полно,, поэтому каждому на вкус и цвет.
Текстовик должен выглядить следующим образом:
upload_2019-5-8_5-17-21.png

Внимание!
Сохраняем txt и переименовываем из example-dnscrypt-proxy
В dnscrypt-proxy должно получиться:
upload_2019-5-8_5-18-53.png

Теперь устанавливаем утилиту dnscrypt-proxy как службу wind, запустив команд фай service-install.bat
upload_2019-5-8_5-21-30.png

upload_2019-5-8_5-22-36.png

Готово.

Дело за малым, меняем адреса DNS-серверов для наших сетевых адартеров, каждый адаптер имеет свои настройки DNS для протокола IPv4
IPv6 я отключил.
Screenshot_3.png

Теперь открываем cmd от имени администратора (cmd - это командная строка)
Screenshot_6.png

Прописываем путь к папке, у меня это папка win 64 на диске C:\ поэтому код выглядит так
Код:
CD c:\win64
Screenshot_1.png

Папка открылась дальше прописываем установку dnscrypt-proxy
Код:
dnscrypt-proxy -service install
Получаем результат
Screenshot_3.png

Дальше прописываем
Код:
dnscrypt-proxy service start

Получаем результат, о том, что всё работает исправно.
upload_2019-5-8_5-31-7.png

Внимание!
Перезапускаем пк, вновь открываем cmd от имени администратора для пущего убеждения

И повторяем 3 действия.
Теперь открываем cmd от имени администратора (cmd - это командная строка)
Screenshot_6.png

Прописываем путь к папке, у меня это папка win 64 на диске C:\ поэтому код выглядит так
Код:
CD c:\win64
Screenshot_1.png

Папка открылась дальше прописываем установку dnscrypt-proxy
Код:
dnscrypt-proxy -service install
Получаем результат
upload_2019-5-8_5-32-59.png

Всё готово, идём проверять, на то как DNS изменился
Проверить можно на:



Внимание! IP не изменится т.к. мы зашивровали только трафик DNS, сверху можно включать VPN и не беспокоится о провайдере.
upload_2019-5-8_5-34-28.png

При перезагрузке и т.д. значение DNS не будет менятся, т.к. мы прописали розльвер.
 
Последнее редактирование:
Установка на MacOS. Она отличается от Windows.

Установим dnscrypt-proxy на MacOS
Скачиваем для MacOS
Распаковываем в удобное для вас место, я распаковал в Applications в папку macos. Это и будет путь до dnscrypt-proxy.
Открываем с помощью текстовика файл example-dnscrypt-proxy и удаляем все содержимое
Вставляем следующую конфигурацию:

server_names = [«*******»]
listen_addresses = ["127.0.0.1:53", "[::1]:53"]
max_clients = 250
ipv4_servers = true
ipv6_servers = false
dnscrypt_servers = true
doh_servers = true
require_dnssec = true
require_nolog = true
require_nofilter = true
daemonize = false
force_tcp = false
timeout = 2500
log_level = 0
use_syslog = false
cert_refresh_delay = 240
fallback_resolver = "9.9.9.9:53"
ignore_system_dns = false
block_ipv6 = true
cache = true
cache_size = 256
cache_min_ttl = 600
cache_max_ttl = 86400
cache_neg_ttl = 60

[query_log]
format = "ltsv"

[nx_log]
format = "ltsv"

[blacklist]

[ip_blacklist]

[sources]

[sources.public-resolvers]
url = " "
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
cache_file = "public-resolvers.md"
refresh_delay = 72
prefix = ""


Где за место ******* в первой строке мы будем прописывать удаленный DNS резольвер.

DNS резольверов.

upload_2019-5-10_2-58-17.png

## - это разделитель между резольверами. Я выбрал dnscrypt.uk-ipv4
Заменяем ******* на dnscrypt.uk-ipv4
Сохраняем файл с новым именем dnscrypt-proxy
Далее

Сочетанием клавиш Command + Пробел вызываем строку поиска
В строке поиска пишем Terminal.app ; Запускаем
upload_2019-5-10_2-58-55.png

1. Прописываем права доступа к корневой оболочке:
sudo -s
Нас попросит ввести пароль (он отображаться не будет). Вводим пароль жмем Enter

upload_2019-5-10_2-59-24.png

2. Прописываем путь к dnscrypt-proxy :
/Applications/macos/dnscrypt-proxy

upload_2019-5-10_2-59-48.png

Возможные ошибки и их решение:
- dnscrypt-proxy.toml: no such file or directory:
скопируйте файл конфигурации примера как dnscrypt-proxy.toml, как описано выше.
- not found ELF - not found - Syntax error: ")" unexpected: или что-то похожее: вы не загрузили правильный файл для вашей операционной системы и процессора.
- listen udp 127.0.0.1:53: bind: permission denied: вы не используете корневую оболочку (см. шаг 1). Используйте sudo -s, чтобы получить один. Или su, если sudo не существует в вашей системе.
- listen udp 127.0.0.1:53: bind: address already in use: что-то уже прослушивает порт DNS. Может быть, что-то еще, может быть, предыдущий экземпляр dnscrypt-proxy, который вы не остановили перед тем, как начать новый.
Нет ошибок?
Отлично!
Не закрываем Терминал
. Переходим к следующему шагу.

3. Меняем настройки DNS на нашем MacBook:
Открываем Системные настройки и выбираем Сеть
Далее нажимаем Дополнительно и в появившемся окне выбираем вкладку DNS
Удаляем имеющиеся DNS серверы и прописываем новый 127.0.0.1
upload_2019-5-10_3-1-45.png

Сохраняем. Возвращаемся к Терминалу.

4.
Устанавливаем dnscrypt-proxy
Сочетанием клавиш Control + C останавливаем предыдущие действия для возвращения к корневой оболочке.
Прописываем команду установки:
/Applications/macos/dnscrypt-proxy -service install
upload_2019-5-10_3-2-21.png

После того как мы видим что сервер установлен, нам необходимо его запустить
Прописываем команду запуска dnscrypt-proxy:
/Applications/macos/dnscrypt-proxy -service start

upload_2019-5-10_3-3-16.png

ГОТОВО. Можем закрыть Терминал.
Проверяем изменился ли DNS на


upload_2019-5-10_3-3-58.png

Для того что бы остановить/удалить dnscrypt-proxy воспользуйтесь следующими командами:
Повторите действия 1 и 2 и следом пропишите одну из следующих команд:
/Applications/macos/dnscrypt-proxy -service stop - Остановить dnscrypt-proxy
/Applications/macos/dnscrypt-proxy -service uninstall - Удалить dnscrypt-proxy
 

Похожие темы

  • Теги
    dnscrypt-proxy2 security dns безопасность 20222 криптуем трафик
  • Сверху Снизу