Делаем свой сервер времени на FreeBSD

Иметь точное время на сервере надо всегда, а если сервер ещё обслуживает другие пк в сети, то в пору задуматься о своём сервере времени — 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

Должны увидеть нечто похожее на:

команды, freebsd, настройка, установка, сервер, server, ubuntu

Здесь
символы перед 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»

команды, freebsd, настройка, установка, сервер, server, ubuntu

И кстати, не забудьте открыть на фаерволе порт udp 123, иначе все телодвижения были бесполезны.

Добавить комментарий