Введение:
Что такое 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 настроены и работают исправно!
Примечание: Я хочу уточнить, что после поиска в нескольких местах у меня не сработало, как они показали в вики-арке, испанская версия плохо переведена (это будет вопрос, если кто-то переведет хорошо или я сделаю это в какой-то момент), поэтому я использовал версию в Английский. Так что я в основном полагался на указанную вики, все заслуги им. В данном случае это те шаги, которые я использовал, и они сработали для меня.
Если возникнут какие-либо вопросы или неудобства, они дадут мне знать, и мы будем говорить об этом, пока это не сработает!
Цель объятия! 😀
Я не замечаю разницы с dnsmasq, возможно, с большим количеством пользователей кеш будет работать, по крайней мере, только на моем компьютере я не заметил изменений скорости.
время копания с dnsmasq и без него остается прежним, может быть, кто-то знает о другом методе и поделится им.
привет
Как видно на экране, вы можете увидеть БОЛЬШУЮ разницу, я полагаю, она также будет зависеть от пропускной способности ... ...
Прикрепленное изображение :
imgur .com / 9RQ7yhF.png
Как долго dns-адреса находятся в кеше с dnsmasq? Я помню, как пытался это сделать некоторое время назад, и через несколько минут, 10 или 5, dnsmasq все забывает
Я действительно не видел этого ... хороший момент. Проконсультируют, может, какой-нибудь ученый знает и нам ответит 🙂
Здравствуйте, когда я даю ему 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: Ошибка с результатом «код выхода».
Что я должен делать? Спасибо.
Я выполнил шаги к письму, проверьте исходное руководство в моем блоге. Я тоже оставил видео.
@ice ice, сравнивая этот пост и ваше видео, сделанное на нем, я вижу, что здесь есть ошибка в шаге номер 4. И ошибка в том, что редактируемый файл - это не «systemctl edit dnscrypt-proxy.service –full», а должен быть отредактирован «systemctl edit dnscrypt-proxy.socket –full». (Обратите внимание, что вместо .service вы должны написать .socket).
Вот почему @wisse wisse получает это сообщение об ошибке, когда я хочу запустить службу dnsmasq (поскольку то же самое произошло и со мной).
Привет!