Что такое сервер ToD, «Время дня» (не NTP)

13

Я получил простую задачу: настроить сервер ToD ... Это не NTP. Он работает через порт 37. Кажется, он связан с inetd или xinetd.

Должен быть установлен на Debian или CentOS. Альтернативно FreeBSD (маршрутизатор pfsense).

Любой намек на то, как поступить? Две стартовые ссылки, где после того, как я застрял:

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

Причина: я собираюсь настроить решение с использованием широкополосных кабелей COAX с использованием CMTS и кабельных модемов с использованием стандарта DOCSIS 3. Для этого кабельные модемы должны получать время от ToD-сервера (время суток).

ОБНОВЛЕНИЕ / Решение

Время RFC 868 и почти не используется, так как NTP и другие лучше. Но старый RFC 868 Time over port 37 необходим для некоторых систем - например, Интернет через COAX, использующий CMTS и кабельные модемы, нуждается в сервере рабочего времени (в документации DOCSIS под названием Time of Day server = ToD server). Xinetd, который можно установить для Debian, включает сервер времени. Он просто должен быть включен в etc / xinetd.d / time (disable = no для TCP и / или UDP)

Tillebeck
источник
2
Смотрите здесь, чтобы немного рассказать о серверах ToD и протоколе TIME . Реклама NIST говорит:the time format (as specified in RFC-868) has poor error-handling capabilities in general, and many of the client programs that use this format are poorly written and may not handle network errors properly. Therefore users are strongly encouraged to switch to the Network Time Protocol (NTP), which is more robust and provides greater accuracy. We eventually intend to phase out support for the TIME format on all servers.
HopelessN00b
1
Мой старый вопрос также содержит некоторую информацию об этом: serverfault.com/questions/156715/…
Стефан Ласевски,

Ответы:

20

Если вы используете Debian, xinetd поставляется с демоном ToD. Если вы измените «disable = yes», как в /etc/xinetd.d/time, на «disable = no», а затем перезапустите xinetd, вы сможете подключиться к серверу через telnet через порт 37 и убедиться, что что-то возвращено. Вы можете использовать что-то вроде:

nc $IP 37 | hexdump

и вы увидите, что шестнадцатеричное значение увеличивается каждую секунду.

Эдд
источник
Благодарю. Отличный способ проверить. Сделано это в отношении нескольких публичных серверов. Пока не могу запустить время на моем собственном сервере. Но будет, в конце концов.
Tillebeck
Ok. Работай сейчас. Мне нужен только UDP времени. Но nc $ IP 37 используют TCP. Так что после включения обоих это работает! Отлично. Благодарю.
Tillebeck
10

Сервер «Время дня» - довольно расплывчатый термин - мне не ясно, относится ли это к реальной службе с именем «ToD», или это просто плохая документация. Протокол Time (RFC 868) настолько стар, что его используют лишь немногие, за исключением небольшого количества встроенных прошивок (таких как OpenWRT ), устройств и устройств с небольшим объемом памяти. NTP требует больше памяти, чем протокол Time.

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

Верьте или нет, статья в Википедии xinetdсодержит один пример конфигурации, посвященный серверу времени RFC 868.

См. Http://en.wikipedia.org/wiki/Xinetd#Configuration.

Пример файла конфигурации для сервера времени RFC 868 :

# default: off
# description: An RFC 868 time server. This protocol provides a
# site-independent, machine readable date and time. The Time service sends back
# to the originating source the time in seconds since midnight on January first
# 1900.
# This is the tcp version.
service time
{
        disable         = yes
        type            = INTERNAL
        id              = time-stream
        socket_type     = stream
        protocol        = tcp
        user            = root
        wait            = no
}

# This is the udp version.
service time
{
        disable         = yes
        type            = INTERNAL
        id              = time-dgram
        socket_type     = dgram
        protocol        = udp
        user            = root
        wait            = yes
}
Стефан Ласевский
источник
Благодарю. Я застрял, так как inetd и xinetd указаны как обязательная часть установок linux по умолчанию. Я просто установил свежий Debian, и ни один из них не был установлен. После установки xinetd у меня есть файл, и я могу продолжить отсюда. Благодарю.
Tillebeck
2
«время дня» или «ToD» - это имя, которое RFC 868 вызывается в документации DOCSIS. DOCSIS предназначен для CMTS и кабельных модемов при подключении к Интернету и телевидению через кабели COAX. Я рад, что вы все могли помочь мне в конце концов.
Tillebeck
5

Time.nist.gov поддерживает старые дневные и дневные протоколы. Обратите внимание, что, насколько я помню, эти протоколы предполагают, что нет проблем с сетью.

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