Настройка hostname и DNS сервера: пошаговое руководство
Установка hostname с hostnamectl, настройка /etc/hosts и /etc/resolv.conf, настройка FQDN, важность PTR-записи и тестирование с dig/nslookup.
Содержание
Настройка hostname и DNS сервера: пошаговое руководство
Имя хоста и конфигурация DNS вашего сервера составляют основу сетевого взаимодействия. Неправильно настроенное имя хоста может вызвать проблемы с доставкой электронной почты, путаницу в записях журналов и неправильную работу некоторых приложений. В этом руководстве рассматриваются настройка имени хоста, конфигурация DNS и шаги проверки.
Что такое hostname?
Имя хоста — это имя, идентифицирующее ваш сервер в сети. Существует два типа:
- Короткое имя хоста: только имя машины (например,
webserver01) - FQDN (Fully Qualified Domain Name): полное доменное имя (например,
webserver01.rexe.tr)
FQDN объединяет имя хоста с доменным именем и однозначно идентифицирует ваш сервер в интернете.
Всегда используйте FQDN на производственных серверах. Это критически важно для почтовых серверов, SSL-сертификатов и управления журналами.
Просмотр текущего hostname
# Короткое имя хоста
hostname
# FQDN
hostname -f
# Вся информация об имени хоста
hostnamectl
Установка hostname с помощью hostnamectl
hostnamectl — современный инструмент управления именем хоста на системах с systemd.
# Установить имя хоста
sudo hostnamectl set-hostname webserver01
# Установить имя хоста с FQDN
sudo hostnamectl set-hostname webserver01.rexe.tr
# Проверить изменение
hostnamectl
# Применить изменение, открыв новую оболочку
exec bash
Типы имён хостов
# Статическое имя хоста (постоянное, записывается в /etc/hostname)
sudo hostnamectl set-hostname webserver01 --static
# Временное имя хоста (сбрасывается при перезагрузке)
sudo hostnamectl set-hostname webserver01 --transient
# Красивое имя хоста (для отображения)
sudo hostnamectl set-hostname "Web Server 01" --pretty
Файл /etc/hostname
Имя хоста постоянно хранится в /etc/hostname:
# Просмотр файла
cat /etc/hostname
# Ручное редактирование
sudo nano /etc/hostname
webserver01
Записывайте в /etc/hostname только короткое имя хоста, не FQDN. Конфигурация FQDN выполняется в /etc/hosts.
Настройка /etc/hosts
Файл /etc/hosts — локальная таблица разрешения имён, проверяемая перед DNS-запросами.
# Просмотр файла
cat /etc/hosts
# Редактирование
sudo nano /etc/hosts
Правильная конфигурация /etc/hosts
127.0.0.1 localhost
127.0.1.1 webserver01.rexe.tr webserver01
# Реальный IP-адрес сервера
203.0.113.100 webserver01.rexe.tr webserver01
# IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Строка 127.0.1.1 используется для FQDN на системах Ubuntu/Debian. На системах CentOS/RHEL используйте реальный IP-адрес.
Сценарии использования /etc/hosts
# Локальная среда разработки
192.168.1.10 db.local database
192.168.1.20 cache.local redis
# Блокировка определённого домена
0.0.0.0 ads.example.com
# Псевдоним для быстрого доступа
10.0.0.5 prod-db production-database
Конфигурация DNS в /etc/resolv.conf
/etc/resolv.conf определяет DNS-серверы системы.
# Просмотр текущей конфигурации DNS
cat /etc/resolv.conf
Пример resolv.conf
# DNS-серверы
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 1.1.1.1
# Домен поиска (для коротких имён)
search rexe.tr
# Домен
domain rexe.tr
# Максимальное количество попыток DNS
options attempts:3
# Тайм-аут DNS (секунды)
options timeout:2
Управление DNS с помощью systemd-resolved
На Ubuntu 18.04+ и современных системах Debian DNS управляется systemd-resolved:
# Просмотр статуса DNS
resolvectl status
# Запрос DNS для конкретного домена
resolvectl query rexe.tr
# Очистка кэша DNS
resolvectl flush-caches
# Постоянная настройка DNS с systemd-resolved
sudo nano /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1
Domains=rexe.tr
DNSSEC=no
DNSOverTLS=no
# Перезапустить службу
sudo systemctl restart systemd-resolved
Настройка FQDN
Выполните следующие шаги для правильной настройки FQDN:
# 1. Установить имя хоста
sudo hostnamectl set-hostname webserver01
# 2. Отредактировать /etc/hosts
sudo nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 webserver01.rexe.tr webserver01
203.0.113.100 webserver01.rexe.tr webserver01
# 3. Проверить FQDN
hostname -f
# Вывод: webserver01.rexe.tr
# 4. Проверить короткое имя хоста
hostname -s
# Вывод: webserver01
# 5. Проверить IP-адрес
hostname -I
Важность PTR-записи (обратный DNS)
PTR-запись — это запись обратного DNS, которая разрешает IP-адрес в имя хоста.
Почему PTR-записи важны
- Доставка электронной почты: спам-фильтры отклоняют письма с IP без PTR-записей
- Безопасность: инструменты сетевой безопасности проверяют PTR-записи
- Анализ журналов: видеть имена хостов вместо IP упрощает чтение журналов
- Некоторые службы: FTP, IRC и подобные службы могут требовать PTR-записи
Настройка PTR-записи
PTR-записи устанавливаются провайдером или хостинг-провайдером, которому принадлежит ваш IP-адрес. Вы можете управлять PTR-записью через панель клиента REXE.
# Проверить текущую PTR-запись
dig -x 203.0.113.100
# или
nslookup 203.0.113.100
Тестирование DNS с помощью dig
dig — наиболее мощный инструмент для тестирования DNS-запросов.
# Запрос A-записи
dig rexe.tr A
# Запрос MX-записи
dig rexe.tr MX
# Запрос NS-записи
dig rexe.tr NS
# Использовать конкретный DNS-сервер
dig @8.8.8.8 rexe.tr A
# Краткий вывод
dig +short rexe.tr A
# Запрос обратного DNS
dig -x 203.0.113.100
# Проверить распространение DNS
dig +trace rexe.tr
Тестирование DNS с помощью nslookup
# Базовый запрос
nslookup rexe.tr
# С конкретным DNS-сервером
nslookup rexe.tr 8.8.8.8
# Обратный DNS
nslookup 203.0.113.100
# Интерактивный режим
nslookup
> server 8.8.8.8
> set type=MX
> rexe.tr
> exit
Устранение неполадок
Изменение hostname не применяется
# Запустить новую оболочку
exec bash
# или перезагрузить систему
sudo reboot
# Проверить /etc/hostname
cat /etc/hostname
DNS-разрешение не работает
# Проверить DNS-подключение
dig @8.8.8.8 google.com
# Проверить resolv.conf
cat /etc/resolv.conf
# Проверить статус systemd-resolved
systemctl status systemd-resolved
# Проверить nsswitch.conf
cat /etc/nsswitch.conf | grep hosts
При проблемах с DNS сначала проверьте /etc/hosts, затем /etc/resolv.conf. Строка hosts в nsswitch.conf определяет порядок разрешения.
Заключение
Правильная настройка имени хоста и DNS — один из краеугольных камней управления сервером. Правильная настройка FQDN на серверах REXE критически важна для доставки электронной почты, SSL-сертификатов и конфигурации приложений. Вы можете использовать панель клиента REXE, чтобы убедиться в правильной настройке PTR-записи.
Связанные статьи
Подключение к VDS по SSH: PuTTY, терминал и SSH-ключи
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Подключение к Windows VDS по RDP: полное руководство
Пошаговое руководство по RDP-подключению к Windows Server VDS: настройка, безопасность NLA, правило фильтрации Path Panel и устранение неполадок.
Смена ОС VDS-сервера: пошаговое руководство (Reinstall)
Смена операционной системы VDS через панель REXE: советы по резервному копированию, поддерживаемые дистрибутивы Linux и версии Windows Server.