NTPD: используйте неограниченный порт для связи - PullRequest
12 голосов
/ 24 октября 2008

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

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

Есть ли в ntp.conf параметр конфигурации, позволяющий использовать произвольный порт источника?

Ответы [ 6 ]

11 голосов
/ 27 октября 2008

Не похоже, что это возможно ... см. Страницу устранения неполадок ntp :

Если вы собираетесь запустить ntpd, вам нужно исправить свою сеть / брандмауэр / NAT, чтобы ntpd мог иметь полный неограниченный доступ к UDP-порту 123 в обоих направлениях.

Если это невозможно, вам может потребоваться запустить ntpd на самом брандмауэре, чтобы он мог иметь полный неограниченный доступ к UDP-порту 123 в обоих направлениях, а затем предоставить его времени вашим внутренним клиентам.

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

6 голосов
/ 11 октября 2010

Мне удалось решить эту проблему, заменив официальный NTPD на OpenNTPD. Хотя официальный NTPD привязан к порту UDP 123, OpenNTPD использует непривилегированные порты.

2 голосов
/ 27 октября 2008

У меня раньше была эта проблема, и я не мог найти решение. В итоге я просто добавил запись в crontab, которая запускает ntpdate один раз в час. Это дает достаточно хорошее разрешение для всего, что я делаю, так как мои часы никогда не дрейфуют более 1 секунды в час.

1 голос
/ 30 апреля 2015

Как писал @Andy_Whitfield, ntpd не может этого сделать. Но есть альтернативы, такие как OpenNTPD и Chrony . AFAIK, Chrony также используется Android.

В моей настройке я использую хрони. Он использует непривилегированный порт для запроса удаленных серверов. У этой техники гораздо больше шансов пройти NAT. Это тот же механизм, который используется в ntpdate -q для запросов к серверу, но только при вызове от имени непривилегированного пользователя.

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

1 голос
/ 11 апреля 2014

Вы не можете изменить порт NTP, но вы можете добавить iptables cmd, чтобы перенаправить его через порт VPN.

Детали: http://openvpn.net/archive/openvpn-users/2007-11/msg00223.html

0 голосов
/ 19 августа 2015

Вы можете использовать исходный NAT на хосте, на котором запущен ntpd, для замены исходного порта 123 номером порта выше 1024.

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