在centos6 / rhel上进行ptp时间同步

我需要使用PTP(精确时间协议)build立时间同步。 我会得到服务器地址。 我find了ptpd服务器(版本2.1) 。 我在/etc/init.d中创build了启动文件。 但想知道除了显示我应该使用哪个接口来监听广播外,还有哪些选项。 有没有人有经验设置这个?

这里是我已经做的步骤,并得到ptp作为奴隶工作。 我在Centos 6.0上使用了ptpd2,但应该可以在任何地方工作。 我在网上find的启动脚本 – 今天再也找不到这个链接。

从sourceforge下载ptpd2源码包 。

下载之后,编译它:

tar xzfv ptpd-2.1.0.tar.gz cd ptpd-2.1.0/src make sudo cp ptpd2 /usr/bin/ptpd2 

/etc/rc.d/init.d/ptpd2为ptpd2创build启动脚本

 #!/bin/sh # # ptpd Precision Time Protocol daemon # # chkconfig: - 30 70 # description: ptpd implements a sub ms time coordination of LAN connected computers \ # implementing IEEE 1588 # Source function library. . /etc/rc.d/init.d/functions exec="/usr/bin/ptpd2" prog="ptpd2" [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog lockfile=/var/lock/subsys/$prog start() { [ -x $exec ] || exit 5 echo -n $"Starting $prog: " # if not running, start it up here, usually something like "daemon $exec" daemon --user root $exec $PTPDARGS retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " # stop it here, often "killproc $prog" killproc $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { restart } force_reload() { restart } rh_status() { # run checks to determine if the service is running or use generic status status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac exit $? 

/etc/sysconfig/ptpd2创buildconfiguration文件:

 # # PTPD Configuration # PTPDARGS="-D -b eth2 -f /var/log/ptpd.log" 

添加ptpd在系统启动时启动:

 /sbin/chkconfig --level 35 ptpd2 on 

并启动ptpd守护进程: service start ptpd2

请享用。

让我知道如果你有更好的解决scheme。