Как настроить дополнительную службу DNS для моей домашней сети?

Как настроить дополнительную службу DNS для моей домашней сети?

У меня есть пара ноутбуков Windows, Raspberry Pi 4 с Ubuntu и x86-бокс, также с Ubuntu. Используя резервирование DHCP на моем WiFi-роутере (Apple Airport), я дал им всем статические IP-адреса. Затем на каждой машине я отредактировал файл hosts и ввел имена и IP-адреса всех машин.

Я хотел бы улучшить последнюю часть. Я хотел бы запустить службу DNS на моем Raspberry Pi, чтобы избежать ручного редактирования и обновления файла hosts на каждой машине. Я хочу сделать это таким образом, чтобы если моя домашняя служба DNS выйдет из строя, я все равно смогу получить доступ к Интернету для просмотра веб-страниц и т. д. Другими словами, если моя Raspberry Pi выйдет из строя, это не должно забрать мой домашний Интернет с собой. Я также не хочу настраивать каждый ПК, чтобы он указывал на Raspberry Pi как на службу DNS.

По сути, я хочу запустить службу DNS на моем Raspberry Pi так, чтобы если Pi работает, все ПК с Windows и другие устройства с Ubuntu обнаруживали службу DNS и использовали ее для разрешения локальных имен, а если Pi не работает, единственное, что не будет работать, — это локальное разрешение имен.

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

решение1

Настройте ваш DHCP-сервер на выдачу двух адресов для DNS-сервера. Первый должен быть IP-адресом вашего Raspberry Pi. Второй должен быть IP-адресом сервера имен вашего интернет-провайдера (или публичного сервера имен, например 8.8.8.8 или 1.1.1.1).

На rpi должен быть запущен DNS-резолвер, напримернесвязанныйилиdnsmasq. Он должен быть настроен на:

  1. отвечать на запросы только из вашей локальной сети
  2. обеспечить прямой (имя) и обратный (IP-адрес) DNS-поиск для хостов в вашей локальной сети.

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

Обратите внимание, что при низком rpi поиск в DNS будет выполняться значительно медленнее.

решение2

Стандартный DNS-сервер на *nix обычно реализован следующим образом BIND:https://en.wikipedia.org/wiki/BIND

Вот пара хороших статей, подробно описывающих этот процесс: https://opensource.com/article/17/4/introduction-domain-name-system-dns и https://opensource.com/article/17/4/build-your-own-name-server

Связанный контент