цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Как использовать Raspberry Pi в качестве DNS-сервера




Как использовать Raspberry Pi в качестве DNS-сервера

Автор: Mike(admin) от 23-03-2022, 03:55

DNS-сервер на Raspberry Pi


Если вы ищете DNS-сервер для домашней сети или сети малого бизнеса, Raspberry Pi – это дешевый, надежный и энергоэффективный вариант для создания своего DNS-сервера.


Как использовать Raspberry Pi в качестве DNS-сервера

Для начала давайте рассмотрим, что такое DNS-сервер и для чего он нужен.


Что такое DNS-сервер


DNS означает «система доменных имен». DNS-сервер переводит удобные для человека доменные имена в IP-адреса, которые могут использовать компьютеры. Если мы переместим наш веб-сайт на новый сервер с новым IP-адресом, мы можем просто обновить нашу запись DNS, и никто больше не будет беспокоиться об этом.


Зачем нужен свой DNS-сервер


Извлечение данных из вашей локальной сети всегда будет быстрее, чем получение из Интернета. Иногда это может сократить время загрузки страницы на несколько сотен миллисекунд. Это не меняет жизнь, но это бывает заметно. Это действительно работает только в том случае, если на вашем локальном DNS-сервере уже есть запись. В противном случае ему все равно придется получать запись из Интернета. Крайне непрактично полностью обновлять весь DNS в локальной сети. Вместо этого сервер будет кэшировать эти записи до тех пор, пока не истечет их значение «Time-To-Live» (TTL).


Большинство операционных систем и веб-браузеров будут кэшировать те же самые записи на вашем компьютере, поэтому, если только один компьютер использует ваше интернет-соединение, наличие собственного DNS-сервера на самом деле ничего не добавит. Это имеет больше смысла, когда несколько человек с несколькими устройствами находятся в локальной сети и совместно используют подключение к Интернету. Здесь кэширование всего в одном месте действительно уменьшит количество запросов, которые должны покинуть сеть.


Если есть какие-то домены, которые вы хотите полностью заблокировать, DNS-сервер – действительно хорошее и эффективное средство для этого. Как родитель, вы можете запретить своему ребенку доступ к определенным веб-сайтам таким образом. Имейте в виду, что это работает только тогда, когда они получают доступ к Интернету через эту сеть, и многие подростки могут обойти это ограничение, настроив другой DNS-сервер. Вы также можете заблокировать определенные домены, потому что считаете их навязчивыми или раздражающими. Существует даже программа DNS-сервера для Raspberry Pi под названием Pi-Hole, которая блокирует рекламные объявления.


Вы также можете дать устройствам в вашей локальной сети собственные доменные имена, видимые только другим локальным компьютерам. Вы можете давать имена принтерам, медиа-центрам, даже холодильникам и кофемашинам, если они подключены к вашей сети. Это избавит вас от необходимости отслеживать IP-адреса всех ваших вещей в офисе или дома.


Убедитесь, что ваш Raspberry Pi имеет зарезервированный IP-адрес


Если ваш DNS-сервер на основе Raspberry Pi имеет динамически назначаемый IP-адрес, это проблемой. Время от времени ему будет назначаться другой IP-адрес, и другие устройства в сети больше не будут к нему подключаться. Вот почему вы захотите зарезервировать IP для этого Raspberry Pi. Вы можете сделать это, войдя в панель управления вашего роутера. Точный набор шагов будет немного отличаться в зависимости от вашего устройства. Если вы затрудняетесь в настройке, используйте поисковую систему, чтобы найти руководство для вашего устройства.


Настройка операционной системы и установка Dnsmasq


Теперь, когда ваше устройство привязано к одному IP-адресу, давайте установим программное обеспечение, которое мы будем использовать: Dnsmasq. Лучше всего начать с новой установки ОС Raspberry Pi. Скорее всего, вы захотите изменить пароль по умолчанию и настроить доступ по SSH в raspi-config. Сначала обновите операционную систему, набрав:


sudo apt update && sudo apt upgrade -y

Затем установите Dnsmasq.


sudo apt install dnsmasq -y

Вот и все, теперь у вас есть DNS-сервер.


Настройка Dnsmasq


Вы можете начать отправлять DNS-запросы на Raspberry, и он будет работать, но настройки по умолчанию требуют изменений, чтобы они были наиболее полезными. Откройте файл конфигурации, набрав:


sudo nano /etc/dnsmasq.conf

Этот файл хорошо аннотирован полезными комментариями, так что не стесняйтесь внимательно читать и анализировать его. Здесь имеется несколько разделов, на которые стоит обратить особое внимание.


Как не перенаправлять локальный трафик на вышестоящие серверы


В верхней части файла конфигурации вы найдете строки с надписью «#domain-needed» и «#bogus-priv». Установка параметра domain-needed не позволит DNS-серверу искать вверх по течению хосты, которые не находятся в домене, а параметр bogus-priv не позволяет ему искать вверх по течению частные IP-адреса. В корпоративной сети, возможно, вы захотите искать эти вещи на вышестоящем сервере. Однако искать их в общедоступном Интернете нет смысла, поэтому воспользуемся этими вариантами. Вы можете задействовать их, удалив символ решетки в начале строки.


Как использовать Raspberry Pi в качестве DNS-сервера

Настройка вышестоящих DNS-серверов


Прокрутите вниз и найдите строку с надписью #no-resolv. Удалите символ решетки, чтобы применить эту опцию. Несколькими строками ниже находится строка #server=/localnet/192.168.0.1. Удалите эту строку; мы введем свои собственные настройки. Будем использовать DNS-серверы Google. Они быстрые и надежные, но, если честно, это в основном потому, что IP-адреса очень легко запомнить. Конфигурация для этого следующая:



server=8.8.8.8
server=8.8.4.4

Как использовать Raspberry Pi в качестве DNS-сервера

Если вы не хотите использовать службу Google, вы можете использовать свой интернет-провайдер или другой общедоступный DNS-сервер.


Добавление пользовательских доменов и блокировка доменов


Немного дальше находится строка с надписью «#address=/double-click.net/127.0.0.1». Это обычно полезно для назначения доменов устройствам в вашей локальной сети. Обычно используют для этого домен верхнего уровня .lan, хотя подойдет любой, который не используется в общедоступном Интернете. Скопируйте синтаксис этой строки. Например, это обеспечит размещение мультимедиа и ретро-игрового оборудования на retropie.lan следующим образом:


address=/retropie.lan/192.168.0.6

Не забудьте также зарезервировать эти IP-адреса для правильного устройства в вашем маршрутизаторе. Здесь вы также можете заблокировать определенные домены, направив их на частный IP-адрес.


address=/www.nickelback.com/127.0.0.1

Как использовать Raspberry Pi в качестве DNS-сервера

Если вас больше интересует блокировка серверов рекламы, списки можно легко найти в Интернете. Также ничто не мешает вам направлять домены на общедоступный IP-адрес. Это может быть полезно для проверки переноса веб-сайта перед его запуском. Имейте в виду, что эти домены будут работать только для устройств, использующих этот DNS-сервер. Если вы хотите, чтобы доменное имя отображалось в общедоступном DNS, вам придется его купить.


Установка размера кэша


По умолчанию Dnsmasq кэширует до 150 записей. Даже очень легкий просмотр веб-страниц может заполнить это. Этот кеш хранится в памяти, поэтому теоретически, если он станет слишком большим, это может повлиять на производительность. Но здесь мы обслуживаем небольшую сеть, памяти сейчас больше, чем несколько десятилетий назад, когда создавался Dnsmasq, и каждая из этих записей использует всего 100 байт. Мы можем позволить себе потратить на это несколько мегабайт. Прокрутите вниз до того места, где написано «#cache-size=150». Удалите символ решетки спереди и установите его намного больше. Мы просто добавим пару нулей, чтобы получилось 15000, что намного больше записей, чем может кэшировать DNS-сервер для небольшой сети.


Как использовать Raspberry Pi в качестве DNS-сервера

Когда вы будете довольны своими настройками, сохраните и выйдите, затем перезапустите сервис, набрав:


sudo systemctl restart dnsmasq

Настройка ваших устройств для использования этого DNS-сервера


Теперь, когда ваш DNS-сервер запущен и работает, давайте начнем его использовать. Самый простой способ настроить его в качестве DNS-сервера по умолчанию для всей вашей сети – в вашем маршрутизаторе. Компьютеры и устройства обычно можно настроить индивидуально в настройках или панели управления.


Настройка автоматических обновлений безопасности/h2>

DNS-сервер может стать привлекательной целью для онлайн-преступников, которые могут перенаправить вас на вредоносные сайты. Тот факт, что мы настроили его так, чтобы он был доступен только из вашей локальной сети, значительно снижает этот риск. Тем не менее, рекомендуется также автоматически применять обновления безопасности. Есть удобный пакет, который делает это за нас, называемый автоматическими обновлениями. Давайте установим его:


sudo apt install unattended-upgrades -y

Конфигурация этого пакета по умолчанию в Raspberry Pi OS Buster предусматривает ежедневное применение обновлений безопасности. Не забудьте также изменить пароль по умолчанию, если вы еще этого не сделали. Требование проверки подлинности на основе сертификата для доступа по SSH также является отличной идеей.




© digitrode.ru


Теги: Raspberry Pi, сервер




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

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