Поиск по сайту:

Как установить и настроить NTP-сервер и клиент в Debian


Протокол сетевого времени (NTP) предоставляет компаниям уникальную возможность синхронизировать часы всех систем внутри компании. Синхронизация времени важна по многим причинам: от отметок времени приложения до безопасности и правильных записей журнала.

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

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

NTP работает на основе синхронизации с эталонными часами, также известными как серверы «уровня 0». Все остальные серверы NTP затем становятся серверами слоев более низкого уровня в зависимости от того, насколько далеко они находятся от эталонного сервера.

Началом цепочки NTP является сервер уровня 1, который всегда напрямую подключен к эталонным часам уровня 0. Отсюда серверы более низкого уровня подключаются через сетевое соединение к серверу более высокого уровня.

Обратитесь к диаграмме ниже для более четкого представления.

Хотя настройку сервера уровня 0 или уровня 1 можно выполнить, это стоит дорого, поэтому в этом руководстве основное внимание будет уделено настройке сервера более низкого уровня.

Tecmint имеет базовую конфигурацию хоста NTP по следующей ссылке:

  1. Как синхронизировать время с NTP-сервером

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

Внутренний NTP-сервер часто идеален для экономии пропускной способности сети, а также для обеспечения повышенной безопасности за счет ограничений NTP и криптографии. Чтобы увидеть, чем это отличается от первой диаграммы, см. вторую диаграмму ниже.

Шаг 1. Установка NTP-сервера

1. Первым шагом к настройке внутренней структуры NTP является установка программного обеспечения сервера NTP. Пакет программного обеспечения Debian под названием «NTP» в настоящее время содержит все серверные утилиты, необходимые для настройки иерархии NTP. Как и во всех руководствах по настройке системы, предполагается доступ Root или sudo.

apt-get install ntp
dpkg --get-selections ntp          [Can be used to confirm NTP is installed]
dpkg -s ntp                        [Can also be used to confirm NTP is installed]

Шаг 1. Настройка NTP-сервера

2. После установки NTP пришло время настроить, какие серверы более высокого уровня будут запрашивать время. Файл конфигурации NTP хранится в «/etc/ntp.conf» и может быть изменен в любом текстовом редакторе. Этот файл будет содержать полные доменные имена серверов более высокого уровня, ограничения, установленные для этого NTP-сервера, и любые другие специальные параметры для хостов, запрашивающих этот NTP-сервер.

Чтобы начать процесс настройки, необходимо настроить серверы более высокого уровня. Debian по умолчанию помещает пул NTP Debian в файл конфигурации. Это подходит для большинства целей, но администратор может посетить NIST, чтобы указать определенные серверы или использовать все серверы NIST по циклическому принципу (метод, предложенный NIST).

Для этого руководства будут настроены определенные серверы. Файл конфигурации разбит на несколько основных разделов и по умолчанию настроен для IPv4 и IPv6 (если вы хотите отключить IPv6, об этом будет упомянуто позже). Чтобы начать процесс настройки, файл конфигурации необходимо открыть в текстовом редакторе.

nano /etc/ntp.conf

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

server <fully qualified domain name> <options>
server time.nist.gov iburst â     [sample entry]

Обычно рекомендуется иметь в этом списке несколько серверов более высокого уровня на выбор. Этот сервер будет опрашивать все серверы в списке, чтобы определить, какой из них является наиболее надежным. Серверы для этого примера были получены по адресу: http://tf.nist.gov/tf-cgi/servers.cgi.

Шаг 3. Настройка ограничений NTP

3. Следующим шагом является настройка ограничений NTP. Они используются для того, чтобы разрешить или запретить хостам взаимодействовать с NTP-сервером. По умолчанию для NTP установлено время обслуживания всех, но не разрешена настройка как для подключений IPv4, так и для IPv6.

В настоящее время этот сервер используется только в сети IPv4, поэтому IPv6 был отключен двумя способами. Первое, что было сделано для отключения IPv6 на NTP-сервере, — это изменение настроек по умолчанию, которые запускает демон. Это было достигнуто путем изменения строки в «/etc/default/ntp».

nano /etc/default/ntp
NTPD_OPTS='-4 -g' [Add the ' -4 ' to this line to tell NTPD to only listen to IPv4]

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

NTPD работает по принципу «разрешено, если не запрещено». Поскольку IPv6 отключен, строку «restrict -6» можно удалить или закомментировать с помощью « #».

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

Теперь серверу необходимо знать, кому разрешено запрашивать у сервера время и что еще им разрешено делать с NTP-сервером. Для этого сервера частная сеть 172.27.0.0/16 будет использоваться для создания раздела ограничения.

Эта строка сообщает серверу, что он должен разрешить любому хосту из сети 172.27.0.0/16 доступ к серверу в течение определенного времени. Параметры после маски помогают контролировать, что любой из хостов в этой сети может делать при запросе к серверу. Давайте уделим немного времени, чтобы понять каждый из этих вариантов ограничения:

  1. Ограничено: указывает, что если клиент злоупотребляет контролем количества пакетов, пакеты будут отброшены сервером. Если пакет Kiss of Death включен, он будет отправлен обратно на злоупотребляющий хост. Тарифы настраиваются администратором, но здесь предполагаются значения по умолчанию.
  2. КОД: Поцелуй смерти. Если хост нарушает лимит пакетов на сервер, сервер ответит пакетом KoD хосту-нарушителю.
  3. Notrap: управляющие сообщения режима отклонения 6. Эти управляющие сообщения используются для программ удаленной регистрации.
  4. Nomodify: предотвращает запросы ntpq и ntpdc, которые могут изменить конфигурацию сервера, но информационные запросы по-прежнему разрешены.
  5. Noquery: этот параметр запрещает хостам запрашивать информацию у сервера. Например, без этой опции хосты могут использовать ntpdc или ntpq, чтобы определить, откуда конкретный сервер времени получает время, или от других одноранговых серверов времени, с которыми он может взаимодействовать.