Подробный гайд: Настройка разрешения имён и статических IP-адресов - Часть 2
10. Когда hosts подходит, а когда нужен локальный DNS
hosts подходит, если:
- у вас 1–2 устройства;
- нужно имя только на одном компьютере;
- сеть небольшая и редко меняется;
- нужно быстро проверить работу имени.
Локальный DNS нужен, если:
- устройств много;
- имена должны работать для всех клиентов сети;
- есть серверы, NAS, принтеры;
- нужно централизованно управлять именами;
- нужно использовать внутренний домен, например
lan,home,office.
11. Настройка локального DNS-сервера
Локальный DNS-сервер позволяет всем устройствам в сети разрешать внутренние имена.
Например:
server.lan → 192.168.1.50
nas.lan → 192.168.1.60
printer.lan → 192.168.1.70
Популярные варианты:
dnsmasq
Unbound
Pi-hole
AdGuard Home
Для простых сетей чаще всего удобен dnsmasq.
12. Настройка dnsmasq
12.1. Установка
Debian/Ubuntu:
sudo apt update
sudo apt install dnsmasq
RHEL-подобные системы:
sudo dnf install dnsmasq
или:
sudo yum install dnsmasq
12.2. Основной файл конфигурации
Обычно это:
/etc/dnsmasq.conf
Можно создать отдельный файл:
sudo nano /etc/dnsmasq.d/local.conf
12.3. Пример: только локальные имена без DHCP
Если DHCP раздаёт роутер, а dnsmasq используется только для имён:
listen-address=192.168.1.1
bind-interfaces
domain=lan
local=/lan/
address=/server.lan/192.168.1.50
address=/nas.lan/192.168.1.60
address=/printer.lan/192.168.1.70
12.4. Пример: dnsmasq как DHCP и DNS
Если сервер должен раздавать адреса и имена:
interface=eth0
bind-interfaces
domain=lan
local=/lan/
expand-hosts
dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h
dhcp-authoritative
dhcp-option=6,192.168.1.1
dhcp-host=52:54:00:aa:bb:cc,192.168.1.50,server
address=/server.lan/192.168.1.50
address=/nas.lan/192.168.1.60
address=/printer.lan/192.168.1.70
Где:
dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h
означает:
Выдавать адреса с 192.168.1.100 по 192.168.1.200
Маска 255.255.255.0
Срок аренды 12 часов
Строка:
dhcp-host=52:54:00:aa:bb:cc,192.168.1.50,server
означает:
Устройство с MAC 52:54:00:aa:bb:cc всегда получает 192.168.1.50 и имя server
12.5. Проверка конфигурации
sudo dnsmasq --test
Ожидаемый вывод примерно такой:
syntax check OK
12.6. Перезапуск службы
sudo systemctl restart dnsmasq
Проверка статуса:
sudo systemctl status dnsmasq
13. Настройка DNS-записей в Unbound
Unbound — полноценный рекурсивный DNS-сервер. Подходит, если нужен отдельный локальный DNS без лишних функций.
Пример файла конфигурации:
sudo nano /etc/unbound/unbound.conf.d/lan.conf
Пример:
server:
interface: 0.0.0.0
access-control: 192.168.1.0/24 allow
domain-insecure: "lan"
local-zone: "lan." static
local-data: "server.lan A 192.168.1.50"
local-data: "nas.lan A 192.168.1.60"
local-data: "printer.lan A 192.168.1.70"
Проверка конфигурации:
sudo unbound-checkconf
Перезапуск:
sudo systemctl restart unbound
Проверка:
dig @192.168.1.50 server.lan
или:
nslookup server.lan 192.168.1.50
14. Настройка разрешения имён через mDNS
mDNS позволяет использовать имена вида:
server.local
nas.local
printer.local
Часто используется в домашних сетях, в Linux через Avahi, в macOS через Bonjour.
Linux
Установить:
sudo apt install avahi-daemon
или:
sudo dnf install avahi
Включить:
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon
Проверка имени:
hostnamectl
Например, если имя хоста:
server
то устройство может быть доступно как:
server.local
Проверка:
ping -c 3 server.local
Важно про .local
Зона .local зарезервирована для mDNS.
Если вы используете внутренний домен, лучше выбрать другой вариант:
lan
home
office
corp.lan
internal
Примеры имён:
server.lan
nas.lan
printer.office
15. Настройка клиентских устройств на использование локального DNS
Чтобы клиенты использовали ваш локальный DNS, они должны получать его адрес.
15.1. Если DNS раздаёт роутер
В DHCP-настройках роутера укажите:
DNS Server: 192.168.1.1
или адрес вашего локального DNS-сервера:
DNS Server: 192.168.1.50
15.2. Если DNS раздаёт dnsmasq
В dnsmasq это может выглядеть так:
dhcp-option=6,192.168.1.1
или, если DNS-сервер сам сервер:
dhcp-option=6,192.168.1.50
15.3. Вручную на клиенте
На клиентском компьютере можно указать DNS вручную:
192.168.1.1
или:
192.168.1.50
16. Приоритет разрешения имён
Когда компьютер пытается найти имя, обычно используется такой порядок:
1. Локальное имя хоста
2. Файл hosts
3. DNS
4. mDNS, если настроен
На практике порядок может немного отличаться в зависимости от ОС.
Важно помнить:
Файл hosts обычно имеет приоритет над DNS.
Это удобно для тестирования, но может мешать, если старая запись осталась на одном компьютере.
17. Проверка настройки
17.1. Проверка IP-адреса
Windows
ipconfig /all
Linux
ip addr show
или:
ip -brief addr show
Роутер
Смотрите список клиентов:
DHCP Clients
LAN Status
Connected Devices
17.2. Проверка маршрута
Windows
route print
Linux
ip route show
Пример нормального вывода:
default via 192.168.1.1 dev eth0
17.3. Проверка связи по IP
Windows
ping 192.168.1.50
Linux
ping -c 4 192.168.1.50
17.4. Проверка связи по имени
Windows
ping server.lan
nslookup server.lan
Указать конкретный DNS:
nslookup server.lan 192.168.1.1
Linux
ping -c 3 server.lan
getent hosts server.lan
dig @192.168.1.1 server.lan
dig @192.168.1.1 server.lan +short
Если ответ:
192.168.1.50
значит разрешение имён работает.
18. Как проверить, какой DNS используется
Windows
ipconfig /all
Смотрите:
DNS-серверы
или:
nslookup
Затем:
server
Команда покажет DNS-сервер, который используется по умолчанию.
Linux
resolvectl status
или:
systemd-resolve --status
Также можно посмотреть:
cat /etc/resolv.conf
Но в современных системах с systemd-resolved файл /etc/resolv.conf может быть служебным, поэтому надёжнее использовать:
resolvectl status
19. Настройка имени хоста
Имя хоста — это имя самого компьютера или сервера.
19.1. В Linux
Посмотреть:
hostnamectl
Изменить:
sudo hostnamectl set-hostname server
Если нужен домен:
sudo hostnamectl set-hostname server.lan
Проверить:
hostnamectl
19.2. В Windows
Через интерфейс:
Параметры
Система
О системе
Переименовать этот ПК
Через PowerShell:
Rename-Computer -NewName "server" -Restart
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.