Настройка NTP сервера на Debian / Ubuntu сервере

Дата публикации: 26-06-2014 | Автор: MelfisFettel | Рубрика: Ubuntu Server

Установка и настройка NTP сервера для локальной сетиNTP сервер достаточно полезная штука которая позволит раздать «время» компьютерам в локальной сети. Это очень полезно, особенно в случае использования программ семейства 1С, которые не очень любят если время на клиентах или на сервере различается. Самым простым и наиболее популярным сервером времени в nix системах
я считаю NTP сервер. NTP сервер по идее уже идет при базовой установке системы, на всякий случай произведем установку перед настройкой
сервера NTP на базе Ubuntu Server.

Для начала произведем установку сервера NTP на Ubuntu Server:

1
2
sudo apt-get update
sudo apt-get install ntp
sudo apt-get update
sudo apt-get install ntp

все зависимости будут подтянуты.

Далее необходимо остановить NTP сервер если он запустился:

1
sudo /etc/init.d/ntpd stop
sudo /etc/init.d/ntpd stop

Теперь займемся конфигурированием NTP сервера на базе Ubuntu. Для этого на всякий случай скопируем конфиг и создадим новый:

1
2
3
4
sudo cp /etc/ntp.conf /etc/ntp.conf.bak
sudo rm /etc/ntp.conf
sudo touch /etc/ntp.conf
sudo nano /etc/ntp.conf
sudo cp /etc/ntp.conf /etc/ntp.conf.bak
sudo rm /etc/ntp.conf
sudo touch /etc/ntp.conf
sudo nano /etc/ntp.conf

Теперь запишем в него следующую конфигурацию:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#Список серверов для синхронизации времени
server 0.ru.pool.ntp.org iburst prefer #Этот сервер будет основным для синхронизации
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
 
#Отключим мониторинг
disable monitor
 
#Файл смещения
driftfile /var/db/ntpd.drift
#Файл логов NTP сервера
logfile /var/log/ntpd.log
 
#Разрешим изменять время нашего сервера через локальный интерфейс
restrict 127.0.0.1
 
#Разрешим изменение времени с выбранных нами серверов
restrict 0.ru.pool.ntp.org noquery notrap
restrict 1.ru.pool.ntp.org noquery notrap
restrict 2.ru.pool.ntp.org noquery notrap
restrict 3.ru.pool.ntp.org noquery notrap
 
#Наконец разрешим доступ к серверу времени только из нашей локальной сети
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap nopeer
 
#Если необходимо, то откроем доступ отовсюду. (Это так же даст доступ к вашему NTP серверу из сети интернет, если сервер к нему подключен и к нему открыт доступ)
#restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap nopeer
#Список серверов для синхронизации времени
server 0.ru.pool.ntp.org iburst prefer #Этот сервер будет основным для синхронизации
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst

#Отключим мониторинг
disable monitor

#Файл смещения
driftfile /var/db/ntpd.drift
#Файл логов NTP сервера
logfile /var/log/ntpd.log

#Разрешим изменять время нашего сервера через локальный интерфейс
restrict 127.0.0.1

#Разрешим изменение времени с выбранных нами серверов
restrict 0.ru.pool.ntp.org noquery notrap
restrict 1.ru.pool.ntp.org noquery notrap
restrict 2.ru.pool.ntp.org noquery notrap
restrict 3.ru.pool.ntp.org noquery notrap

#Наконец разрешим доступ к серверу времени только из нашей локальной сети
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap nopeer

#Если необходимо, то откроем доступ отовсюду. (Это так же даст доступ к вашему NTP серверу из сети интернет, если сервер к нему подключен и к нему открыт доступ)
#restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap nopeer

Если вам необходим другая временная зона, можете выбрать ее тут: (Для России), или тут (Полный список стран)

Сохраняем файл конфигурации NTP сервера, и запускаем наш сервер NTP:

1
sudo /etc/init.d/ntpd start
sudo /etc/init.d/ntpd start

Проверьте файл логов на наличие ошибок, если все хорошо, то вам достаточно подождать минут 10-15, до того как сервер автоматически синхронизируется
с выбранными серверами. Для того что бы это проверить, введите:

1
ntpq -c peers
ntpq -c peers

Знак + перед адресом указывает на сервер с которым была последняя синхронизация.
Так же можно синхронизироватся с самим собой:

1
ntpdate -q localhost
ntpdate -q localhost

или синхронизироватся с выбранным сервером:

1
ntpdate адрес_сервера #Наприммер 0.ru.pool.ntp.org
ntpdate адрес_сервера #Наприммер 0.ru.pool.ntp.org

Если вам нужно сменить временную зону, то необходимо заменить файл /etc/localtime, для этого достаточно удалить старый файл, и выбрать необходимую зону из каталога /usr/share/zoneinfo/. Напирмер у меня зона Екатеринбург, и я меняю ее на Москву:

1
2
sudo rm -rf /etc/localtime
sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
sudo rm -rf /etc/localtime
sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Синхронизация Windows с NTP сервером на Linux

Интересная вещь, если в среде Windows в настройках времени, ввести адрес вашего сервера NTP, то Windows система не сможет синхронизировать время с серером NTP на Linux. Но и это достаточно просто решить. Для синхронизации Windows систем через NTP сервер установленный на Linux (Debian, Ubuntu и пр.) можно использовать командную строку:

1
net time \\IP_АДРЕС_СЕРВЕРА_NTP /set /yes 
net time \\IP_АДРЕС_СЕРВЕРА_NTP /set /yes 

И рабочая станция под Windows синхронизируется с вашим NTP сервером на Linux системе. Как вариант, создать bat файл, и добавить его в автозагрузку Windows. После чего, синхронизация времени будет происходить при каждой загрузке ОС.

Понравилась статья? Расскажи друзьям:


Комментариев (3)

у меня виндовые машины вполне нормально синхронизируюся

Спасибо! Всё отлично работает.

Спасибо!

Обсудить