Dnscrypt proxy linux настройка

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Installation

  • Home
  • Installation
    • Windows
    • macOS
    • Linux
    • pfsense
    • Pi-hole
    • OpenWrt
    • Synology
    • OPNsense
    • EdgeOS
    • Getting started
    • Configuring sources
    • Making things go fast
    • Filtering
    • Cloaking
    • Forwarding
    • Load-balancing options
    • Logging
    • Anonymized DNS
    • ODoH (Oblivious DNS-over-HTTPS)
    • Built-in DoH server / Firefox ESNI
    • Building the Android version on non Android OS
    • Building dnscrypt proxy for jailbroken iOS
    • Using a standalone proxy
    • Using Docker
    • Installation example on Scaleway
    • Installation example on Vultr
    • Network Connectivity Status Indicator (NCSI)
    Clone this wiki locally

    How do I install DNSCrypt?

    You can’t. Because DNSCrypt is just a specification.

    However, that specification has been implemented in software such as unbound, dnsdist, dnscrypt-wrapper, Simple DNSCrypt and dnscrypt-proxy.

    dnscrypt-proxy is a flexible DNS proxy. It runs on your computer or router, and can locally block unwanted content, reveal where your devices are silently sending data to, make applications feel faster by caching DNS responses, and improve security and confidentiality by communicating to upstream DNS servers over secure channels.

    • Simple DNSCrypt is a simple management tool to configure dnscrypt-proxy on windows based systems.
    • DNSCloak is a full-featured DNSCrypt client for iOS, with filtering, logging, caching, password protection and more. No jailbreak required.
    • AdGuard Pro for iOS, Android, macOS and Windows embeds dnscrypt-proxy in a slick user interface.
    • dnscrypt-proxy switcher is a plugin for Bitbar on macOS, to control dnscrypt-proxy usage from the menu bar.

    Setting up dnscrypt-proxy (general guidelines)

    1. Extract and adjust the configuration file dnscrypt-proxy.toml to your needs. In case you started fresh, ensure you backup your modified dnscrypt-proxy.toml file.

    Note: You can choose a set of preferred servers in the dnscrypt-proxy.toml file.

    # server_names = ['scaleway-fr', 'google', 'yandex']

    Change to the servers you would like to use and remove the leading # .

    server_names = ['google', 'cloudflare']

    When doing this filters are ignored if you explicitly name the set of resolvers to use [‘google’, ‘cloudflare’]

    Filters are used when the list is empty, which means all resolvers from configured sources, matching the filters .

    1. Make sure that nothing else is already listening to port 53 on your system and run (in a console with elevated privileges on Windows) the dnscrypt-proxy application.

    Change your DNS settings to the configured IP address and check that everything works as expected.

    ./dnscrypt-proxy -resolve example.com

    should return one of the chosen DNS servers instead of your ISP’s resolver.

    Verification of downloaded files

    Pre-compiled binaries can be verified with Minisign:

    (warning: long line, that may require horizontal scrolling if you use a large font. Make sure to copy the whole of it; the last characters are jB5 )

    minisign -Vm dnscrypt-proxy-*.tar.gz -P RWTk1xXqcTODeYttYMCMLo0YJHaFEHn7a3akqHlb/7QvIQXHVPxKbjB5

    On Windows, archives are ZIP files, not .tar.gz files, so use dnscrypt-proxy-*.zip in the command above.

    The public key can also be obtained using a (DNSSEC-signed) DNS query:

    dig txt dnscrypt-proxy.key.dnscrypt.info.

    Assuming that the official package from this repository was installed, here’s how to upgrade to a new version:

    1. Check the change log for configuration files that need to be updated. When in doubt, start over from the example configuration files.
    2. Check that the new version can properly load the old configuration files: /path/to/new/dnscrypt-proxy -config /path/to/old/dnscrypt-proxy.toml -check (it shouldn’t print any error)
    3. Replace the old dnscrypt-proxy file with the new one.
    4. Restart the service.

    Are these instructions not clear? Wrong? Insufficient? This documentation page is a Wiki, so you can contribute by improving it!

    Источник

    dnscrypt-proxy (Русский)

    Состояние перевода: На этой странице представлен перевод статьи Dnscrypt-proxy. Дата последней синхронизации: 13 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

    dnscrypt-proxy — это DNS-прокси с поддержкой зашифрованных протоколов DNS over HTTPS и DNSCrypt, что позволяет предотвратить атаки «человек посередине» и подслушивание. dnscrypt-proxy также совместим с DNSSEC.

    Установка

    Настройка

    Запуск

    Примечание: Хотя есть два способа запустить прокси, апстрим рекомендует использовать service .[1][2]

    Служба может быть запущена одним из двух взаимоисключающих способов (т.е. только один из этих двух юнитов может быть включен):

    1. С помощью systemd-службы dnscrypt-proxy.service .
      • Тогда должна быть настроена опция listen_addresses (напр. listen_addresses = [‘127.0.0.1:53’, ‘[::1]:53’] ) в файле конфигурации.
    2. Или с помощью сокетной активации через dnscrypt-proxy.socket .
      • Тогда опция listen_addresses должна быть пустой (напр. listen_addresses = [ ] ) в файле конфигурации, так как systemd сам позаботится о настройке сокета.

    Выберите распознаватели

    Если оставить опцию server_names закомментированной в файле /etc/dnscrypt-proxy/dnscrypt-proxy.toml , то dnscrypt-proxy выберет самый быстрый сервер из источников, прописанных в секции [sources] [3]. Эти списки скачиваются, проверяются и автоматически обновляются [4]. Таким образом, ручная настройка определённого набора серверов необязательна.

    Чтобы вручную задать набор используемых серверов, раскомментируйте опцию server_names в файле /etc/dnscrypt-proxy/dnscrypt-proxy.toml и пропишите в ней один или несколько серверов. Например, чтобы использовать серверы Cloudflare:

    server_names = ['cloudflare', 'cloudflare-ipv6']

    Полный список распознавателей (resolvers) расположен на странице апстрима или Github. Если dnscrypt-proxy успешно запускался ранее в системе, список также будет расположен в файле /var/cache/dnscrypt-proxy/public-resolvers.md . Посмотрите описание серверов, которые проверяют DNSSEC, не ведут логи и не занимаются цензурой. Эти требования могут быть настроены глобально с помощью опций require_dnssec , require_nolog и require_nofilter .

    Отключите любые службы, слушающие порт 53

    Совет: Если вы используете #Unbound как локальный кэш DNS, вы можете пропустить этот раздел, так как unbound запускается на порту 53 по умолчанию.

    Чтобы проверить наличие программ, использующих порт 53, выполните:

    The factual accuracy of this article or section is disputed.

    Reason: systemd-resolved listens on 127.0.0.53:53, it should not affect dnscrypt-proxy that listens on 127.0.0.1:53. (Discuss in Talk:Dnscrypt-proxy (Русский))

    Если вывод содержит что-то помимо строки с названием столбцов, вам нужно отключить все службы, использующие порт 53. Один из распространённых виновников — systemd-resolved.service (NetworkManager#Unit dbus-org.freedesktop.resolve1.service not found), но другие менеджеры сети также могут иметь аналогичные компоненты. Можно продолжать, если приведённая выше команда не выводит ничего кроме этой строки:

    Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port

    Измените resolv.conf

    This article or section needs expansion.

    Измените файл resolv.conf и замените ваш текущий адрес распознавателя на localhost с опциями [5]:

    nameserver ::1 nameserver 127.0.0.1 options edns0 single-request-reopen

    Запустите systemd-службу

    Наконец, запустите/включите юнит dnscrypt-proxy.service или dnscrypt-proxy.socket в зависимости от выбранного вами ранее способа запуска.

    Проверьте работоспособность dnscrypt-proxy

    Откройте в браузере DnsLeakTest и выполните «Extended test». Если результат отображает серверы, которые вы выбрали в файле конфигурации, это означает, что dnscrypt-proxy работает; в противном случае что-то пошло не так.

    Советы и рекомендации

    Настройка локального кэша DNS

    Совет: dnscrypt-proxy может сам кэшировать записи, не полагаясь на другие программы. Эта возможность включена по умолчанию в строке cache = true в файле конфигурации dnscrypt-proxy.

    Если встроенная возможность кэширования не используется, рекомендуется запускать dnscrypt-proxy как сервер пересылки (forwarder) для локального кэша DNS; иначе любой запрос будет приводить к его отправке на вышестоящий распознаватель. Должна работать любая кэширующая программа. В таком случае вам нужно настроить её в дополнение к dnscrypt-proxy.

    Изменение порта

    В случае пересылки запросов из локального кеша DNS dnscrypt-proxy должен слушать порт отличный от стандартного 53 , так как DNS-кэш сам будет слушать этот порт и обращаться к dnscrypt-proxy на другом порту. В этом разделе для примера используется порт 53000 (так как порт больше 1024, dnscrypt-proxy необязательно запускать от имени root).

    Есть два метода изменения порта в зависимости от того, каким способом вы запускаете службу:

    Измените dnscrypt-proxy.socket , добавив следующее:

    [Socket] ListenStream= ListenDatagram= ListenStream=127.0.0.1:53000 ListenStream=[::1]:53000 ListenDatagram=127.0.0.1:53000 ListenDatagram=[::1]:53000

    Когда запрос перенаправляется из DNS-кэша на порт 53000 , dnscrypt-proxy.socket автоматически запустит dnscrypt-proxy.service .

    Измените опцию listen_addresses в файле /etc/dnscrypt-proxy/dnscrypt-proxy.toml :

    listen_addresses = ['127.0.0.1:53000', '[::1]:53000']

    Примеры настройки локального кэша DNS

    Приведённые настройки должны работать с dnscrypt-proxy, предполагая, что он слушает порт 53000 .

    Unbound

    Настройте Unbound как вам нужно (см. Unbound (Русский)#Локальный DNS сервер) и добавьте следующие строки в конце секции server в файле /etc/unbound/unbound.conf :

    do-not-query-localhost: no forward-zone: name: "." forward-addr: ::1@53000 forward-addr: 127.0.0.1@53000

    Совет: Если вы настраиваете сервер, добавьте interface: 0.0.0.0@53 и access-control: ваша-сеть/маска-подсети allow в секции server: , чтобы другие устройства могли подключиться к этому серверу. Клиенты должны настраиваться опцией nameserver адрес-вашего-сервера в файле /etc/resolv.conf .

    Перезапустите unbound.service для применения изменений.

    dnsmasq

    Настройте dnsmasq как локальный кэш DNS. Базовая конфигурация для работы с dnscrypt-proxy:

    no-resolv server=::1#53000 server=127.0.0.1#53000 listen-address=::1,127.0.0.1

    Если вы настроили dnscrypt-proxy на использование распознавателя с включенной проверкой DNSSEC, включите её и в dnsmasq тоже:

    conf-file=/usr/share/dnsmasq/trust-anchors.conf dnssec

    Перезапустите dnsmasq.service для применения изменений.

    pdnsd

    Установите pdnsd. Базовая конфигурация для работы с dnscrypt-proxy:

    Перезапустите pdnsd.service для применения изменений.

    Включение EDNS0

    This article or section needs expansion.

    EDNS позволяет, помимо других вещей, разрешить указать клиенту, насколько большим может быть UDP-ответ.

    Добавьте следующую строку в /etc/resolv.conf :

    Проверка EDNS0

    Используйте DNS Reply Size Test Server, запустите утилиту drill для отправки TXT-запроса для адреса rs.dns-oarc.net:

    Если EDNS0 поддерживается, «answer section» будет содержать примерно такой вывод:

    rst.x3827.rs.dns-oarc.net. rst.x4049.x3827.rs.dns-oarc.net. rst.x4055.x4049.x3827.rs.dns-oarc.net. "2a00:d880:3:1::a6c1:2e89 DNS reply size limit is at least 4055 bytes" "2a00:d880:3:1::a6c1:2e89 sent EDNS buffer size 4096"

    Источник

    Читайте также:  Linux which ports are blocked
Оцените статью
Adblock
detector