TrueNAS DNS настройка: DNS-сервер, клиент, резолвинг | Гайд 2024 | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

TrueNAS DNS: Полное руководство по настройке DNS-сервера и клиента

06 марта 2026 7 мин. чтения #dns #dns-сервер #freenas #homelab #self-hosted #truenas #резолвинг #сетевая настройка

Представь, что твоя домашняя или корпоративная сеть — это город. Адреса домов (IP-адреса) есть, но без табличек с названиями улиц (доменных имен) найти нужный сервер — та еще задача. TrueNAS DNS — это как раз та система навигации, которая превращает скучные цифры в понятные имена. Давай разберем, как настроить DNS и в роли клиента, и в роли полноценного сервера.

Что такое DNS в контексте TrueNAS?

В TrueNAS понятие "DNS" охватывает две основные роли:

  • DNS-клиент: Настройки, которые сама TrueNAS использует для преобразования доменных имен в IP-адреса (например, для обновлений, интеграции с Active Directory, работы приложений).
  • DNS-сервер: Развертывание службы DNS (например, через плагин или виртуальную машину) для обслуживания запросов от других устройств в твоей сети.
Важно: По умолчанию TrueNAS Core/SCALE не включает встроенный DNS-сервер типа BIND или dnsmasq. Это осознанное решение для безопасности и стабильности. Но его можно добавить.

Настройка DNS-клиента в TrueNAS

Это базовая и самая важная конфигурация. Без правильных DNS-серверов TrueNAS не сможет выходить в интернет, что сломает обновления, сертификаты и приложения.

Шаг 1: Глобальные настройки DNS

Перейди в System Settings → Network.

gui
# Альтернативно, настройки можно задать через CLI:
sudo cli
# Переход в конфигурацию сети
network general summary

В поле "Nameservers" укажи IP-адреса DNS-серверов. Рекомендую использовать:

  • Публичные: 1.1.1.1 (Cloudflare), 8.8.8.8 (Google).
  • Локальные: IP-адрес твоего роутера (например, 192.168.1.1) или внутреннего DNS-сервера.
Опасно: Не оставляй это поле пустым! Неправильные DNS приведут к невозможности разрешения имен и сбою многих служб.

Шаг 2: Настройка DNS для конкретного интерфейса

Если у тебя сложная сеть (VLAN, несколько шлюзов), настрой DNS для каждого интерфейса отдельно.

cli
# Просмотр интерфейсов
network interface query
# Обновление интерфейса (пример для ix0)
network interface update ix0 \
  --aliases-add \
  "192.168.1.10/24" \
  --ipv4-dhcp=false \
  --ipv6-auto=false \
  --nameservers="192.168.1.1 1.1.1.1"

Шаг 3: Настройка доменного суффикса (Search Domains)

Поле "Domains" в тех же настройках. Если у тебя локальный домен home.lab, добавь его сюда. Тогда при запросе nas система автоматически попробует nas.home.lab.

Развертывание DNS-сервера на TrueNAS

Хочешь, чтобы TrueNAS сама отвечала на DNS-запросы в твоей сети? Есть несколько путей.

Метод 1: Приложение "CoreDNS" или "AdGuard Home" (TrueNAS SCALE)

Самый простой способ. Идеально для homelab.

  1. Зайди в Apps, найди "CoreDNS" или "AdGuard Home".
  2. При установке важно настроить сетевое взаимодействие:
    • Используй Host Network или пробрось порт 53 (UDP/TCP).
    • Настрой статический IP из твоей подсети.
  3. Пример конфига CoreDNS (Corefile):
config
. {
    forward . 1.1.1.1 8.8.8.8
    cache
    log
    errors
}

# Локальная зона
home.lab {
    file /config/db.home.lab
    reload 30s
}

Файл зоны db.home.lab:

dns-zone
$ORIGIN home.lab.
$TTL 3600
@ IN SOA ns1.home.lab. admin.home.lab. (
    2024010101 ; serial
    7200       ; refresh
    3600       ; retry
    1209600    ; expire
    3600       ; minimum TTL
)

@        IN NS   ns1
ns1      IN A    192.168.1.10
nas      IN A    192.168.1.10
proxy    IN A    192.168.1.20

Метод 2: Виртуальная машина с BIND (TrueNAS Core/SCALE)

Для максимального контроля. Создай VM (например, с Alpine Linux) и установи BIND9.

bash
# Внутри виртуальной машины
apk add bind
rc-service named start
rc-update add named

Сравнение методов развертывания DNS-сервера

Метод Сложность Гибкость Идеально для
Приложение (CoreDNS) Низкая Средняя Homelab, быстрый старт
Приложение (AdGuard Home) Низкая Высокая (есть фильтрация рекламы) Сети с блокировкой рекламы
Виртуальная машина (BIND) Высокая Максимальная Продвинутые сценарии, изучение DNS

Интеграция DNS с другими службами TrueNAS

Active Directory

При присоединении к домену TrueNAS обязательно должен резолвить имена контроллеров домена. Убедись, что в Nameservers указаны DNS-серверы домена (обычно это сами DC).

cli
# Проверка резолвинга домена перед присоединением
directoryservices check_join \
  --domain "DOMAIN.LOCAL" \
  --username "Administrator" \
  --password "P@ssw0rd"

Docker-контейнеры и Kubernetes (TrueNAS SCALE)

Приложения в SCALE могут иметь проблемы с DNS, если сетевые настройки хоста неверны. Решение — использовать пользовательские DNS-серверы в настройках приложения.

yaml
# Пример для docker-compose вручную
services:
  myapp:
    image: nginx
    dns:
      - 192.168.1.1
      - 1.1.1.1

Диагностика проблем с DNS в TrueNAS

Что делать, если имена не резолвятся?

  1. Проверь базовую связность: ping 8.8.8.8.
  2. Протестируй DNS прямо с TrueNAS:
bash
# Используй встроенные утилиты через Shell
host github.com
nslookup github.com
# Или более подробно
drill github.com @1.1.1.1
  1. Проверь конфигурационные файлы:
bash
cat /etc/resolv.conf
# Убедись, что здесь правильные nameservers
# В TrueNAS этот файл генерируется автоматически из GUI-настроек.
  1. Перезапусти сетевые службы (крайняя мера):
bash
midclt call network.general.reload

Часто задаваемые вопросы (FAQ)

Почему после перезагрузки TrueNAS сбрасываются мои DNS-настройки в /etc/resolv.conf?

Файл /etc/resolv.conf управляется самой TrueNAS. Все изменения через веб-интерфейс или корректные CLI-команды сохраняются в конфигурационную базу и применяются при загрузке. Не редактируй этот файл вручную — изменения будут потеряны.

Можно ли использовать TrueNAS как DNS-сервер для всей домашней сети?

Да, абсолютно. Разверни приложение CoreDNS или AdGuard Home, настрой локальные зоны и укажи на роутере или на всех клиентах в качестве основного DNS-сервера IP-адрес твоего TrueNAS. Это даст тебе полный контроль над именами в локальной сети.

Как настроить обратный DNS-запрос (PTR) для сервисов TrueNAS?

PTR-записи настраиваются на том DNS-сервере, который является авторитативным для твоей IP-подсети (обычно это роутер или корпоративный DNS). Если ты поднял свой DNS-сервер на TrueNAS, добавь соответствующую reverse-зону в его конфигурации.

Почему Docker-контейнеры в TrueNAS SCALE не могут разрешить имена?

Частая проблема. Проверь:

  • Глобальные DNS-настройки TrueNAS.
  • Настройки сети самого приложения (Apps -> Выбери приложение -> Edit -> Сетевые настройки). Попробуй явно указать DNS-серверы.
  • Не используй DNS-серверы вида 127.0.0.1 для контейнеров, если на хосте не поднят DNS-сервер.

Заключение

Настройка DNS в TrueNAS — не роскошь, а необходимость. Начни с правильной конфигурации DNS-клиента: укажи надежные серверы и доменные суффиксы. Это фундамент. Если же ты хочешь больше контроля, разверни легковесный DNS-сервер в виде приложения — это займет 15 минут, но кардинально улучшит управление твоей сетью. Помни, что DNS — это как телефонная книга твоей инфраструктуры: если она составлена верно, все работает быстро и предсказуемо.

Профессиональный совет: В продакшн-средах всегда настраивай как минимум два DNS-сервера (основной и резервный) и в клиентских настройках TrueNAS, и в своем собственном DNS-сервере (в качестве форвардеров). Это обеспечит отказоустойчивость.
Поделиться:
Сохранить гайд? В закладки браузера