Настройка сервера для синхронизации времени в сети, не особенно сложна.
Их список можно посмотреть здесь, например пул для Украины
Можно также проверить ответы от серверов
ntp.conf
Параметрами server мы зададим, какие сервера использовать для синхронизации.
Естественно, что мы будем использовать пул серверов времени. Для синхронизации должно быть доступно минимум 3 сервера, иначе Ваш сервер получит stratum 16, в результате чего синхронизация с ним будет невозможна.
Для безопасности прописываем явным образом сервера, а затем разрешения для них.
Параметр driftfile задает файл, который используется для хранения смещения частоты системных часов.
Программа ntpd использует его для автоматической компенсации естественного смещения часов, позволяя ему поддерживать достаточно правильную настройку, даже если он на некоторый период отключается от внешнего источника информации о времени.
Создадим этот файл:
Прописываем автостарт
Ротация логов /etc/newsyslog.conf
Запуск вручную ntpd
Проверка списка серверов и их состояния (обычно требуется некоторое время ~ 10 мин.).
remote - имена удаленных ntp серверов (в нашем случае полученные из пулов 0/1/2/3.ua.pool.ntp.org)
Настраивать будем на FreeBSD. Также опишу пару команд по проверке сервера.
Во многих Unix системах демон ntpd уже установлен, FreeBSD не является исключением.
Для начала нужно определить NTP Public Pool с которого и будем обновляться.Во многих Unix системах демон ntpd уже установлен, FreeBSD не является исключением.
Их список можно посмотреть здесь, например пул для Украины
Можно также проверить ответы от серверов
# ntpdate -q 0.ua.pool.ntp.org
server 82.207.71.1, stratum 2, offset 1.760265, delay 0.03810
server 79.142.192.130, stratum 2, offset 1.765748, delay 0.02658
server 178.150.103.191, stratum 2, offset 1.764228, delay 0.04254
11 Mar 16:47:24 ntpdate[57519]: step time server 79.142.192.130 offset 1.765748 sec
ntp.conf
# cat /etc/ntp.conf
### UAIX pool
#server 0.ua.pool.ntp.org
server 91.203.15.142
server 62.149.0.30
server 91.198.10.4
#server 1.ua.pool.ntp.org
server 82.207.71.1
server 193.193.193.107
server 79.142.192.130
#server 2.ua.pool.ntp.org
server 178.150.103.191
server 91.198.10.1
server 82.207.71.2
#server 3.ua.pool.ntp.org
server 78.152.160.1
server 79.142.192.4
server 89.209.65.130
### Europe pool
#server europe.pool.ntp.org
server 188.40.81.201
server 192.121.13.59
server 87.106.98.153
# Разрешаем внешние сервера для синхронизации
restrict 91.203.15.142 mask 255.255.255.255 noquery notrap
restrict 62.149.0.30 mask 255.255.255.255 noquery notrap
restrict 91.198.10.4 mask 255.255.255.255 noquery notrap
restrict 82.207.71.1 mask 255.255.255.255 noquery notrap
restrict 193.193.193.107 mask 255.255.255.255 noquery notrap
restrict 79.142.192.130 mask 255.255.255.255 noquery notrap
restrict 178.150.103.191 mask 255.255.255.255 noquery notrap
restrict 91.198.10.1 mask 255.255.255.255 noquery notrap
restrict 82.207.71.2 mask 255.255.255.255 noquery notrap
restrict 78.152.160.1 mask 255.255.255.255 noquery notrap
restrict 79.142.192.4 mask 255.255.255.255 noquery notrap
restrict 89.209.65.130 mask 255.255.255.255 noquery notrap
restrict 188.40.81.201 mask 255.255.255.255 noquery notrap
restrict 192.121.13.59 mask 255.255.255.255 noquery notrap
restrict 87.106.98.153 mask 255.255.255.255 noquery notrap
### Drift file
driftfile /var/db/ntpd.drift
### Разрешаем клиентам синхронизроваться
restrict default ignore
restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
Параметрами server мы зададим, какие сервера использовать для синхронизации.
Естественно, что мы будем использовать пул серверов времени. Для синхронизации должно быть доступно минимум 3 сервера, иначе Ваш сервер получит stratum 16, в результате чего синхронизация с ним будет невозможна.
Для безопасности прописываем явным образом сервера, а затем разрешения для них.
Параметр driftfile задает файл, который используется для хранения смещения частоты системных часов.
Программа ntpd использует его для автоматической компенсации естественного смещения часов, позволяя ему поддерживать достаточно правильную настройку, даже если он на некоторый период отключается от внешнего источника информации о времени.
Создадим этот файл:
#touch /var/db/ntp.drift
Прописываем автостарт
# cat /etc/rc.conf
### NTPD
ntpd_enable="YES"
ntpd_config="/etc/ntpd.conf"
ntpd_flags="-l /var/log/ntpd.log -p /var/run/ntpd.pid -f /var/db/ntpd.drift"
# Обновление времени при старте системы
ntpd_sync_on_start="YES"
Ротация логов /etc/newsyslog.conf
### NTPD
/var/log/ntpd.log root:wheel 640 7 50 * JC /var/run/ntpd.pid
Запуск вручную ntpd
# /etc/rc.d/ntpd start
Проверка списка серверов и их состояния (обычно требуется некоторое время ~ 10 мин.).
#ntpq -c peers
или
#ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
shtucer.tntu.ed 62.149.0.30 2 u 48 64 3 15.950 3636.32 25.497
dfedor.vc.ukrte 192.36.143.150 2 u 49 64 3 13.107 3630.47 24.885
pechkin.vc.ukrt 192.38.7.240 2 u 47 64 3 12.582 3632.50 25.056
ourlan.netassis 62.149.2.1 3 u 47 64 3 9.852 3636.01 24.599
bray.walcz.net 193.120.142.71 2 u 43 64 3 63.515 3638.04 25.901
daupheus.com 91.121.121.160 3 u 45 64 3 45.973 3638.25 24.580
refid - сервер, с которым производит синхронизацию удаленный сервер ntp
st - стратум (уровень) удаленного сервера. 1 - самый высокий, эти сервера для вычисления точного времени используют специальное дорогостоящее оборудование; 16 - рядовая машина/клиент.
t - тип пира (u = unicast, m = multicast)
when - указывает на то, как давно была произведена синхронизация с сервером
poll - частота в секундах, с которой NTP демон синхронизируется с пиром
reach - состояние доступности сервера, это значение стабилизируется на уровне 377 если последних 8 попыток синхронизации с удаленным сервером были успешны
delay - он и в Африке delay - задержка (в миллисекундах) ответа от сервера
offset - разница в миллисекундах между системным временем и временем удаленного сервера; значение с минусом - отставание, с плюсом - наши часики спешат
jitter - смещение времени на удаленном сервере
Теперь немного о значках, следа от имени пира:
"*" - пир, с которым последний раз у нас была выполнена синхронизация
"+" - "хороший" (пригодный для обновления) сервер
"-" - "плохой" (непригодный для обновления) сервер
"х" - сервер не отвечает
Проверка, что отдает наш сервер
# ntpdate -q localhost
server 127.0.0.1, stratum 3, offset -0.000003, delay 0.02563
server ::1, stratum 0, offset 0.000000, delay 0.00000
23 Mar 16:26:50 ntpdate[91168]: adjust time server 127.0.0.1 offset -0.000003 sec
На остальных серверах прописываем в /etc/rc.conf
### NTP
ntpdate_enable="YES"
ntpdate_flags="-u -b xx.xx.xx.xx 3.ua.pool.ntp.org 1.ua.pool.ntp.org europe.pool.ntp.org"
Прописываем в /etc/crontab, обновлять часы каждую 1-ю минуту часа
# Synchroniz evry day
1 * * * * root /usr/sbin/ntpdate -u -b xx.xx.xx.xx 3.ua.pool.ntp.org 1.ua.pool.ntp.org europe.pool.ntp.org
Ссылки:
Ntpdate/Ntpd
NTP – атомные часы на каждом столе
Bog BOS: Network Time Protocol
Комментариев нет:
Отправить комментарий