DNS через HTTPS
Данное решение поможет настроить службу DNS используя протокол https.
Это решение будет полезно в случаях:
1. Фильтруется трафик по протоколу UDP или протокол UDP полностью заблокирован. Используя dns proxy трафик будет передаваться по протоколу tcp.
2. Есть потребность скрыть DNS трафик. Весь DNS трафик будет идти через защищенный протокол https.
Приступим к настройке.
1. Подготовка сервера
Проверить файл /etc/resolv.conf в котором должен быть указан локальный DNS резолвер
Отключить все локальные DNS резолверы такие как unbound, bind.
В данном примере отключение unbound выполняется командами:
2. Настройка dnscrypt proxy для работы DNS через HTTPS
Скачиваем пакет dnscrypt-proxy-linux_x86_64-2.1.1.tar.gz
Распаковать архив, создать конфигурационный файл (достаточно конфигурационного файла по умолчанию) и запустить dnscrypt proxy:
DNS через HTTPS настроен.
PS. так же запустить dnscrypt-proxy можно в screen если этот пакет установлен в системе
По умолчанию весь DNS трафик будет передаваться по защищенному протоколу https (порт 443) по протоколам udp и tcp.
Для отключения udp трафика в конфигурационном файле dnscrypt-proxy.toml нужно изменить параметр force_tcp на true.
Если требуется включить использование DNS по протоколу IPv6 параметр ipv6_servers так же установить true.
Для автоматического запуска при старте системы лучше всего настроить dnscrypt-proxy в качестве демона используя systemd.
Создаем файл и ставим ему права:
Содержимое:
Меняем права доступа:
Проверяем на ошибки и запускаем:
Добавляем сервис для автоматического запуска в systemd
Это решение будет полезно в случаях:
1. Фильтруется трафик по протоколу UDP или протокол UDP полностью заблокирован. Используя dns proxy трафик будет передаваться по протоколу tcp.
2. Есть потребность скрыть DNS трафик. Весь DNS трафик будет идти через защищенный протокол https.
Приступим к настройке.
1. Подготовка сервера
Проверить файл /etc/resolv.conf в котором должен быть указан локальный DNS резолвер
nameserver 127.0.0.1
Отключить все локальные DNS резолверы такие как unbound, bind.
В данном примере отключение unbound выполняется командами:
systemctl disable unbound.service
systemctl stop unbound.service
2. Настройка dnscrypt proxy для работы DNS через HTTPS
Скачиваем пакет dnscrypt-proxy-linux_x86_64-2.1.1.tar.gz
wget --no-check-certificate https://blog.vpsville.ru/uploads/dnscrypt-proxy-linux_x86_64-2.1.1.tar.gz
Распаковать архив, создать конфигурационный файл (достаточно конфигурационного файла по умолчанию) и запустить dnscrypt proxy:
tar -xf dnscrypt-proxy-linux_x86_64-2.1.1.tar.gz
cd linux-x86_64/
cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml
./dnscrypt-proxy
DNS через HTTPS настроен.
PS. так же запустить dnscrypt-proxy можно в screen если этот пакет установлен в системе
/usr/bin/screen -S dnsproxy /root/linux-x86_64/dnscrypt-proxy
По умолчанию весь DNS трафик будет передаваться по защищенному протоколу https (порт 443) по протоколам udp и tcp.
Для отключения udp трафика в конфигурационном файле dnscrypt-proxy.toml нужно изменить параметр force_tcp на true.
Если требуется включить использование DNS по протоколу IPv6 параметр ipv6_servers так же установить true.
Для автоматического запуска при старте системы лучше всего настроить dnscrypt-proxy в качестве демона используя systemd.
Создаем файл и ставим ему права:
nano /etc/systemd/system/dns.service
Содержимое:
[Unit]
Description=dnscrypt-proxy
After=network.target
[Service]
Type=oneshot
User=root
ExecStart=/root/linux-x86_64/dnscrypt-proxy
[Install]
WantedBy=multi-user.target
Меняем права доступа:
chmod 664 /etc/systemd/system/dns.service
Проверяем на ошибки и запускаем:
systemctl daemon-reload
systemctl start dns.service
Добавляем сервис для автоматического запуска в systemd
systemctl enable dns.service
- 0
- 09 февраля 2022, 12:19
- GreatAlex
Комментарии (0)
RSS свернуть / развернуть