Требуется помощь при настройке службы времени RFC 868 (порт 37) в Ubuntu 12.04

У меня Ubuntu 12.04 работает внутри VirtualBox в Windows 7. У меня также есть более старая платформа разработки, которая должна устанавливать свои внутренние часы, используя старый протокол времени. Я признаю, что я ни в коем случае не сисадмин (хотя этот опыт показывает, что мне нужно больше учиться), и поскольку в сети, похоже, нет ничего о том, как это сделать ...

Что я сделал до сих пор:

   sudo apt-get update
   sudo apt-get install nfs-common nfs-kernel-server xinetd ;; nfs needed too

Мой отредактированный /etc/xinetd.d/time:

# 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        = no
    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
}                               

Требуется tcp, поэтому я изменил «disable» на «нет». Сделал это:

   sudo /etc/init.d/xinetd restart

В документации сказано проверить порт с помощью telnet:

   sudo telnet localhost 37
   Trying 127.0.0.1...
   Connected to localhost.
   Escape character is '^]'.
   ?gConnection closed by foreign host.

Никогда не использовав telnet, (не смейтесь ...), я даже не Я знаю, что это значит, поэтому я подумал, что мне может понадобиться открыть брандмауэр:

   sudo iptables -A INPUT -p tcp --dport 37 -j ACCEPT
   sudo iptables -L
   Chain INPUT (policy ACCEPT)
   target     prot opt source               destination         
   ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:time
   ACCEPT     all  --  anywhere             anywhere            

   Chain FORWARD (policy ACCEPT)
   target     prot opt source               destination         
   ACCEPT     all  --  anywhere             anywhere            

   Chain OUTPUT (policy ACCEPT)
   target     prot opt source               destination

Что, вероятно, НЕПРАВИЛЬНО. Программное обеспечение, которое я пытаюсь использовать, говорит, что оно не может установить время по сети, поэтому я надеюсь, что кто-то может мне помочь. Спасибо.

3
задан 31 January 2014 в 19:49

1 ответ

Вам не нужно использовать iptables, сервис работает как положено.

telnet подключается к локальному узлу через порт 37, xinetd отправляет 32-разрядное целое число без знака, представляющее время (это ?g, который вы видите на выходе), и закрывает соединение.

0
ответ дан 31 January 2014 в 19:49

Другие вопросы по тегам:

Похожие вопросы: