Networking

Настройка персонального DNS-сервера на Raspberry Pi

Spread the love

Настройка персонального DNS-сервера — отличный способ узнать о DNS и управлять локальной сетью. Raspberry Pi, благодаря своей доступности и невысокой стоимости, делает этот проект удивительно простым. Это руководство проведет вас через весь процесс, позволяя управлять DNS-записями вашей домашней сети.

Содержание

Настройка статического IP-адреса на Raspberry Pi

Перед настройкой DNS-сервера крайне важно назначить статический IP-адрес вашему Raspberry Pi. Это предотвратит сбои в работе DNS из-за изменения IP-адреса. Мы будем использовать инструмент конфигурации Raspberry Pi:

  1. Доступ к инструменту конфигурации: Откройте терминал на вашем Raspberry Pi (или через SSH) и введите:
  2. sudo raspi-config
  3. Параметры сети: Перейдите к «5 Interfacing Options», затем «P5 Network Configuration».
  4. Настройка статического IP: Выберите конфигурацию «Manual». Введите желаемый статический IP-адрес, маску подсети, шлюз и адреса DNS-серверов (временно используйте DNS-серверы вашего роутера). Убедитесь, что IP-адрес находится в диапазоне вашей сети и не конфликтует с другими устройствами. Запишите эти настройки.
  5. Сохранение и перезагрузка: Сохраните изменения и перезагрузите Raspberry Pi, используя:
  6. sudo reboot
  7. Проверка: После перезагрузки проверьте свой статический IP-адрес, используя:
  8. ip addr show

Настройка DNS-сервера (Bind9)

Мы будем использовать Bind9, надежный и широко используемый DNS-сервер.

  1. Обновление пакетов: Обновите список пакетов вашего Raspberry Pi:
  2. sudo apt update
  3. Установка Bind9: Установите Bind9 и его утилиты:
  4. sudo apt install bind9 bind9utils
  5. Конфигурирование Bind9: Основной конфигурационный файл находится в `/etc/bind/named.conf.local`. Добавьте записи для ваших доменов. Например, для обслуживания записей для `example.local`, добавьте:
  6. zone "example.local" {
        type master;
        file "/etc/bind/db.example.local";
    };
  7. Создание файла базы данных: Создайте `/etc/bind/db.example.local` со следующим содержимым (замените заполнители на вашу информацию):
  8. $TTL    604800
    @       IN      SOA     raspberrypi.example.local. admin.example.local. (
                                            2023102702 ; Серийный номер (увеличивайте это число при каждом изменении)
                                            86400      ; Refresh
                                            7200       ; Retry
                                            3600000    ; Expire
                                            604800     ; Negative Cache TTL
                                    )
    @       IN      NS      raspberrypi.example.local.
    raspberrypi IN A 192.168.1.100
    www      IN      A       192.168.1.100
  9. Перезапуск Bind9: Перезапустите Bind9 для применения изменений:
  10. sudo systemctl restart bind9
  11. Брандмауэр (необязательно): Если вы используете брандмауэр (например, `ufw`), разрешите трафик DNS (порт 53):
  12. sudo ufw allow 53/udp
    sudo ufw allow 53/tcp

Тестирование DNS-сервера

  1. Настройка клиента: На устройстве в вашей сети измените настройки DNS-сервера на статический IP-адрес вашего Raspberry Pi.
  2. Проверка разрешения: Пропингуйте или перейдите к имени хоста, определенному в `db.example.local` (например, `raspberrypi.example.local` или `www.example.local`). Успешное разрешение подтверждает работоспособность вашего DNS-сервера. В противном случае, дважды проверьте ваши конфигурационные файлы.

Не забудьте заменить заполнители на ваши фактические IP-адреса и доменные имена. Это базовая настройка; для расширенных конфигураций обратитесь к документации Bind9. Всегда создавайте резервные копии конфигурационных файлов перед внесением изменений.

Добавить комментарий

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