Start typing to search across invoices, services, domains, tickets, and more...
Новые серверы часто работают в UTC, и время в логах не совпадает с местным, а уплывшие часы ломают проверку HTTPS-сертификатов, задания cron и коды двухфакторной аутентификации. В этой статье разберём, как сменить часовой пояс в Linux через timedatectl, включить синхронизацию времени по NTP с chrony, изменить имя хоста и /etc/hosts и правильно указать DNS-серверы при systemd-resolved, NetworkManager или обычном resolv.conf. Подходит для Debian/Ubuntu и Rocky Linux/AlmaLinux.
Посмотрите текущее состояние и выберите пояс из списка: Europe/Moscow для Москвы, Asia/Hong_Kong для Гонконга, Asia/Tokyo для Японии. Если сервер обслуживает пользователей из разных регионов, вполне разумно оставить UTC. Смена пояса не меняет реальное время, только его отображение; долго работающие службы (PHP-FPM, MySQL) лучше перезапустить.
timedatectl # current time, time zone, NTP status
timedatectl list-timezones | grep -E 'Asia|UTC'
timedatectl set-timezone Asia/Hong_Kong # e.g. Asia/Tokyo, Asia/Shanghai, Europe/Moscow, UTC
timedatectl set-local-rtc 0 # keep the hardware clock in UTC
date
chrony точно держит время даже при нестабильной сети. На Rocky/AlmaLinux он стоит по умолчанию, а на Debian/Ubuntu при установке заменяет systemd-timesyncd. Строка с пометкой ^* — используемый источник, а chronyc tracking показывает текущее смещение.
# Debian / Ubuntu (replaces systemd-timesyncd)
apt install -y chrony
systemctl enable --now chrony
# Rocky Linux / AlmaLinux
dnf install -y chrony
systemctl enable --now chronyd
timedatectl set-ntp true
chronyc sources -v # "^*" marks the server currently in use
chronyc tracking # "System time" shows the current offset
Обычно пула дистрибутива достаточно. Чтобы задать конкретные серверы, отредактируйте строки pool/server в конфигурации chrony. Директива makestep разрешает скачкообразно поправить часы, если сразу после загрузки расхождение велико. Файрвол должен разрешать исходящий UDP 123.
# Config file: /etc/chrony/chrony.conf (Debian/Ubuntu) or /etc/chrony.conf (Rocky/AlmaLinux)
# Replace or add the server lines, for example:
pool pool.ntp.org iburst
server time.cloudflare.com iburst
makestep 1.0 3
# Apply and step the clock immediately if it is far off
systemctl restart chrony # chronyd on Rocky/AlmaLinux
chronyc makestep
hostnamectl применяет новое имя сразу и сохраняет его после перезагрузки. Затем добавьте имя в /etc/hosts, иначе sudo может писать «unable to resolve host», а почтовые и СУБД-службы — медленно стартовать. В образах с cloud-init включите preserve_hostname, чтобы имя не сбрасывалось при перезагрузке. В приглашении оболочки новое имя появится после переподключения по SSH.
hostnamectl set-hostname web01.example.com
hostnamectl
# /etc/hosts - make the new name resolve locally
127.0.0.1 localhost
127.0.1.1 web01.example.com web01 # Debian/Ubuntu convention
# or map it to the server's public IP:
# 203.0.113.10 web01.example.com web01
# Images with cloud-init: stop it from resetting the hostname on reboot
grep -n preserve_hostname /etc/cloud/cloud.cfg
sed -i 's/^preserve_hostname:.*/preserve_hostname: true/' /etc/cloud/cloud.cfg
Дистрибутивы управляют DNS по-разному, и ручная правка /etc/resolv.conf может пропасть после перезагрузки. Сначала проверьте, ссылка это или обычный файл и есть ли в начале комментарий «Generated by».
ls -l /etc/resolv.conf
# -> ../run/systemd/resolve/stub-resolv.conf : managed by systemd-resolved (Ubuntu)
# -> regular file "Generated by NetworkManager": managed by NetworkManager (Rocky/AlmaLinux)
# -> regular file without such comment : edited by hand (common on Debian)
resolvectl status 2>/dev/null | head -n 20
Выберите один способ по итогам предыдущего шага: drop-in файл для systemd-resolved на Ubuntu, nmcli на Rocky/AlmaLinux (имя подключения берите из nmcli con show) или прямая правка resolv.conf на классическом Debian. В конце проверьте разрешение имён через getent.
# A) systemd-resolved (Ubuntu and some Debian setups)
mkdir -p /etc/systemd/resolved.conf.d
cat > /etc/systemd/resolved.conf.d/dns.conf <<'EOF'
[Resolve]
DNS=1.1.1.1 8.8.8.8 2606:4700:4700::1111
FallbackDNS=9.9.9.9
EOF
systemctl restart systemd-resolved
resolvectl status
# B) NetworkManager (Rocky Linux / AlmaLinux)
nmcli -t -f NAME,DEVICE con show --active
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" ipv4.ignore-auto-dns yes
nmcli con up "System eth0"
# C) Plain /etc/resolv.conf (Debian with ifupdown)
cat > /etc/resolv.conf <<'EOF'
nameserver 1.1.1.1
nameserver 8.8.8.8
options timeout:2 attempts:2
EOF
# Test
getent hosts www.imidc.com
nmcli con up кратковременно перезапускает сетевой интерфейс, и ошибка в настройках может оборвать SSH-сессию. Проверьте имя подключения и по возможности работайте через консоль в личном кабинете (если она доступна).Чаще всего UDP 123 закрыт файрволом или DNS не разрешает имена NTP-серверов. Сначала проверьте DNS, затем разрешите исходящий UDP 123 или выберите доступные NTP-серверы.
Это локальная заглушка systemd-resolved, так и должно быть. Реальные вышестоящие серверы смотрите через resolvectl status, а меняйте способом A из шага 6.
Обычно нет, но обновите старое имя в настройках почтового сервера, aaPanel или прав доступа к базе данных. Имя почтового сервера также должно совпадать с записью rDNS (PTR) — см. статью про rDNS/PTR.
Если проблема не решена, создайте тикет — техническая поддержка IMIDC работает 24/7. Укажите IP сервера, версию ОС, выполненные команды и полный текст ошибки, чтобы мы быстрее нашли причину.