The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: ntpd на FreeBSD с подключением чере..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: ntpd на FreeBSD с подключением чере..."  
Сообщение от auto_tips (??) on 22-Авг-08, 14:04 
Есть компьютер с FreeBSD 7.0 (но должно работать и для остальных версий)
Подключение к интернету производится через pppoe. Провайдер раз в сутки обрывает подключение,
соответственно при смене ip (он динамический) ntpd клинит - по команде ntpq -c pe
в колонке refid для всех серверов будет .INIT.

Когда искал решение, наткнулся на следующий скрипт (немного модифицировал для FreeBSD):

#!/bin/sh
#
# reconfigNtpd, written by Jan Ceuleers, March 2003, revised October 2003
#
# Purpose: ntpd running on a machine that has intermittent connectivity to
#          the Internet, and that does not have a static public IP address,
#          loses its associations with public NTP servers, even after the
#          connection to the Internet has been restored.
#          Restarting the ntpd daemon is a possibility, but the downside
#          is that this causes time not to be served to local clients until
#          ntpd has regained synchronisation.
#          A better way is to configure at least one local clock (the local
#          clock 127.127.1.0 at high stratum and/or a refclock), to cover
#          for the periods when there is no Internet connectivity, and to
#          use this script to unconfig/add{server,peer} all public time
#          servers at runtime (i.e. without restarting the daemon)
#
# Usage: reconfigNtpd | ntpdc
#
# Bugs: * This script only generates unconfig/addpeer and unconfig/addserver
#         pairs. Any relevant fudge statements or iburst options etc. are
#         ignored.
#
#       * Location of keys file is hard-coded rather than being derived from
#         ntp.conf
#

###
#
# Get keyid and password from /etc/ntp/keys
#
###
set -- $(grep "^15" < /etc/ntp.keys)
echo keyid $1
echo passwd $3

###
#
# Derive unconfig commands from ntpdc output
#
###
ntpdc -n -p | awk '!/==/ && !/^ / { if (substr($1,2) !~ /^127.127./)
print "unconfig " substr($1,2) }'

###
#
# Derive addserver commands from /etc/ntp.conf
#
###
awk '/^server[[:blank:]]/ { if ($2 !~ /^127.127./) print "addserver " $2
}' /etc/ntp.conf

###
#
# Derive addpeer commands from /etc/ntp.conf
#
###
awk '/^peer[[:blank:]]/ { print "addpeer " $2 }' /etc/ntp.conf

echo quit

(источник - http://www.arda.homeunix.net/ntpsetup.html)

Записываем куда-нибудь, где не потеряется.

Конфиг ntpd следующего вида:
/etc/ntp.conf

server  <сервер>
server  <сервер>

logfile /var/log/ntp.log
driftfile /var/db/ntp.drift
statsdir /var/db/ntpstats/
keys /etc/ntp.keys
trustedkey 1 2 15
controlkey 15        # ntpq
requestkey 15        # ntpdc

Теперь надо сгенерить ключи для управления.
env RANDFILE=/dev/random ntp-keygen
В директории, где запускали ntp-keygen будет файл
с ключами и симлинк ntpkey_MD5key_<название хоста>
В нём будут записаны 16 ключей надо взять содержимое этого файла и запихнуть его в /etc/ntp.keys

теперь (пере)запускаем ntpd
Для проверки делаем ./reconfigNtpd | ntpdc
Если про ошибки ничего не будет написано, значит всё хорошо.

Теперь цепляем это на ppp
Для этого пишем в файл /etc/ppp/ppp.linkup такое:

<название подключения>:
  !bg sh -c "sleep 5; <путь>/reconfigNtpd | ntpdc"

Задержку в 5 секунд сделал для того, чтобы ntpdc запустился после прописывания маршрута.

URL:
Обсуждается: http://www.opennet.ru/tips/info/1741.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от guest (??) on 22-Авг-08, 14:04 
просто хочу обратить внимание, что провайдер (в России) не имеет права самовольно приостанавливать предоставление услуг связи
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от User294 (??) on 22-Авг-08, 21:14 
>просто хочу обратить внимание, что провайдер (в России) не имеет права самовольно
>приостанавливать предоставление услуг связи

Дело в том что в случае PPPoE эти пи...сы просто режут сессию кусками по 24 часа.Особенности работы биллинговой системы - чтобы было что тарифицировать, ну и неплательщики заодно в пределах 24 часов обнаруживают что они забыли заплатить :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от mike_t on 22-Авг-08, 16:09 
а не изобретаете ли вы велосипед? в последних версия ntpd это победили
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от Furcube (ok) on 22-Авг-08, 21:04 
Возможно, но мне пришлось так делать.

У раньше было через ntpdate, настроил ntpd, но он слетал, когда обрубали канал. Потому пришлось делать так.

Хотя возможно установка ntpd из портов поможет, но хотелось сделать на базовой системе.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от universite email(ok) on 24-Авг-08, 09:35 
После реконнекта тупо рестартуем ntpd
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от Sergei Vasilyev email on 28-Авг-08, 16:59 
> После реконнекта тупо рестартуем ntpd

Тупое, но неудачное решение. Прочтите внимательно:

#          Restarting the ntpd daemon is a possibility, but the downside

#          is that this causes time not to be served to local clients until

#          ntpd has regained synchronisation.

#          A better way is to configure at least one local clock (the local

#          clock 127.127.1.0 at high stratum and/or a refclock), to cover

#          for the periods when there is no Internet connectivity, and to

#          use this script to unconfig/add{server,peer} all public time

#          servers at runtime (i.e. without restarting the daemon)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от universite email(ok) on 28-Авг-08, 18:38 
>> После реконнекта тупо рестартуем ntpd
>
>Тупое, но неудачное решение. Прочтите внимательно:
>

Написать можно что угодно.
У меня частенько стратум падает с 2 до 3.
Помогает только рестарт.
При высокой загрузке канала у ntp-демона наступает деградация.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от Touch on 22-Сен-08, 17:59 
Добавить в ntp.conf после основных серверов
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0
fudge   127.127.1.0 stratum 10
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "ntpd на FreeBSD с подключением через PPP"  
Сообщение от Touch on 22-Сен-08, 22:55 
и ещё, ключи генерировать пришлось так:
env RANDFILE=/dev/random ntp-keygen -M
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру