Рейтинг:0

Конфигурация NTP не используется

флаг us

Я пытаюсь настроить сервер GPS NTP на моем SBC под управлением Ubuntu 20.04 (безголовый), но у меня возникла проблема с конфигурацией. При перезагрузке получаю следующее:

$ntpq -p

     удаленный refid st t при достижении опроса джиттер смещения задержки
================================================== =============================
*_шлюз 163.237.218.18 2 и 22 64 1 2,727 0,011 0,159

/etc/ntp.conf говорит:

пул 1.ubuntu.pool.ntp.org iburst
пул 2.ubuntu.pool.ntp.org iburst
пул 3.ubuntu.pool.ntp.org iburst

# Используйте ntp-сервер Ubuntu в качестве запасного варианта.
#пул ntp.ubuntu.com

# Конфигурация контроля доступа; см. /usr/share/doc/ntp-doc/html/accopt.html для
# подробности. Веб-страница <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# также может быть полезно.
#
# Обратите внимание, что «ограничение» применяется как к серверам, так и к клиентам, поэтому конфигурация
# которые могут быть предназначены для блокировки запросов от определенных клиентов, также могут заканчиваться
# блокировка ответов от ваших собственных вышестоящих серверов.

# По умолчанию обмениваться временем со всеми, но не разрешать настройку.
ограничить -4 по умолчанию kod notrap nomodify nopeer noquery limited
ограничить -6 по умолчанию kod notrap nomodify nopeer noquery limited

# Локальные пользователи могут более внимательно опрашивать сервер ntp.
ограничить 127.0.0.1
ограничить ::1

# Необходимо для добавления записей пула
ограничить источник notrap nomodify noquery

# Клиенты из этой (пример!) подсети имеют неограниченный доступ, но только если
# криптографически аутентифицирован.
#restrict 192.168.123.0 маска 255.255.255.0 notrust


# Если вы хотите предоставить время для вашей локальной подсети, измените следующую строку.
# (Опять же, адрес приведен только в качестве примера.)
#трансляция 192.168.123.255

# Если вы хотите слушать передачи времени в вашей локальной подсети, раскомментируйте
# следующие строки. Пожалуйста, делайте это, только если вы доверяете всем в сети!
#отключить авторизацию
#broadcastclient

# Справочник по серийным данным GPS
сервер 127.127.28.0 минполл 4 максполл 4
выдумка 127.127.28.0 время1 0.0 рефид GPS

# Ссылка GPS PPS
сервер 127.127.28.1 minpoll 4 maxpoll 4 предпочитает
выдумка 127.127.28.1 refid PPS

/etc/ntp/шаговые тикеры
пусто

Я нашел в Интернете конфигурацию для создания «устройства», которое будет работать как сервер времени GPS, и в нем было сказано сделать это:

$ вс -
# killall -9 gpsd ntpd
# gpsd -n /dev/ttyXX
# спать 2
# нтпд -gN
# спать 2
# cgps 

и это работает

root@ubuntu:/home/zach# ntpq -p
     удаленный refid st t при достижении опроса джиттер смещения задержки
================================================== =============================
 0.ubuntu.pool.n .POOL. 16 р - 64 0 0,000 0,000 0,000
 1.ubuntu.pool.n .POOL. 16 р - 64 0 0,000 0,000 0,000
 2.ubuntu.pool.n .POOL.         16 р - 64 0 0,000 0,000 0,000
 3.ubuntu.pool.n .POOL. 16 р - 64 0 0,000 0,000 0,000
*ШМ(0).GPS. 0 л 8 16 1 0,000 -40,232 0,000
 ШМ(1).PPS. 0 л - 16 0 0,000 0,000 0,000

есть идеи, почему я не могу заставить ntp читать /etc/ntp.conf при загрузке?

РЕДАКТИРОВАТЬ: Я не уверен, работает ли gpsd при запуске.

Я сделал dmesg | grep gps и ничего не подошло.

Затем я написал сценарий bash с этой строкой killall. Я не думаю, что он запустится (@startup sh в crontab), потому что он должен быть повышен. Я попробовал как init.d (я действительно не знаю, что я там делаю), и я получаю сообщение об ошибке аудит: тип = 1400 аудит (1636322022.316:45): apparmor = "ОТКЛОНЕН" операция = "ptrace" профиль = "/usr/sbin/gpsd" pid = 2794 comm = "gpsd" запрашиваемая_маска = "прочитать" Denated_mask = "прочитать" peer="/usr/sbin/ntpd"

user10489 avatar
флаг in
Вы включили gpsd при загрузке? Вероятно, вам нужно изменить запуск ntp systemctl, чтобы дождаться, пока gpsd получит блокировку.
Christian Ehrhardt avatar
флаг sl
Начиная с 18.04 и более поздних версий, вы должны использовать chrony вместо ntpd, не могли бы вы попробовать, если chrony+gpsd работает лучше для вас? Руководство по его настройке для вашей установки находится по адресу https://ubuntu.com/server/docs/network-ntp.
Zach avatar
флаг us
@ChristianEhrhardt выглядит великолепно. я думаю, что это работает
Christian Ehrhardt avatar
флаг sl
Приятно слышать это @Zach, так что, может быть, ответь себе здесь так, как у тебя это получилось, чтобы мы могли проголосовать за этот лучший хронический ответ?
Zach avatar
флаг us
@Christian сделано
Christian Ehrhardt avatar
флаг sl
Спасибо @Зак
Рейтинг:1
флаг us

Хорошо, спасибо @ChristianEhrhardt, использование Chrony, похоже, сработало довольно хорошо по какой-то причине, о которой я не знал.

У меня уже запущен gpsd, поэтому мне не пришлось с этим возиться, но здесь важно указать. Я использую GPS, подключенный через USB и нет ППС. Устройство ttyACM0

Я использовал несколько руководств в Интернете, и я не уверен, точный шаги, которые я предпринял, но это было примерно так:

sudo apt установить хрони

а затем мне пришлось настроить файл .conf

судо нано /etc/chrony/chrony.conf

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

# Разрешить быть NTP-сервером 
разрешить 192.168.0.0/24

Мне нужно было добавить свой источник GPS, поэтому я добавил:

#Источники GPS
refclock SHM 0 refid точность GPS 1e-1 смещение 0 задержка 0 слой 2
refclock SOCK /var/run/chrony.ttyACM0.sock рефид PPS

Я знаю, что перезапуск служб — это вещь, но я предпочитаю перезагрузку.

sudo перезагрузить сейчас

Затем я включил его как службу

systemctl включить хрони

Затем я проверил, чтобы убедиться, что это работает

хронические источники

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

и ТА-ДА

Рейтинг:0
флаг pk

Также возможно, если ваш Сервер получает свой IP через DHCP, то ntp-параметры будут установлены через /var/lib/ntp/ntp.conf.dhcp. Иногда у меня даже был устаревший файл из установки, который сохранял это поведение даже после перехода на статическую конфигурацию. Если это так, просто удалите его.

Может быть, такой сервис мог бы работать / нет проверено

[Ед. изм]
Описание=NTP-GPSD-FIX
Требуется=ntpd.service
Требуется=gpsd.service?

[Оказание услуг]
ExecStart=/путь/к/сценарию/с/командами

[Установить]
WantedBy=многопользовательская.цель
Zach avatar
флаг us
К сожалению, нет. Эта папка var/lib/ntp пуста, сохраните один файл ntp.drift.
crpb avatar
флаг pk
Какой сервис/демон запускает ваш ntpd? И лучшая его конфигурация. И готово ли устройство в этот момент?
Zach avatar
флаг us
/etc/init.d/ntp DAEMON=/usr/sbin/ntpd
crpb avatar
флаг pk
Вы можете проверить уровень запуска gpsd и ntp. /etc/rc*/ `update-rc.d`
user10489 avatar
флаг in
Вам также может понадобиться изменить скрипт gpsd, чтобы он не «заканчивал» запуск до тех пор, пока gps не будет заблокирован, иначе ntpd может игнорировать gpsd, даже если он запущен. Если ваш GPS быстро стартует, этого может быть достаточно, за исключением двух минут после того, как GPS потерял питание.

Ответить или комментировать

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