Настройка синхронизации времени в сети в Debian Linux.

Проблема синхронизации времени в сети

Всё ведь было хорошо, всё отлично работало — и тут вы замечаете, что часы на компьютерах вашей сети показывают разное время. Что же теперь делать?
Как произвести синхронизацию времени в сети?
Решение для объектов без «особых» требований к точности времени: ставим программу ntp, позволяющую быстро синхронизировать часы локального компьютера с серверами точного времени Интернета. Теперь часы компьютеров вашей сети будут всегда показывать точное время. А вот для ответственных приложений с повышенными требованиями синхронизация времени по сети Интернет не подходит. Для таких объектов необходим источник эталонного времени, расположенный непосредственно в вашей локальной сети.

Быстро синхронизируем время

Сначала нам бы однократно синхронизировать часы, а уж потом думать о том, как это свалить на компьютер. В Debian GNU/Linux это делается (как и всё прочее) очень просто. Ставим пакеты:
#apt-get install ntp ntpdate
Теперь выбираем сервер точного времени, поближе к вам и не очень загруженный. Список таких серверов можно посмотреть здесь. После чего сервер времени (вместо указанного сервера можно выбрать другой из списка) не мешало бы пощупать:
# ntpdate ntp.remco.org
На что он ответит примерно следующее:
18 Aug 17:32:35 ntpdate[3558]: step time server 80.127.4.179 offset -358.420872 sec
То есть насколько наши часы отстают от правильных. Это мы сейчас устраним. Теперь однократно синхронизируемся с часами на сервере точного времени:
# ntpdate -bs ntp.remco.org
Всё, ваши часы теперь идут точно.
Опять-таки, кроме этого сервера есть ещё куча других, выбирайте ближайший к вам.

Сваливаем синхронизацию времени на компьютер

В принципе, для отдельно стоящей машины можно написать простенький скрипт и запускать время от времени. Дело в том, что если ставить ntp-server на локальной машине, он будет каждый раз при загрузке пытаться связаться с сервером точного времени. Это чревато увеличением времени загрузки на минуту, а то и более. Если уж так хочется — ищем в районе прямой видимости UNIX-машину, постоянно подключенную к Интернету, и ставим сервер туда, а потом используем её как локальное зеркало точного времени.
Ставим пакет:
#apt-get install ntp-server
После этого лезем в конфиг /etc/ntp.conf и прописываем там правильное зеркало точного времени, например:

server ntplocal.example.com prefer server timeserver.example.org server ntp2a.example.net

А можно не лазить, настройки по умолчанию (в Debian, по крайней мере) разумны. При следующей перезагрузке / перезапуске ntp ваши часы снова синхронизируются.