Настройка сервера синхронизации времени debian. Базовая настройка сервера Debian после установки. Установка утилит mc, htop, iftop

13.06.2021

Я использую операционную систему Debian GNU/Linux на серверах для хостинга сайтов. Когда летом 2017 года вышла версия 9 Stretch, я обрадовался тому, что для нее в репозиториях «из коробки» был доступен PHP 7. Который, как известно, работает быстрее PHP 5.

В этой статье я покажу, что и с настройкой времени на Debian 9 так же стало лучше, не нужно ничего качать и устанавливать дополнительно, в частности демон ntp или утилиту ntpdate. Все отлично настраивается и работает на стандартном наборе ПО Debian 9 благодаря обновлённой версии systemd , в котором имеется отдельная служба, отвечающая за синхронизацию времени системы по протоколу NTP .

Как настроить время Debian 9

Для начала нужно определиться со своим часовым поясом и установить его, у меня это выглядит так:

# timedatectl set-timezone Europe/Volgograd

Затем нужно отредактировать файл /etc/systemd/timesyncd.conf , указав в нем серверы для синхронизации времени, например так:

# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See timesyncd.conf(5) for details. NTP=ru.pool.ntp.org FallbackNTP=pool.ntp.org

Здесь в опции NTP= указываются приоритетные серверы для синхронизации времени. Если при обращении к ним произойдет сбой, то будут использоваться серверы, указанные в FallbackNTP= .

После внесения изменений в файл конфигурации нужно перезапустить сервис синхронизации времени:

# systemctl restart systemd-timesyncd

Состояние настройки времени можно проверить следующей командой:

# timedatectl status

Результат ниже говорит о том, что часы на моем сервере настроены верно и синхронизируются по протоколу NTP.

Local time: Tue 2018-12-18 16:36:33 +04 Universal time: Tue 2018-12-18 12:36:33 UTC RTC time: Tue 2018-12-18 12:36:33 Time zone: Europe/Volgograd (+04, +0400) Network time on: yes NTP synchronized: yes RTC in local TZ: no

здесь,
Local time - это местное время;
Universal time - время UTC (всемирное координированное время). Это отправная точка для отсчета всех часовых поясов;
RTC time - время в аппаратных часах сервера (компьютера);
Time Zone - ваш часовой пояс;
Network time on - указывает, включен ли ntp-клиент, входящий в состав systemd;
NTP synchronized - сообщает, синхронизировано ли время с ntp-сервером;
RTC in local TZ - показывает, какое время хранится в аппаратных часах: локальное или всемирное. При этом, yes означает локальное время, no - всемирное;

Информация для новичков

Меня иногда спрашивают, где вводить (выполнять) приводимые мною команды?

Все приведенные в данной статье команды нужно выполнять в консоли сервера от имени привилегированного пользователя (root). Знак # (октоторп, решетка, диез, хеш) как раз говорит об этом.

В качестве консольного клиента для удаленного подключения к серверам я использую программу

После установки нового сервера приходится выполнять один и тот же набор стандартных настроек. Сегодня мы займемся базовой настройкой сервера под управлением операционной системы Debian . Я приведу практические советы по небольшому увеличению безопасности и удобству администрирования, основанные на моем личном опыте.

Данная статья является частью единого цикла статьей про сервер .

Введение

Любая работа с сервером после чаще всего начинается со стандартных обязательных действий, без которых либо не получится продвинуться дальше, либо будет неудобно работать. Например, вам в любом случае необходимо выполнить сетевые настройки, желательно обновить систему и установить часовой пояс. Рекомендуется сразу настроить автообновление времени, подрихтовать параметры sshd, установить midnight commander и выполнить другие настройки.

Об этом я хочу рассказать в статье. Я буду делиться своим реальным опытом работы. Это не значит, что нужно делать так, как я. Я могу в чем-то ошибаться, что-то делать не так удобно, как можно было бы сделать. Это просто советы, которые кому-то помогут узнать что-то новое, а кто-то возможно поделится со мной чем-то новым для меня, либо укажет на мои ошибки. Мне бы хотелось, чтобы это было так. Своими материалами я не только делюсь с вами знаниями, но и сам узнаю что-то новое в том числе и из комментариев и писем на почту.

Указываем сетевые параметры

Итак, у нас в наличии только что установленная система. Узнать или проверить ее версию можно командами:

# uname -a Linux debian10 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux # lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster

Посмотреть список пакетов, готовых к обновлению, можно с помощью команды:

# apt list --upgradable

Теперь выполним простое обновление всех пакетов системы:

Ключ upgrade выполняет только обновление одной версии пакета на другую, более свежую. Он не будет устанавливать или удалять пакеты, даже если это необходимо для обновления других. Это наиболее безопасный и надежный вариант обновления, но он может обновить не все. Например, с ее помощью не обновить ядро до более свежей версии.

Ключ dist-upgrade или full-upgrade (это одно и то же) в дополнение к upgrade обрабатывает все изменения зависимостей для новых пакетов и во время работы может удалять ненужные и ставить необходимые пакеты для обновления. Вот выдержка из документации по поводу этих двух ключей.

Так что после обычного обновления, делаем еще full-upgrade.

# apt full-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: dh-python guile-2.0-libs libbind9-140 libdns162 libicu57 libisc160 libisccc140 libisccfg140 liblvm2app2.2 liblvm2cmd2.02 liblwres141 libperl5.24 libpython3.5-minimal libpython3.5-stdlib linux-image-4.9.0-3-amd64 python3-distutils python3-lib2to3 python3.5 python3.5-minimal rename sgml-base tcpd xml-core Use "apt autoremove" to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Мне предлагается удалить старые пакеты, которые больше уже не нужны. Это зависимости от старых версий софта, который уже обновился и получил новые пакеты из зависимостей, а эти ему больше не нужны. Очистим их командой:

На этом обновление системы закончено. Если вы хотите обновить версию релиза, например , то читайте отдельный материал.

Настройка ssh

Теперь внесем некоторые изменения в настройки сервера ssh . Я рекомендую его запускать на нестандартном порту для исключения лишних общений с ботами, которые регулярно сканируют интернет и подбирают пароли пользователей по словарям.

Существует расхожее мнение, что менять порт ssh это наивность, а не защита. Надо просто настроить сертификаты, fail2ban или еще каким-то образом защитить ssh порт, к примеру, с помощью ограничений iptables, и т.д. Тем не менее, я все же рекомендую порт сменить на нестандартный. Даже если у вас все защищено от подбора паролей, так как вы используете сертификаты, лишние запросы к ssh порту тратят ресурсы сервера, хоть и не очень большие. Идет установка соединения, обмен рукопожатиями и т.д. Зачем вам это нужно?

По-умолчанию в Debian, впрочем как и в любом другом дистрибутиве Linux, ssh сервер работает на 22 порту. Изменим этот порт, к примеру, на 23331. Так же я еще изменяю конфигурацию для разрешения подключения по ssh пользователя root с использованием пароля. В Debian из коробки пользователь root по ssh паролем авторизовываться не может. Изменим и это. Открываем файл настроек:

# nano /etc/ssh/sshd_config

И изменяем там следующие строки. Приводим их к виду:

Port 23331 PermitRootLogin yes

Сохраняем изменения и перезапускаем сервер ssh следующей командой:

# service sshd restart

Проверяем изменения:

# netstat -tulnp | grep ssh tcp 0 0 0.0.0.0:23331 0.0.0.0:* LISTEN 925/sshd tcp6 0 0:::23331:::* LISTEN 925/sshd

Все в порядке, сервер слушает 23331 порт. Теперь новое подключение будет осуществлено только по порту 23331. При этом, после перезапуска ssh, старое подключение не будет разорвано.

Я знаю, что многие возражают против подключения рутом к серверу. Якобы это небезопасно и т.д. и т.п. Мне эти доводы кажутся не убедительными. Не понимаю, в чем может быть проблема, если у меня нормальный сложный пароль на root, который не получится подобрать или сбрутить. Ни разу за всю мою работу системным администратором у меня не возникло проблем с этим моментом. А вот работать так значительно удобнее, особенно, когда необходимо оперативно куда-то подключиться по форс мажорным обстоятельствам.

Отдельно тему подключения к серверу под root я рассмотрел в статье про . Кому интересно, переходите в нее и делитесь своим мнением на этот счет.

Установка утилит mc, htop, iftop

Следующим шагом я настраиваю некоторые полезные утилиты, которыми регулярно пользуюсь в повседневной работе. Первая из них это всем известный двухпанельный файловый менеджер Midnight Commander. Установим mc на наш сервер:

# apt install mc

И сразу же для него включаю подсветку синтаксиса всех файлов, которые не обозначены явно в файле /usr/share/mc/syntax/Syntax синтаксисом для sh и bash скриптов. Этот универсальный синтаксис нормально подходит для конфигурационных файлов, с которыми чаще всего приходится работать на сервере. Перезаписываем файл unknown.syntax . Именно этот шаблон будет применяться к.conf и.cf файлам, так как к ним явно не привязано никакого синтаксиса.

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

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

# select-editor Select an editor. To change later, run "select-editor". 1. /bin/nano <---- easiest 2. /usr/bin/mcedit 3. /usr/bin/vim.tiny Choose 1-3 : 2

# apt install htop

Полезной утилитой, позволяющей смотреть сетевую загрузку в режиме реального времени, является iftop . Очень рекомендую. Более простого и удобного инструмента мне не попадалось, хотя я много перепробовал подобных вещей. Устанавливаем iftop на сервер:

# apt install iftop

Настройка и обновление времени в Debian

Теперь проверим установленный часовой пояс, время и включим автоматическую синхронизацию времени с удаленного сервера. Очень подробно этот вопрос я рассмотрел в отдельной статье — .

Узнать дату, время, часовой пояс можно командой date :

Если все указано верно, то менять ничего не нужно. Если же у вас неправильное время или указан часовой пояс не соответствующий вашему, то настроить это можно следующим образом. Сначала обновим часовые пояса:

# apt install tzdata

Теперь выберем правильный часовой пояс с помощью команды:

# dpkg-reconfigure tzdata

Выбирая соответствующие пункты визарда, указываете свой часовой пояс.

# apt install ntpdate

И синхронизируем время:

# ntpdate-debian 12 Aug 14:30:21 ntpdate: adjust time server 89.109.251.21 offset 0.004529 sec

Если получаете ошибку:

Значит у вас уже работает служба ntp. Ее нужно остановить и обновить время вручную. Хотя если она работает, то у вас и так должно быть все в порядке.

Для того, чтобы время автоматически синхронизировалось без вашего участия с определенной периодичностью, используется инструмент ntp . Установим его:

# apt install ntp

После установки он сам запустится и будет автоматически синхронизировать часы сервера. Проверим, запустился ли сервис ntpd:

# netstat -tulnp | grep ntp udp 0 0 10.20.1.16:123 0.0.0.0:* 8855/ntpd udp 0 0 127.0.0.1:123 0.0.0.0:* 8855/ntpd udp 0 0 0.0.0.0:123 0.0.0.0:* 8855/ntpd udp6 0 0 fe80::cce1:23ff:fe4:123:::* 8855/ntpd udp6 0 0::1:123:::* 8855/ntpd udp6 0 0:::123:::* 8855/ntpd

Настройка firewall (iptables) в Debian

В качестве firewall в Debian по-умолчанию используется iptables , его и будем настраивать. Изначально фаервол полностью открыт и пропускает весь трафик. Проверить список правил iptables можно следующей командой:

# iptables -L -v -n Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination

Обращаю пристальное внимание на то, что настраивать firewall без прямого доступа к консоли сервера не следует. Особенно, если вы не очень разбираетесь в этом и копируете команды с сайта. Шанс ошибиться очень высок. Вы просто потеряете удаленный доступ к серверу.

Создадим файл с правилами iptables:

# mcedit /etc/iptables.sh

Проверяем, что правила записались в файл /etc/iptables_rules . Если их там нет, то записываем их вручную.

# /sbin/iptables-save > /etc/iptables_rules

Правила применились и произошла их запись в файл /etc/iptables_rules . Теперь нужно сделать так, чтобы они применялись при загрузке сервера. Для этого делаем следующее. Открываем файл /etc/network/interfaces и добавляем в него строку pre-up iptables-restore < /etc/iptables_rules Должно получиться вот так:

# cat /etc/network/interfaces allow-hotplug eth0 iface eth0 inet dhcp pre-up iptables-restore < /etc/iptables_rules

Для проверки перезагрузите сервер и посмотрите правила iptables. Должен загрузиться настроенный набор правил из файла /etc/iptables_rules .

Настройка логов cron

По-умолчанию, в Debian нет отдельного лог файла для событий cron, они все сыпятся в общий лог /var/log/syslog . Лично мне это не очень нравится, я предпочитаю выводить эти события в отдельный файл. Об этом я написал отдельно — . Рекомендую пройти по ссылке и настроить, если вам это необходимо. Там очень кратко и только по делу, не буду сюда копировать эту информацию.

Установка и настройка screen

Я привык в своей работе пользоваться консольной утилитой screen. Изначально она задумывалась как инструмент, который позволяет запустить что-то удаленно в консоли, отключиться от сервера и при этом все, что выполняется в консоли продолжит свою работу. Вы сможете спокойно вернуться в ту же сессию и продолжить работу.

Первое время я именно так и использовал эту утилиту. Редко ее запускал, если не забывал, когда выполнялся какой-то длительный процесс, который жалко было прервать из-за случайного обрыва связи или необходимости отключить ноутбук от сети и куда-то переместиться.

Позже я решил подробнее ознакомиться с этим инструментом и обнаружил, что там есть несколько удобных моментов, которые можно использовать в ежедневной работе. Вот как использую утилиту screen я. При подключении к серверу у меня запускается screen с тремя окнами 1, 2, 3. Первое окно автоматически переходит в каталог /, второе в /etc, третье в /var/log. Я осмысленно назвал эти окна: Main, etc, logs соответственно. Внизу находится строка состояния, в которой отображен список всех открытых окон и подсвечено активное окно.

С помощью горячих клавиш я очень быстро переключаюсь между окнами в случае необходимости. Вот как выглядит мое рабочее окно ssh подключения:

Переключаюсь между окнами с помощью стандартных горячих клавиш screen: ctrl+a 1, ctrl+a 2, ctrl+a 3. Я специально изменил нумерацию, чтобы она начиналась не с 0 по-дефолту, а с 1. Так удобнее на клавиатуре переключать окна. Кнопка 0 находится слишком далеко от 1 и 2.

Чтобы настроить такую же работу screen, как у меня, достаточно выполнить несколько простых действий. Сначала устанавливаем screen:

# apt install screen

Создаем в каталоге /root конфигурационный файл .screenrc следующего содержания:

# mcedit /root/.screenrc #Выводим строку состояния hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" # Добавляем некоторые настройки startup_message off defscrollback 1000 defutf8 on shell -$SHELL # Создаем несколько окон chdir screen -t Main 1 chdir /etc screen -t etc 2 chdir /var/log screen -t logs 3 # Активное первое окно после запуска select 1

Для знакомства с настройками, горячими клавишами и вариантами применения утилиты screen можно по адресу http://itman.in/ssh-screen/ Мне помог этот материал. Написано кратко, по делу и доходчиво.

Заключение

Теперь можно перезагрузить сервер и проверить, все ли в порядке. У меня все в порядке, проверил:) На этом базовая настройка сервера debian окончена. Можно приступать к конфигурации различных сервисов, под которые он настраивался. Об этом я рассказываю в отдельных статьях.

Напоминаю, что данная статья является частью единого цикла статьей про сервер .

Онлайн курс "Сетевой инженер"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные сети, рекомендую познакомиться с онлайн-курсом «Сетевой инженер» в OTUS. Это авторская программа в сочетании с удалённой практикой на реальном оборудовании и академическим сертификатом Cisco! Студенты получают практические навыки работы на оборудовании при помощи удалённой онлайн-лаборатории, работающей на базе партнёра по обучению - РТУ МИРЭА: маршрутизаторы Cisco 1921, Cisco 2801, Cisco 2811; коммутаторы Cisco 2950, Cisco 2960. Особенности курса:
  • Курс содержит две проектные работы.;
  • Студенты зачисляются в официальную академию Cisco (OTUS, Cisco Academy, ID 400051208) и получают доступ ко всем частям курса «CCNA Routing and Switching»;
  • Студенты могут сдать экзамен и получить вместе с сертификатом OTUS ещё сертификат курса «CCNA Routing and Switching: Scaling Networks»;
Проверьте себя на вступительном тесте и смотрите программу детальнее по.

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

Произведем установку сервера NTP:

Apt-get install ntp ntpdate

Теперь настроем конфигурационный файл:

Nano /etc/ntp.conf

Очень важно! 13 января 2014 года стало известно о возможности совершения массовых DDoS-атак через незащищенный демон ntpd. Поэтому вам следует без необходимости не разрешать доступ к вашему NTP серверу извне. В Debian 8 по умолчанию доступ из вне включен, но если у вас другой дистрибутив, то следует добавить в файл /etc/ntp.conf следующие строки:

Disable monitor restrict -4 default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict -4 127.0.0.1 restrict -6::1

Примерный листинг файла конфигурации, с русскими комментариями:

#Список серверов для синхронизации времени 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

Выбираем пул серверов из временной зоны .

Теперь сохраняем файл конфигурации и перезапускаем наш демон:

Service ntp restart

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

Ntpq -c peers

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

Ntpdate -q localhost

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

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

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

Rm /etc/localtime ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

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

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

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

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

26 октября 2014 года был принят закон о смене часовых поясов в России. С данным законопроектам повсеместно возникали проблемы с синхронизацией местного времени по протоколу NTP.

Сегодня мы рассмотрим один из способов решения проблемы синхронизации системного времени на серверах и десктопных машинах Ubuntu\Debian. Решение о котором сегодня будет идти речь, самое логичное, верное и эффективное.

Все просто!

За часовые пояса в системе Ubuntu и Debian отвечает пакет tzdata. Для корректной работы NTP синхронизации и системного времени нужно обновить базу часовых поясов tzdata. Так же, мы рассмотрим установку и настройку NTP клиента для синхронизации системного времени с NTP серверами или кластерами на примере Ubuntu,Debian.

Обновление tzdata - исправляем системного время на Ubuntu или Debian

На сегодняшний день обновления для tzdata появились с стандартных репозиториях системы Ubuntu или Debian. Обновление базы часовых поясов tzdata не составляет, абсолютно, никаких сложностей.

Для обновления tzdata из репозиториев необходимо проделать следующую последовательность операций:

1. Обновляем дерево пакетов подключенных репозиториев.

Sudo apt-get update

2. Производим установку более новой версии tzdata.

Sudo apt-get install tzdata

3. Делаем конфигурацию tzdata и выбираем наш часовой пояс

Sudo dpkg-reconfigure tzdata

4. Перезагружаем систему для обновления системного времени стороннего программного обеспечения

Sudo reboot

Установка и настройка NTP клиента на Ubuntu или Debian

Периодическая синхронизация и корректировка системного времени необходима для серверов и желательна для десктопных систем, т.к. аппаратные часы BIOS имеют значимую погрешность и с закономерной периодичностью "убегают" в большую или меньшую сторону.
Установка и настройка NTP клиента в Ubuntu или Debian можно считать тривиальной задачей, не вызывающая никаких сложностей и вопросов. Установка и настройка Клиента проходит в 3 этапа:

1. Установка NTP клиента:

Sudo apt-get install ntp

2. Настройка NTP клиента при помощи текстового редактора и файла конфигураций

# Проверьте и, при необходимости, замените в файле конфигураций список NTP # серверов для синхронизации. По умолчанию они такие: server 0.ubuntu.pool.ntp.org server 1.ubuntu.pool.ntp.org server 2.ubuntu.pool.ntp.org server 3.ubuntu.pool.ntp.org # Если вы не знаете какие сервера лучше использовать для синхронизации - # рекомендуем воспользоваться данным кластером серверов: http://www.pool.ntp.org/

3. Проверяем пул адресов для синхронизации, который выдает кластер или сервера синхронизации, указанные в файле конфигураций /etc/ntp.conf:

Если у вас будет вывод аналогичный этому - все впорядке, ntp синхронизация системного времени корректно работает:

Remote refid st t when poll reach delay offset jitter =========================================================== *webhost2.mitht. 193.67.79.202 2 u 52 64 17 16.412 -35.137 0.886 mail.sonur.ru .PPS. 1 u 48 64 17 79.297 -58.992 1.493 guard.qword.ru .INIT. 16 u - 64 0 0.000 0.000 0.000 ns.davydkovo.ne 130.173.91.58 2 u 45 64 17 23.343 -40.480 1.351 golem.canonical 192.93.2.20 2 u 45 64 17 66.089 -34.140 1.669

4. Перезапускаем систему для корректно работы ntp клиента и синхронизации времени при загрузке. В принципе, все корректно работает и после установки, но при использовании стороннего или специфического программного обеспечения, необходима перезагрузка, проще перезагрузить систему:

Sudo reboot

На данном этапе установка и настройка NTP клиента синхронизации системного времени завершена. Теперь ваше система прозрачно и незаметно корректирует системное время при помощи более точных серверов синхронизации времени по протоколу NTP.

Вот мы и решили 2 основных вопроса, связанных с точным временем на вашем сервере или десктопной системе Ubuntu, Debian:

  • Первый вопрос корректировки связан со сменой часовых поясов на территории Россий, связанный с законодательством, вступившим в силу 26 октября 2014 года, и базой данных часовых поясов tzdata.
  • Второй вопрос корректировки точного системного времени связан с установкой и настройкой NTP клиента и NTP синхронизацией системного времени с более точными серверами или кластерами.

По итогам прочтения статьи, у вас должно возникнуть точное понимание принципов корректировки системного времени и NTP синхронизации вашего сервера, декстопной системы Ubuntu или Debian с NTP серверами или кластерами.

Во время первоначальной установки Debian мы конфигурируем часовой пояс с помощью пакета . В дальнейшем синхронизация времени и часового пояса можно выполнить командами:

$ su $ пароль $ dpkg-reconfigure tzdata

Стрелками выбираем Европа и нажимаем Enter .

Также выбираем часовой пояс.

В результат синхронизация получаем универсальное (время по Гринвичу ) и местное время .

Конфигурационный файл хранится в /etc/timezone . Открыть файл можно с помощью команды:

$ gedit /etc/timezone

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

В компьютере два источника времени: на материнской плате аппаратные часы — "CMOS " и в ядре операционной системы, контролируемые серверами времени через сеть. На практике существует проблема, так как часы CMOS является не более чем счетчиком и не содержат никакой информации о часовом поясе.

Проблема возникает когда компьютер в сети или имеет несколько систем (например, запуск других систем через виртуальную машину) тогда возникает хаос и неясно какое время является правильным.

Синхронизация времени, может показаться излишней на одиночном компьютере, но является очень важной в сети. Так как в случае нападения легче восстановить хронологию событий на различных машинах. Данные собранные на нескольких машинах не будут иметь большого смысла, если они не синхронизированы.

Поскольку компьютеры регулярно запускаются и перезагружаются (для экономии электроэнергии), машины удобно синхронизировать с помощью NTP при загрузке. Для этого просто установите ntpdate пакет он позволяет быстро синхронизировать часы компьютера с серверами точного времени, подсоединёнными ко Всемирной Паутине. Установку ntpdate из репозитория произведем с помощью менеджера пакетов Synaptic или путем выполнения команд в терминале:

$ su $ пароль $ apt-get install ntpdate

Для рабочих станций вы можете изменить сервер NTP , используемый при необходимости путем модификации /etc/default/ntpdate файла.

Для серверов так как они редко перезагружается, а есть большая необходимость поддерживать точное время, необходимо установить локальный сервер NTP .

Установка NTP

$ aptitude install ntp ntpdate

В конфигурации по умолчанию сервер будет синхронизировать с ресурсом pool.ntp.org и обеспечит время в ответ на запросы, поступающие из локальной сети. Вы можете настроить его путем редактирования/etc/ntp.conf файла.

В целях безопасности, для доступа к Вашему серверу извне, требуется добавить в файл /etc/ntp.conf следующие строки (данные строки уже могут присутствовать):

Disable monitor restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict -6::1

disable monitor - отключение запросов monlist, которые возвращают список из последних 600 клиентов ntp. restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery - отключение запросов статуса сервера.

Так же вы можете указать свои сервера для синхронизации времени, например, адреса NTP серверов Pоссии: https://www.ntp-servers.net/servers.html и отредактируйте файл /etc/ntp.conf, выполнив команду:

$ gedit /etc/ntp.conf

Разовая синхронизация времени

В качестве примера используется сервер ntp1.stratum1.ru :

$ ntpdate ntp1.stratum1.ru

До синхронизации

После синхронизации

Для того, чтобы организовать постоянную синхронизацию времени произведем установку демона (сервера) ntp

Отредактируйте файл /etc/ntp.conf или создайте его, если такого файла нет.

$ server ntp1.stratum1.ru iburst

Запускаем ntp и добавляем его автозагрузку

$ /etc/init.d/ntp start $ update-rc.d ntp defaults

© tuttiragazzi.ru, 2024
Портал о компьютерах и мобильных устройствах