Debian dnscrypt-proxy cloudflare

Материал из poiuty wiki
Перейти к: навигация, поиск
Do not install the dnscrypt-proxy distribution package, as it is old, and unsupported.
https://github.com/jedisct1/dnscrypt-proxy/wiki/Installation-Debian-Ubuntu

Разработчики предлагают скачивать новую версию с github.

wget https://github.com/jedisct1/dnscrypt-proxy/releases/download/2.0.8/dnscrypt-proxy-linux_x86_64-2.0.8.tar.gz
tar -xf dnscrypt-proxy-linux_x86_64-2.0.8.tar.gz

Создадим пользователя, директорию, переместим файлы.

adduser --disabled-login dnscrypt
mkdir /etc/dnscrypt-proxy
chown dnscrypt:dnscrypt /etc/dnscrypt-proxy
mv linux-x86_64/example-dnscrypt-proxy.toml /etc/dnscrypt-proxy/dnscrypt-proxy.toml
mv linux-x86_64/example-blacklist.txt /etc/dnscrypt-proxy/blacklist.txt
mv linux-x86_64/dnscrypt-proxy /usr/bin/dnscrypt-proxy

Редактируем конфиг.

# nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

server_names = ['cloudflare']

[blacklist]
  ## Path to the file of blocking rules (absolute, or relative to the same directory as the executable file)
  blacklist_file = '/etc/dnscrypt-proxy/blacklist.txt'

Создадим файл запуска.

# nano /lib/systemd/system/dnscrypt-proxy.service

[Unit]
Description=DNSCrypt-proxy client
Documentation=https://github.com/jedisct1/dnscrypt-proxy/wiki
After=network.target
Before=nss-lookup.target
Wants=nss-lookup.target

[Service]
NonBlocking=true
ExecStart=/usr/bin/dnscrypt-proxy --config /etc/dnscrypt-proxy/dnscrypt-proxy.toml
User=dnscrypt
Group=dnscrypt
ProtectHome=yes
ProtectControlGroups=yes
ProtectKernelModules=yes

[Install]
WantedBy=multi-user.target

Запускаем, добавляем в автозагрузку.

systemctl daemon-reload
systemctl start dnscrypt-proxy
systemctl enable dnscrypt-proxy

Редактируем resolv.conf, запрещаем редактирование файла.

# nano /etc/resolv.conf
nameserver 127.0.0.1

# chattr +i /etc/resolv.conf

+dnsmasq

Меняем порт dnscrypt-proxy.

listen_addresses = ['127.0.0.1:5353']

Редактируем конфиг dnsmasq.

# ignore resolv.conf
no-resolv

# dnscrypt-proxy
server=127.0.0.1#5353