Linux: NTP сервер на CentOS
Цель: поднять NTP-сервер на базе интернет-шлюза для пользователей и прочих серверов локальной сети предприятия.
0. Проверяем версию пакета временных зон proxy-сервера и при необходимости обновляем его.
[root@proxy etc]# rpm -q tzdata tzdata-2012c-1.el6.noarch [root@proxy etc]#
Надо менять. Скачиваем свежий пакет временных зон с http://pkgs.org/download/tzdata, либо с иного источника.
На указанном ресурсе, например для CentOS 6 видим:
CentOS:
tzdata-2014g-1.el6.noarch.rpmTimezone data
CentOS Updates:
tzdata-2014h-1.el6.noarch.rpmTimezone data tzdata-2014i-1.el6.noarch.rpmTimezone data tzdata-2014j-1.el6.noarch.rpmTimezone data
Скачиваем и устанавливаем пакет.
[root@proxy]# rpm -Uvh tzdata-2014g-1.el6.noarch.rpm Подготовка... ########################################### [100%] 1:tzdata ########################################### [100%]
1. Устанавливаем необходимый часовой пояс, например Иркутский:
ln -sf /usr/share/zoneinfo/Asia/Irkutsk /etc/localtime
либо просто копируем
cp /usr/share/zoneinfo/Asia/Irkutsk /etc/localtime
2. Правим /etc/ntp.conf [root@proxy etc]# mcedit ntp.conf
Указываем публичные ntp-сервера по которым будем синхронизировать время
# Use public servers from the pool.ntp.org project.
server 0.centos.pool.ntp.org server 130.126.24.24 server 109.195.19.73 server 91.226.136.136
# Разрешить получение времени с peer-ов restrict 95.213.132.250 noquery notrap restrict 130.126.24.24 noquery notrap restrict 109.195.19.73 noquery notrap restrict 91.226.136.136 noquery notrap
# Разрешить клиентам локальной сети получать время с этого сервера restrict 192.168.1.0 mask 255.255.255.0 nopeer nomodify notrap restrict 10.25.0.0 mask 255.255.0.0 nopeer nomodify notrap
#fudge 127.127.1.0 stratum 10 fudge 127.127.1.0 stratum 3
# Определяем файл, в который будем писать логи logfile /var/log/ntpd.log
2. Настройка начальной, грубой синхронизации: /etc/ntp/step-tickers
Файл /etc/ntp/step-tickers хр1анит имена серверов с которыми производиться начальная корректировка. Если у вас никогда не бывает проблем с подключением к Internet, можно перечислить здесь имена ntp-серверов первичной грубой корректировки, например:
[root@proxy]# cat /etc/ntp/step-tickers ntp21.imvp.ru ntp.psn.ru
Но если в момент начальной загрузки инет по какой-либо причине недоступен, в процессе загрузки произойдет ощутимое зависание. Поэтому лучше оставить его пустым. В некоторых версиях пакета ntpd, чтобы в момент старта сервиса избежать сообщения об ошибке, можно указать в качестве сервера первичной синхронизации localhost.
Так с пустым файлом /etc/ntp/step-tickers рестарт сервиса выглядит следующим образом:
[root@proxy /]# service ntpd restart Shutting down ntpd: [ OK ] ntpd: Synchronizing with time server: [FAILED] Starting ntpd: [ OK ]
Вносим в /etc/ntp/step-tickers запись localhost
[root@proxy]# service ntpd restart Shutting down ntpd: [ OK ] ntpd: Synchronizing with time server: [ OK ] Starting ntpd: [ OK ]
Как таковая настройка завершена.
3. Проверяем. синхронизацию с серверами времени:
[root@proxy etc]# ntpq -np remote refid st t when poll reach delay offset jitter =================================================== *91.207.136.55 89.109.251.22 2 u 18 64 37 164.580 -23.587 0.646 +130.126.24.24 128.174.38.133 2 u 16 64 37 240.694 5.479 0.760 109.195.19.73 107.220.11.135 2 u 15 64 37 93.065 2.106 0.632 +91.226.136.136 41.56.176.218 2 u 16 64 37 102.265 3.062 0.424
свой стратум:
[root@proxy etc]# ntpdate -q localhost server 127.0.0.1, stratum 3, offset -0.000002, delay 0.02562 20 Nov 14:28:56 ntpdate[758]: adjust time server 127.0.0.1 offset -0.000002 sec
текущую установленную зону: [root@proxy etc]# cat /etc/sysconfig/clock |grep ZONE ZONE="Asia/Irkutsk"
активное расписание переходов на зимнее/летнее время для текущей зоны:
[root@proxy etc]# zdump -v Asia/Irkutsk|grep 2014 Asia/Irkutsk Sat Oct 25 16:59:59 2014 UTC = Sun Oct 26 01:59:59 2014 IRKT isdst=0 gmtoff=32400 Asia/Irkutsk Sat Oct 25 17:00:00 2014 UTC = Sun Oct 26 01:00:00 2014 IRKT isdst=0 gmtoff=28800 Видим, что переход на летнее время отсутствует, так как в противном случае должны быть еще 2 строки описывающие переход в марте. Значит на какой-то отрезок времени (а по заявлению президента - навсегда) мы застряли в дебильном зимнем времени.
4. Ставим ntpd в автозагрузку
[root@proxy]# chkconfig --add ntpd либо при помощи псевдографической утилиты [root@proxy]# ntsysv
5. Синхронизируем аппаратные часы с системными
[root@proxy]# hwclock --systohc
Корпоративный сервер времени готов.
Настройка дочерних Linux-серверов и linux-рабочих-мест пользователей локальной сети.
1. /etc/hosts -описываем proxy [root@s01]# cat /etc/hosts|grep proxy 10.25.25.25 proxy.kontora.ru proxy
2. Правим в /etc/ntp.conf всего одну строку: [root@s01]# cat ntp.conf |grep server server 10.25.25.25
3. Правим /etc/ntp/step-tickers
[root@s01]# cat step-tickers # List of servers used for initial synchronization. proxy
4. Ставим ntpd в автозагрузку
[root@s01]# chkconfig --add ntpd
5. Стартуем ntpd
[root@s01]# service ntpd restart Останавливается ntpd: [СБОЙ ] Запускается ntpd: [ OK ]
6. Проверяем
[root@s01]# ntpq -np remote refid st t when poll reach delay offset jitter ================================================= 10.25.25.25 109.195.19.73 3 u 65 64 3 0.367 3841500 2.697 [root@s01]#
7. Синхронизируем аппаратные часы с системными
[root@s01]# hwclock --systohc
Проверяем:
[root@s01]# date Срд Ноя 19 17:23:44 IRKT 2014
Готово.
P.S. При необходимости для принудительной синхронизации в cron вставляем команду:
ntpdate -s -b -p 8 proxy
|