Установка и настройка dnscrypt-proxy + dnsmasq в Archlinux

Введение: 
  

Что такое dnscrypt-proxy?
DNSCrypt шифрует и аутентифицирует трафик DNS между пользователем и преобразователем DNS, предотвращает локальную подделку запросов DNS, гарантируя, что ответы DNS отправляются выбранным сервером. (Wiki)

Что такое dnsmasq?
- dnsmasq предоставляет такие службы, как DNS-кеш и DHCP-сервер. В качестве сервера доменных имен (DNS) он может кэшировать DNS-запросы для повышения скорости соединения с ранее посещенными сайтами, а в качестве DHCP-сервера dnsmasq может использоваться для предоставления внутренних IP-адресов и маршрутов к компьютеры в локальной сети. Могут быть реализованы одна или обе эти службы. dnsmasq считается легким и простым в настройке; Он разработан для использования на персональном компьютере или для использования в сети с количеством компьютеров менее 50. Он также поставляется с сервером PXE. (Wiki)

Что я использовал ?:
- Для редактирования файлов конфигурации я использовал карликовый.
- Я всегда делал это со своей учетной записью root, но если они настроили Sudo, они могут использовать его безопасно.
- Чтобы проверить кеш с помощью команды dig, он находится в bind-tools
в официальных репозиториях pacman -S связующие инструменты

Установка:

  • Как root или используя sudo в нашем терминале или tty, мы устанавливаем пакеты dnscrypt-proxy и dnsmasq следующим образом:
  • Предупреждающее сообщение связано с тем, что они у меня уже установлены, вам просто нужно подтвердить, нажав Enter:

Настройка:

1 - Давайте включим dnscrypt-proxy (помните, как root или с помощью sudo):


2 - Теперь редактируем файл / Etc / resolv.conf и на сервере имен мы удаляем то, что там есть, и ставим 127.0.0.1 (если хотите, можете сделать резервную копию файла), и это должно выглядеть так:

  • Учитывая, что NetworkManager записывает файл resolv.conf, мы собираемся защитить его от записи с помощью следующей команды:


    3 - Теперь то, что мы собираемся сделать, это найти сервер, который находится ближе всего к нашему местоположению, но вы можете использовать тот, который поставляется по умолчанию, это dnscrypt.eu-nl, список можно открыть с помощью localc здесь: / usr / share / dnscrypt-proxy / dnscrypt-resolvers.csv вот так:

  • Если мы хотим изменить сервер, который разрешает DNS по умолчанию, мы можем отредактировать его следующим образом:
  • В конце файла в разделе [Сервис] мы изменяем то, что выделено серым цветом, и помещаем уже выбранный нами сервер в список:


    4 - По умолчанию dnscrypt-proxy использует порт 53, поскольку dnsmasq тоже, поэтому мы собираемся изменить его, используя снова:
    systemctl отредактируйте dnscrypt-proxy.service –full и в разделе [Socket] оставим его следующим образом:

Сохраняем изменения и закрываем.

5 - Теперь мы настраиваем dnsmasq, мы собираемся отредактировать файл /etc/dnsmasq.conf и добавить эти три строки в конце:

нерешенный
сервер = 127.0.0.1 # 40
адрес прослушивания = 127.0.0.1

Сохраняем изменения и закрываем.

6 - Теперь делаем следующее:
- Перезапускаем dnscrypt-proxy:
systemctl перезапустить dnscrypt-proxy
- Активируем dnsmasq:
systemctl включить dnsmasq
- Выполняем dnsmasq:
systemctl запускает dnsmasq
- Мы перезапускаем наше интернет-соединение:
systemctl перезапустить NetworkManager

7 - Что ж, теперь мы проверяем, действительно ли это работает с помощью пинга, например, до google.com.ar:

8 - Проверяем, работает ли кеш dns с помощью команды dig:

- Здесь мы принимаем во внимание, что первое копание, которое я делаю, имеет задержку в 349 мс, и когда я снова выполняю запрос с помощью dig, что происходит? 0 мс, поэтому кешируется правильно.

9 - Готовые dnscrypt-proxy и dnsmasq настроены и работают исправно!

Примечание: Я хочу уточнить, что после поиска в нескольких местах у меня не сработало, как они показали в вики-арке, испанская версия плохо переведена (это будет вопрос, если кто-то переведет хорошо или я сделаю это в какой-то момент), поэтому я использовал версию в Английский. Так что я в основном полагался на указанную вики, все заслуги им. В данном случае это те шаги, которые я использовал, и они сработали для меня.
Если возникнут какие-либо вопросы или неудобства, они дадут мне знать, и мы будем говорить об этом, пока это не сработает!

Цель объятия! 


Добавить в качестве предпочтительного источника в Google