КАК - НАСТРОЙКА DNSCRYPT-PROXY
Вот краткое руководство по dnscrypt-proxy и как его настроить :)
Начиная
Добро пожаловать в пошаговое руководство по dnscrypt-proxy. Это было протестировано на Arch Linux. Большая часть этого будет работать с другими дистрибутивами Linux, но мы используем Arch здесь.
Что это?
Вики-страница Arch гласит, что это «прокси-сервер DNS с поддержкой зашифрованных DNS-протоколов DNS через HTTPS и DNSCrypt, которые можно использовать для предотвращения атак «человек посередине» и подслушивания. dnscrypt-proxy также совместим с DNSSEC».
Зачем использовать это?
DNS - это служба, которую используют все, но она передает все в виде простого текста. Это позволяет безопасно использовать DNS с шифрованием, чтобы даже ваши интернет-провайдеры не могли видеть ваши запросы DNS :) Вы также можете туннелировать запросы через известные серверы DNSSEC.
Не ТОЛЬКО вы получаете шифрование DNS, но при правильной настройке с помощью Anonymized-DNS может препятствовать тому, чтобы посредники записывали и вмешивались в трафик DNS, поскольку это «мешает серверам узнавать что-либо об IP-адресах клиентов, используя промежуточные реле, предназначенные для пересылки зашифрованных данных DNS » Это будет обсуждаться в этом уроке.
Вы также можете настроить фильтрацию через черный список, черный список IP-адресов и белый список, которые будут кратко обсуждаться в этом руководстве.
Установка и настройка
В этой настройке будет использоваться dnscrypt-proxy без IPv6 и без DNS-over-https, но вы можете смело изменять ваши потребности, и я призываю вас поэкспериментировать.
Шаг 1: Сначала установите его:
$ sudo pacman -S dnscrypt-proxy
Шаг 2: Далее мы настраиваем это следующим образом:
$ sudo cp /etc/dnscrypt-proxy/dnscrypt-proxy.toml /etc/dnscrypt-proxy/dnscrypt-proxy.toml.ORIGIN
$ sudo vim /etc/dnscrypt-proxy/dnscrypt-proxy.toml
укажите имена серверов, которые ориентированы на конфиденциальность:
server_names = ['dnscrypt.eu-dk', 'dnscrypt.eu-nl', 'dnscrypt.uk-ipv4', 'ffmuc.net', 'meganerd', 'publicarray-au', 'scaleway-ams', 'scaleway-fr', 'v.dnscrypt.uk-ipv4']
определить критерии используемых серверов:
ipv4_servers = true
ipv6_servers = false # Я не пользуюсь ipv6
dnscrypt_servers = true
doh_servers = false # Я отключаю DoH, так как не использую никаких серверов с ним
require_dnssec = true
require_nolog = true
require_nofilter = true
установить ответ для заблокированных запросов:
blocked_query_response = 'refused'
установите журнал в системный журнал:
use_syslog = true
(необязательно) создайте новый и уникальный ключ для каждого запроса DNS: [RTFM]
dnscrypt_ephemeral_keys = true
выберите ориентированный на конфиденциальность резервный адрес и адрес сетевого зонда, а не это дерьмо G00GLE по умолчанию. Здесь мы используем Uncensored DNS, который находится в этом списке «Privacy DNS», но вы можете изменить на что угодно:
fallback_resolvers = ['91.239.100.100:53']
netprobe_address = '91.239.100.100:53'
заблокируйте ipv6 и здесь:
block_ipv6 = true
разверните список «нарушенных реализаций», чтобы избежать определенных серверов:
fragments_blocked = ['cisco', 'cisco-ipv6', 'cisco-familyshield', 'cisco-familyshield-ipv6', 'quad9-dnscrypt-ip4-filter-alt', 'quad9-dnscrypt-ip4-filter-pri', 'quad9-dnscrypt-ip4-nofilter-alt', 'quad9-dnscrypt-ip4-nofilter-pri', 'quad9-dnscrypt-ip6-filter-alt', 'quad9-dnscrypt-ip6-filter-pri', 'quad9-dnscrypt-ip6-nofilter-alt', 'quad9-dnscrypt-ip6-nofilter-pri', 'cleanbrowsing-adult', 'cleanbrowsing-family-ipv6', 'cleanbrowsing-family', 'cleanbrowsing-security']
затем настройте наши анонимные маршруты DNS - больше информации здесь и список анонимных DNS-реле здесь:
routes = [
{ server_name='dnscrypt.eu-dk', via=['anon-meganerd', 'anon-scaleway-ams'] },
{ server_name='dnscrypt.eu-nl', via=['anon-meganerd', 'anon-scaleway-ams'] },
{ server_name='dnscrypt.uk-ipv4', via=['anon-scaleway', 'anon-tiarap'] },
{ server_name='ffmuc.net', via=['anon-ibksturm', 'anon-scaleway-ams'] },
{ server_name='meganerd', via=['anon-scaleway', 'anon-tiarap'] },
{ server_name='publicarray-au', via=['anon-ibksturm', 'anon-tiarap'] },
{ server_name='scaleway-ams', via=['anon-scaleway', 'anon-meganerd'] },
{ server_name='scaleway-fr', via=['anon-meganerd', 'anon-v.dnscrypt.uk-ipv4'] },
{ server_name='v.dnscrypt.uk-ipv4', via=['anon-scaleway', 'anon-meganerd'] }
]
затем сохраните конфигурацию и выйдите
Шаг 3: Далее настройте черный список (необязательно):
$ sudo vim /etc/dnscrypt-proxy/dnscrypt-proxy.toml
в разделе [черный список] раскомментируйте и установите:
blacklist_file = 'blacklist.txt'
Создайте свой собственный файл черного списка из примера и используйте эту ссылку. Есть и другие черные списки там. Если вы знаете меня, то протяните руку и попросите экстремальный вариант, которым я пользуюсь :)
Кроме того, вы можете раскомментировать «log_file» в этом разделе, если вы хотите получить журнал того, что занесено в черный список. Очень полезно для устранения неполадок в вашем blacklist.txt.
Я рекомендую вам поиграть с черным списком IP-адресов, например здесь, но я еще не использовал его.
Шаг 4: Далее настройте белый список (необязательно):
$ sudo vim /etc/dnscrypt-proxy/dnscrypt-proxy.toml
в разделе [белый список] раскомментируйте и установите:
whitelist_file = 'whitelist.txt'
Создайте свой собственный файл белого списка из примера.
Кроме того, вы можете раскомментировать «log_file» в этом разделе, если вы хотите журнал того, что находится в белом списке.
Шаг 5: Измените /etc/resolv.conf для использования dnscrypt-proxy:
$ sudo vim /etc/resolv.conf
nameserver 127.0.0.1 # убедитесь, что это ваш сервер имен
Начать и проверить
Запустите dnscrypt-proxy:
$ sudo systemctl start dnscrypt-proxy.service
Проверьте, работает ли он сейчас на порту 53
$ ss -lp 'sport = :domain
Теперь протестируйте dnscrypt-proxy:
$ sudo pkill -STOP dnscrypt-proxy
Затем попытайтесь получить доступ к веб-сайту и если ваш DNS-трафик успешно пройдет через прокси-сервер, мы включим его снова:
$ sudo pkill -CONT dnscrypt-proxy
Необязательный тест, перейдите на dnsleaktest.com, нажмите на расширенный тест, а затем убедитесь, что он работает, так как результаты не будут отображать DNS вашего провайдера, а только те, которые есть в нашем файле конфигурации.
Возможность запустить dnscrypt-proxy при загрузке:
Если хотите, установите загрузку @ boot:
$ sudo systemctl enable dnscrypt-proxy.service
Поиск проблемы:
Q1: Что делать, если /etc/resolv.conf перезаписывается при перезагрузке?
A1: следуйте инструкциям выше, чтобы изменить, но затем используйте следующую команду, чтобы убедиться, что resolv.conf не изменился:
chattr + i /etc/resolv.conf
Некоторая информация для чтения:
(1) исходный код dnscrypt-proxy
(2) Arch Linux Wiki на прокси-сервере dnscrypt
(3) Установка dnscrypt-proxy в Linux - от создателей
Что-нибудь еще…
Измените все, что вам нужно и наслаждайтесь :) Если есть что-то еще, что я пропустил, дайте мне знать. Как всегда -> RTFM, взломайте систему и наслаждайтесь жизнью!