На днях я обнаружил, что на домашнем сервере время убежало вперёд аж на 15 минут. Я был удивлён этим фактом, так как думал что в Linux происходит автоматическая синхронизация времени с NTP-серверами. В общем так оно и есть, но почему-то в Ubuntu 9.04 «Jaunty Jackalope» в конфигурационном файле /etc/default/ntpdate было указано:
1.# Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,2.# so you only have to keep it in one place.3.NTPDATE_USE_NTP_CONF=yesЧто означает, что нужно смотреть список серверов в файле /etc/ntp.conf, который появляется только после установки пакета ntp.
Видимо предполагается, что если этого файла не существует, то нужно
обращаться к серверам, указанным в этом же файле. Но у меня это
почему-то не происходило.
Из сложившейся ситуации я вижу как минимум два выхода:
- Установить пакет ntp;
- Исправить значение параметра с «yes» на «no».
В первом случае на сервере будет установлен NTP-сервер и появиться возможность синхронизировать время всех локальных компьютеров с ним (внеся изменения в параметр NTPSERVERS в файле /etc/default/ntpdate на компьютерах-клиентах). Этот вариант я и выбрал:
1.sudo aptitude install ntpДля домашней и корпоративной сети обновляться можно с серверов уровня 2 (stratum 2), которые в свою очередь синхронизируются с серверами уровня 1, а те в свою очередь сверяются с высокоточными часами, например, с системой GPS, ГЛОНАСС или атомным эталоном времени.
Сервера уровня два есть у каждого провайдера, а значит можно синхронизироваться с ними. Для того чтобы проверить какого уровня сервер нужно выполнить:
1.ntpdate -q ntp.ubuntu.comгде
ntp.ubuntu.com — сервер, указанный по-умолчанию в Ubuntu. Вместо него
этой команде можно передать имя любого другого NTP-сервера, или его
IP-адрес.
Ответ будет примерно таким:
1.ntpdate -q ntp.ubuntu.com2.server 91.189.94.4, stratum 2, offset -0.015269, delay 0.084233.20 Jul 07:44:10 ntpdate[2915]: adjust time server 91.189.94.4 offset -0.015269 secДля настройки NTP-сервера используется конфигурационный файл /etc/ntp.conf.
Для добавления дополнительных NTP-серверов вставьте строки в формате «server "address”». Мой список серверов выглядит так:
1.# You do need to talk to an NTP server or two (or three).2.server ntp21.imvp.ru3.server ntp.ubuntu.comПосле внесения изменений в файл /etc/ntp.conf необходимо перезапустить NTP:
1.sudo /etc/init.d/ntp restartТак как NTP использует 123 udp-порт для соединения с NTP сервером, то может понадобиться добавить правила в фаервол:
1.# NTP outgoing client request2.iptables -A output -p udp -s 192.168.1.1 --sport 1024:65535 -d 0/0 --dport 123 -m state --state NEW,ESTABLISHED -j ACCEPT3.iptables -A input -p udp -s 0/0 --sport 123 -d 192.168.1.1 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPTТеперь NTP-сервер настроен и с ним можно сверяться.







