Установка и настройка 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 настроены и работают исправно!

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

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


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   безымянный сказал

    Я не замечаю разницы с dnsmasq, возможно, с большим количеством пользователей кеш будет работать, по крайней мере, только на моем компьютере я не заметил изменений скорости.

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

    1.    лёд сказал

      Как видно на экране, вы можете увидеть БОЛЬШУЮ разницу, я полагаю, она также будет зависеть от пропускной способности ... ...

  2.   безымянный сказал

    Прикрепленное изображение :
    imgur .com / 9RQ7yhF.png

  3.   ДаниэльSc3 сказал

    Как долго dns-адреса находятся в кеше с dnsmasq? Я помню, как пытался это сделать некоторое время назад, и через несколько минут, 10 или 5, dnsmasq все забывает

    1.    лёд сказал

      Я действительно не видел этого ... хороший момент. Проконсультируют, может, какой-нибудь ученый знает и нам ответит 🙂

  4.   Вайс сказал

    Здравствуйте, когда я даю ему root "systemctl start dnsmasq", я получаю сообщение об ошибке, когда я даю команду "systemctl status dnsmasq.service", я получаю следующее:

    ● dnsmasq.service - легкий DHCP-сервер и кэширующий DNS-сервер.
    Загружено: загружено (/usr/lib/systemd/system/dnsmasq.service; включено; предустановка поставщика: отключено)
    Активно: не удалось (Результат: код выхода) с понедельника 2016-03-07 11:41:41 ART; 18с назад
    Документы: человек: dnsmasq (8)
    Процесс: 7747 ExecStart = / usr / bin / dnsmasq -k –enable-dbus –user = dnsmasq –pid-file (code = exited, status = 2)
    Процесс: 7742 ExecStartPre = / usr / bin / dnsmasq –test (код = завершен, статус = 0 / УСПЕШНО)
    Основной PID: 7747 (код = выход, статус = 2)

    Вт 07 11:41:41 Wisdom systemd [1]: Запуск облегченного DHCP и кеширующего DNS-сервера…
    Вт 07 11:41:41 Мудрость dnsmasq [7742]: dnsmasq: проверка синтаксиса ОК.
    Вт 07 11:41:41 Wisdom dnsmasq [7747]: dnsmasq: не удалось создать прослушивающий сокет для порта 53: адрес уже используется
    Вт 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: Главный процесс завершен, код = завершен, статус = 2 / INVALIDARGUMENT
    Вт 07 11:41:41 Мудрость systemd [1]: Не удалось запустить облегченный DHCP и кеширующий DNS-сервер.
    Вт 07 11:41:41 Система мудрости [1]: dnsmasq.service: Устройство вошло в состояние ошибки.
    Вт 07 11:41:41 Система мудрости [1]: dnsmasq.service: Ошибка с результатом «код выхода».

    Что я должен делать? Спасибо.

    1.    лёд сказал

      Я выполнил шаги к письму, проверьте исходное руководство в моем блоге. Я тоже оставил видео.

  5.   Gonza сказал

    @ice ice, сравнивая этот пост и ваше видео, сделанное на нем, я вижу, что здесь есть ошибка в шаге номер 4. И ошибка в том, что редактируемый файл - это не «systemctl edit dnscrypt-proxy.service –full», а должен быть отредактирован «systemctl edit dnscrypt-proxy.socket –full». (Обратите внимание, что вместо .service вы должны написать .socket).

    Вот почему @wisse wisse получает это сообщение об ошибке, когда я хочу запустить службу dnsmasq (поскольку то же самое произошло и со мной).

    Привет!