Представь, что твоя домашняя или корпоративная сеть — это город. Адреса домов (IP-адреса) есть, но без табличек с названиями улиц (доменных имен) найти нужный сервер — та еще задача. TrueNAS DNS — это как раз та система навигации, которая превращает скучные цифры в понятные имена. Давай разберем, как настроить DNS и в роли клиента, и в роли полноценного сервера.
Что такое DNS в контексте TrueNAS?
В TrueNAS понятие "DNS" охватывает две основные роли:
- DNS-клиент: Настройки, которые сама TrueNAS использует для преобразования доменных имен в IP-адреса (например, для обновлений, интеграции с Active Directory, работы приложений).
- DNS-сервер: Развертывание службы DNS (например, через плагин или виртуальную машину) для обслуживания запросов от других устройств в твоей сети.
Настройка DNS-клиента в TrueNAS
Это базовая и самая важная конфигурация. Без правильных DNS-серверов TrueNAS не сможет выходить в интернет, что сломает обновления, сертификаты и приложения.
Шаг 1: Глобальные настройки DNS
Перейди в System Settings → Network.
# Альтернативно, настройки можно задать через 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-сервера.
Шаг 2: Настройка DNS для конкретного интерфейса
Если у тебя сложная сеть (VLAN, несколько шлюзов), настрой DNS для каждого интерфейса отдельно.
# Просмотр интерфейсов
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.
- Зайди в Apps, найди "CoreDNS" или "AdGuard Home".
- При установке важно настроить сетевое взаимодействие:
- Используй
Host Networkили пробрось порт 53 (UDP/TCP). - Настрой статический IP из твоей подсети.
- Используй
- Пример конфига CoreDNS (
Corefile):
. {
forward . 1.1.1.1 8.8.8.8
cache
log
errors
}
# Локальная зона
home.lab {
file /config/db.home.lab
reload 30s
}
Файл зоны db.home.lab:
$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.
# Внутри виртуальной машины
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).
# Проверка резолвинга домена перед присоединением
directoryservices check_join \
--domain "DOMAIN.LOCAL" \
--username "Administrator" \
--password "P@ssw0rd"
Docker-контейнеры и Kubernetes (TrueNAS SCALE)
Приложения в SCALE могут иметь проблемы с DNS, если сетевые настройки хоста неверны. Решение — использовать пользовательские DNS-серверы в настройках приложения.
# Пример для docker-compose вручную
services:
myapp:
image: nginx
dns:
- 192.168.1.1
- 1.1.1.1
Диагностика проблем с DNS в TrueNAS
Что делать, если имена не резолвятся?
- Проверь базовую связность:
ping 8.8.8.8. - Протестируй DNS прямо с TrueNAS:
# Используй встроенные утилиты через Shell
host github.com
nslookup github.com
# Или более подробно
drill github.com @1.1.1.1
- Проверь конфигурационные файлы:
cat /etc/resolv.conf
# Убедись, что здесь правильные nameservers
# В TrueNAS этот файл генерируется автоматически из GUI-настроек.
- Перезапусти сетевые службы (крайняя мера):
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 — это как телефонная книга твоей инфраструктуры: если она составлена верно, все работает быстро и предсказуемо.