PDA

Показать полную графическую версию : Linux NTP server


Страниц : [1] 2

Multya
28-05-2003, 15:31
Приветствую тебя многоуважаемый ALL.

Тут вот возникла проблема одна. Вернее она была давно, но вот только руки до нее дошли. Имеется локалка из надцати компов, и почти у всех разное системное время. Понятное дело что напрашивается синхронизация с NTP server. Есть также вышеописанный в сети. Может чего не так с ntpd, но виндюковые машины не синхронизируют время :(

1. NTP server - Linux 7.3 Red Hat
2. Виндюки - Win2000 Prof
Под виндой сказал:

C:\>net time /setsntp:192.168.0.8
Команда выполнена успешно.

C:\>net time /querysntp
Текущее значение SNTP: 192.168.0.8
Команда выполнена успешно.

А вот еще:
C:\>net time
Не удалось найти сервер времени.

Для вызова дополнительной справки наберите NET HELPMSG 3912.

Демон висит:
[root@karapuzik /]# ps aux | grep ntp
root * * 26130 *0.0 *2.7 *1700 1692 ? * * * *SL * 14:25 * 0:00 ntpd
[root@karapuzik /]#

Что посоветуете???


Исправлено: Multya, 11:00 29-05-2003

JeweL
28-05-2003, 16:28
у net time есть еще опция /set - не оно?

Multya
28-05-2003, 16:42
JeweL
Есть такая опция, но в данном моменте она не играет роли, потому как по команде net time должно вывестить сремя на NTP сервере. А на самом деле идет возврат об ошибке... см. выше!


К тому же все таки кажется что что-то не впоряде с ntp server - но только что?!?!

Исправлено: Multya, 17:46 28-05-2003

JeweL
28-05-2003, 17:17
Multya
может net time не на тот порт коннектится?
у меня файрвол показал что он коннектится с тайм-сервером по 139 порту TCP.
По-моему в самбе есть опции настройки на тайм-сервер (если память не изменяет)

Multya
28-05-2003, 17:38
JeweL
Фаервол специально "положил" чтобы не мешал. К тому же насколько Я знаю то net time-у низя указать явно на какой порт конектиться... А вот Sambы - нету!

Как узнать что ntp запущен и фунциклирует. У меня демон висит по ps, а вот делает ли он то, что должен делать?? может есть какае-то разница во временном формате между виндюковыми тазиками и linux-овым??

JeweL
28-05-2003, 17:45
узнать - запустить левый тайм-синхронайзер, а не net time

ps. netstat -tnlp | grep ntpd - слушает ли и какой порт

ruslandh
29-05-2003, 01:53
Multya
Может проблема в том, что самбы нет ?

может есть какае-то разница во временном формате между виндюковыми тазиками и linux-овым?

Очень может быть. Не зря-же синхронизацию времени в самбу внесли.

Barracuda
29-05-2003, 02:26
Multya
В Линуксе всё можно запустить в DEBUG-режиме. Запустите таким образом ntpd и помотрите логи.

Multya
29-05-2003, 09:57
JeweL

По netstat -tnlp | grep ntp ничего не показывает :((

А вот по ps aux | grep ntp говорит следующее
root     26973  0.0  2.6  1692 1684 ?        SL   09:44   0:00 ntpd -l /var/log/ntpd.log

Вот что говорит less /var/log/ntpd.log
29 May 09:44:45 ntpd[26973]: logging to file /var/log/ntpd.log
29 May 09:44:45 ntpd[26973]: ntpd 4.1.1@1.786 Wed May 28 13:47:52 EEST 2003 (1)
29 May 09:44:45 ntpd[26973]: signal_no_reset: signal 13 had flags 4000000
29 May 09:44:45 ntpd[26973]: precision = 16 usec
29 May 09:44:45 ntpd[26973]: kernel time discipline status 0040


что не так???

Barracuda
29-05-2003, 15:21
JeweL
netstat не покажет, какая прога слушает порт. Однако можно увидеть, какие вообще порты слушаются.
Multya
Такой момент - а на каком интерфейсе работает ntpd?

JeweL
29-05-2003, 15:42
Barracuda
почему не покажет? покажет прогу/pid слушающего процесса. Ключик -p за это отвечает

Multya
29-05-2003, 15:43
Barracuda

Не знаю как посмотреть, но если зпустить его повторно (при одном запущенном процесе). то в логах вот что:

29 May 15:32:02 ntpd[27399]: logging to file /var/log/ntpd.log
29 May 15:32:02 ntpd[27399]: ntpd 4.1.1@1.786 Wed May 28 13:47:52 EEST 2003 (1)
29 May 15:32:02 ntpd[27399]: signal_no_reset: signal 13 had flags 4000000
29 May 15:32:02 ntpd[27399]: precision = 22 usec
29 May 15:32:02 ntpd[27399]: bind() fd 3, family 2, port 123, addr 0.0.0.0, in_classd=0 flags=1 fails: Address already in use
29 May 15:32:02 ntpd[27399]: bind() fd 3, family 2, port 123, addr 127.0.0.1, in_classd=0 flags=0 fails: Address already in use
29 May 15:32:02 ntpd[27399]: bind() fd 3, family 2, port 123, addr 192.168.0.8, in_classd=0 flags=1 fails: Address already in use
29 May 15:32:02 ntpd[27399]: bind() fd 3, family 2, port 123, addr 192.168.1.105, in_classd=0 flags=1 fails: Address already in use
29 May 15:32:02 ntpd[27399]: kernel time discipline status 0040

192.168.0.8 смотрит в локалку
192.168.1.105 смтрит в мир. Не спрашивайте почему такой странній адрес для "мира", связь идет через IDSL соединение. Вот и получается что роутер имеет реальный айпишник, и пробрасывает все порты на внутреннюю подсеть 192.168.1.0


Отаке... И теперь висят оба процесса.

Исправлено: Multya, 16:51 29-05-2003


Исправлено: Multya, 16:54 29-05-2003

JeweL
29-05-2003, 16:57
а что говорит netstat -tnl ?

Danilo Ivanov
01-06-2003, 01:32
ntpd 123/udp  ->  netstat -unlp | grep ntpd

/etc/ntp.conf :

server127.127.1.0# local clock
fudge127.127.1.0 stratum 10
server clock.via.net
server time.nist.gov
server ntp1.gbg.netnod.se
server ntp1.fau.de
driftfile /etc/ntp/drift
broadcastdelay 0.008
authenticate no
restrict 127.0.0.0 mask 255.0.0.0 notrust nomodify notrap
restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap
statsdir /var/log/ntpd/
statistics loopstats
statistics peerstats

service ntpd restart -> syslog

Исправлено: Danilo Ivanov, 2:34 1-06-2003

Guest 80 247 100
03-06-2003, 06:54
/etc/init.d/ntpd status ?

Multya
03-06-2003, 09:19
Guest 80 247 100

ntpd ставился из сырцов, поэтому никаких скриптов в /etc/rc.d/init.d нету, и быть не могет...

Guest 80 247 100
03-06-2003, 11:34
:о)) ну сам напиши, со скриптами проще!

Добавлено:

попробуй кста убрать лишнее... оставь типа это только:

server <какой нить один, и лучше IP-адресс , и не 127.127.1.0 убери>
fudge 127.127.1.0 stratum 10
driftfile /etc/ntp/drift
authenticate no

остальное убери....
и еще, смотри чтоб перед стартом ntpd твоё локальное время не слишком отличалось от нормального! разница в час иногда неприемлема :о\

Multya
03-06-2003, 12:15
Guest 80 247 100

Не умею сам писать скрипты :( Пробовал по аналогии с готовыми что-то своять, не совсем получается а вернее совсем не получается :(

А что это за driftfile !?!?!? Зачем он нужен?

JeweL
03-06-2003, 12:25
Multya
Не умею сам писать скрипты
man bash тебе поможет
http://ln.com.ua/~openxs/projects/man/solaris8/index.html

Guest 80 247 100
03-06-2003, 12:55
Multya
мне кажется это временный файл... для чего не уточнял
вот тебе пример ntpd-скрипта ....из RedHat

#!/bin/sh
#
# ntpd          This shell script takes care of starting and stopping
#               ntpd (NTPv4 daemon).
#
# chkconfig: - 26 74
# description: ntpd is the NTPv4 daemon.

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

if [ -f /etc/sysconfig/ntpd ];then
       . /etc/sysconfig/ntpd
fi

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -x /usr/sbin/ntpd -a -f /etc/ntp.conf ] || exit 0
RETVAL=0
prog="ntpd"

start() {
       # Adjust time to make life easy for ntpd
       if [ -s /etc/ntp/step-tickers ]; then
               echo -n $"Synchronizing with time server: "
               /usr/sbin/ntpdate -s -b -p 8 -u \
                   `/bin/sed -e 's/#.*//' /etc/ntp/step-tickers`
               success
               echo
       fi
       # Start daemons.
       echo -n $"Starting daemon $prog: "
       daemon ntpd $OPTIONS
       RETVAL=$?
       echo
       [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ntpd
       return $RETVAL
}
stop() {
       # Stop daemons.
       echo -n $"Shutting down $prog: "
       killproc ntpd
       RETVAL=$?
       echo
       [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ntpd
       return $RETVAL
}

# See how we were called.
case "$1" in
 start)
       start
       ;;
 stop)
       stop
       ;;
 status)
       status ntpd
       RETVAL=$?
       ;;
 restart|reload)
       stop
       start
       RETVAL=$?
       ;;
 condrestart)
       if [ -f /var/lock/subsys/ntpd ]; then
           stop
           start
           RETVAL=$?
       fi
       ;;
 *)
       echo $"Usage: $0 {start|stop|restart|condrestart|status}"
       exit 1
esac

exit $RETVAL




© OSzone.net 2001-2012