Иметь точное время на сервере надо всегда, а если сервер ещё обслуживает другие пк в сети, то в пору задуматься о своём сервере времени — NTP. Ставить и настраивать будем на FreeBSD.
Приступим. Устанавливаем из портов:
cd /usr/ports/net/ntp/ make install clean rehash
Создаём и редактируем файл конфигурации демона:
touch /etc/ntp.conf ee /etc/ntp.conf
Содержимое этого файла должно быть примерно следующим:
#сервера с которыми будем сверяться: # prefer - приоритетный сервер server 193.125.143.173 iburst burst prefer server 213.79.103.146 iburst burst server 195.200.216.138 iburst burst server 85.21.78.6 iburst burst #файл смещения и логов driftfile /var/db/ntpd.drift logfile /var/log/ntpd.log #те, кому можно будет с нами взаимодействовать restrict default ignore #разрешим следующим серверам времени: restrict 193.125.143.173 restrict 213.79.103.146 restrict 195.200.216.138 restrict 85.21.78.6 #и localhost'у restrict 127.0.0.1 #разрешим пользоваться нашей службой компьютерам в сети restrict 10.36.1.0 mask 255.255.255.0 nomodify notrap
Теперь создадим те самые файлы для логов и смещения:
touch /var/log/ntpd.log touch /var/db/ntpd.drift
В /etc/rc.conf пропишем:
ntpd_enable="YES" ntpd_program="/usr/local/bin/ntpd"
Запускаем демона:
/etc/rc.d/ntpd start
После запуска сервера нужно подождать немного, минут 15.
Проверим, работает ли наш сервер времени:
ntpdate -q localhost
Должны увидеть, что то вроде:
server 127.0.0.1, stratum 4, offset -0.000011, delay 0.02568 2 Nov 21:10:06 ntpdate[2130]: adjust time server 127.0.0.1 offset -0.000011 sec
если видите:
server ip_адрес, stratum 0, offset 0.000000, delay 0.00000 1 Nov 23:19:03 ntpdate[40529]: no server suitable for synchronization found
значит не работает.
Узнать эти же параметры, но на другом сервере в интернете можно командой:
ntpdate -q 0.ru.pool.ntp.org
Так же проверить синхронизацию можно выполнив:
ntpq -p
Должны увидеть нечто похожее на:
Здесь
символы перед remote серверами
* — значит, что с него мы синхронизировались последний раз
+ — подходящий для обновления сервер
– — не подходящий для обновления сервер
x — сервер не доступен
столбец delay — задержка в миллисекундах
столбец when показывает, когда последний раз обновлялись мы с этого сервера.
Найти ближний к вам сервер, с которым вам лучше синхронизироваться можно здесь. Там вы найдёте нужные вам сервера в зависимости от расположения вашего сервера, будь то Европа, Азия, Северная Америка и другие точки на планете. Но обратите внимание на то, что в конфигурационном файле я указывал их IP адреса, т.к. при обращении по имени, синхронизация не работает. Объяснить я это могу тем, что одно доменное имя сервера имеет несколько IP адресов. Я пропинговал несколько раз один из серверов, посмотрел до какого ИП адреса сигнал доходит быстрее и вписывал эти адреса.
Узнать нынешнее время на вашем сервере можно, выполнив:
touch /tmp/time && ls -lT /tmp/time | awk '{print $9, $6, $7, $8}' && rm /tmp/time
Для настройки FrssBSD в качестве клиента синхронизации в /etc/rc.conf надо вписать:
ntpdate_enable="YES" ntpdate_program="/usr/sbin/ntpdate" ntpdate_flags="-u имя_серве_ntp"
Для настройки Windows XP в качестве клиента синхронизации, жмём по часикам в трее, на вкладке «internet time» вписываете ваш сервер в отведённое поле, нажимаете «update now»
И кстати, не забудьте открыть на фаерволе порт udp 123, иначе все телодвижения были бесполезны.