Настройка персонального DNS-сервера — отличный способ узнать о DNS и управлять локальной сетью. Raspberry Pi, благодаря своей доступности и невысокой стоимости, делает этот проект удивительно простым. Это руководство проведет вас через весь процесс, позволяя управлять DNS-записями вашей домашней сети.
Содержание
- Настройка статического IP-адреса на Raspberry Pi
- Настройка DNS-сервера (Bind9)
- Тестирование DNS-сервера
Настройка статического IP-адреса на Raspberry Pi
Перед настройкой DNS-сервера крайне важно назначить статический IP-адрес вашему Raspberry Pi. Это предотвратит сбои в работе DNS из-за изменения IP-адреса. Мы будем использовать инструмент конфигурации Raspberry Pi:
- Доступ к инструменту конфигурации: Откройте терминал на вашем Raspberry Pi (или через SSH) и введите:
- Параметры сети: Перейдите к «5 Interfacing Options», затем «P5 Network Configuration».
- Настройка статического IP: Выберите конфигурацию «Manual». Введите желаемый статический IP-адрес, маску подсети, шлюз и адреса DNS-серверов (временно используйте DNS-серверы вашего роутера). Убедитесь, что IP-адрес находится в диапазоне вашей сети и не конфликтует с другими устройствами. Запишите эти настройки.
- Сохранение и перезагрузка: Сохраните изменения и перезагрузите Raspberry Pi, используя:
- Проверка: После перезагрузки проверьте свой статический IP-адрес, используя:
sudo raspi-config
sudo reboot
ip addr show
Настройка DNS-сервера (Bind9)
Мы будем использовать Bind9, надежный и широко используемый DNS-сервер.
- Обновление пакетов: Обновите список пакетов вашего Raspberry Pi:
- Установка Bind9: Установите Bind9 и его утилиты:
- Конфигурирование Bind9: Основной конфигурационный файл находится в `/etc/bind/named.conf.local`. Добавьте записи для ваших доменов. Например, для обслуживания записей для `example.local`, добавьте:
- Создание файла базы данных: Создайте `/etc/bind/db.example.local` со следующим содержимым (замените заполнители на вашу информацию):
- Перезапуск Bind9: Перезапустите Bind9 для применения изменений:
- Брандмауэр (необязательно): Если вы используете брандмауэр (например, `ufw`), разрешите трафик DNS (порт 53):
sudo apt update
sudo apt install bind9 bind9utils
zone "example.local" {
type master;
file "/etc/bind/db.example.local";
};
$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
sudo systemctl restart bind9
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
Тестирование DNS-сервера
- Настройка клиента: На устройстве в вашей сети измените настройки DNS-сервера на статический IP-адрес вашего Raspberry Pi.
- Проверка разрешения: Пропингуйте или перейдите к имени хоста, определенному в `db.example.local` (например, `raspberrypi.example.local` или `www.example.local`). Успешное разрешение подтверждает работоспособность вашего DNS-сервера. В противном случае, дважды проверьте ваши конфигурационные файлы.
Не забудьте заменить заполнители на ваши фактические IP-адреса и доменные имена. Это базовая настройка; для расширенных конфигураций обратитесь к документации Bind9. Всегда создавайте резервные копии конфигурационных файлов перед внесением изменений.