常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

动态ip使用ntpd问题

 
发表新文章   回复文章    FreeBSD China -> 技术交流
阅读上一个主题 :: 阅读下一个主题  
作者 留言
Nashira
半仙


注册时间: 2007-01-16
文章: 13

文章发表于: Mon 2008-05-05 01:23:25    发表主题: 动态ip使用ntpd问题 引用并回复

小弟的机器使用adsl拨号上网,并开启ntpd服务进行对时,现在遇到的问题是adsl拨号使用动态获取的ip地址,在ip到期后会自动获得新的ip地址,但是ntpd并不会发现ip地址已经变了,依然监听在原来的ip上,这时的log如下:

代码:

May 4 23:52:03 nashira ntpd[898]: sendto(207.46.197.32): Permission denied
May 4 23:52:06 nashira ntpd[898]: sendto(129.6.15.29): Permission denied
May 4 23:52:23 nashira ntpd[898]: sendto(129.6.15.28): Permission denied
May 5 00:09:07 nashira ntpd[898]: sendto(207.46.197.32): Permission denied
May 5 00:09:11 nashira ntpd[898]: sendto(129.6.15.29): Permission denied
May 5 00:09:26 nashira ntpd[898]: sendto(129.6.15.28): Permission denied
May 5 00:26:11 nashira ntpd[898]: sendto(207.46.197.32): Permission denied
May 5 00:26:15 nashira ntpd[898]: sendto(129.6.15.29): Permission denied
May 5 00:26:31 nashira ntpd[898]: sendto(129.6.15.28): Permission denied


然后我就写了个脚本,当检测到ip发生变化的时候,ntpd restart,但是又有如下问题:
代码:

May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 7869 usec to 7786 usec for pid 1062 (getty)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 8098 usec to 8013 usec for pid 1061 (getty)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 18726 usec to 18529 usec for pid 967 (saslauthd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 4675 usec to 4626 usec for pid 963 (unlinkd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 2725 usec to 2696 usec for pid 954 (squid)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 875 usec to 866 usec for pid 954 (squid)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 19171 usec to 18970 usec for pid 758 (pure-ftpd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 85560 usec to 84663 usec for pid 758 (pure-ftpd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 853 usec to 844 usec for pid 740 (nfsd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 728 usec to 720 usec for pid 739 (nfsd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 5945 usec to 5882 usec for pid 738 (nfsd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 381300 usec to 377301 usec for pid 737 (nfsd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 58633 usec to 58018 usec for pid 735 (nfsd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 11038 usec to 10923 usec for pid 733 (mountd)
May 5 00:59:02 nashira kernel: calcru: runtime went backwards from 899 usec to 889 usec for pid 107 (adjkerntz)


我想是ntpd重起后更新时间发生了跳跃引起的,不知道各位达人有什么比较好的方法处理这个问题没有,还有named也有不能自动更新ip的问题,不知道是不是我没掌握要领 Evil or Very Mad

代码:
# uname -a
FreeBSD nashira.3322.org 7.0-STABLE FreeBSD 7.0-STABLE #0: Mon Apr 28 19:06:46 CST 2008     root@nashira.3322.org:/usr/obj/usr/src/sys/route  i386


代码:

rc.conf
ntpd_enable="YES"
ntpd_flags="-g -x -p /var/run/ntpd.pid -L"
返回页首
阅览会员资料 发送站内信件
delphij
精神病


注册时间: 2002-08-07
文章: 8427
来自: Mountain View, California

文章发表于: Mon 2008-05-05 07:14:01    发表主题: 引用并回复

很奇怪……你用的是真的计算机么?还是一个VM?
_________________
BSD是独立的一蹴,我们有自己的圈子,我们不以商业驱动,追求完美是我们的源动力,任何不好的代码都不能在这里存活。
返回页首
阅览会员资料 发送站内信件 发送电子邮件 浏览发表者的主页 MSN Messenger
Nashira
半仙


注册时间: 2007-01-16
文章: 13

文章发表于: Mon 2008-05-05 12:25:36    发表主题: 引用并回复

用的真的计算机,主要是当路由器用,同时学习FreeBSD。使用网通和校园网双出口,是网通出口ip总变。

代码:

 # dmesg
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-STABLE #0: Mon Apr 28 19:06:46 CST 2008
    root@nashira.3322.org:/usr/obj/usr/src/sys/route
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (731.47-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
  Features=0x387f9ff<FPU>
real memory  = 268369920 (255 MB)
avail memory = 257232896 (245 MB)
cpu0 on motherboard
pcib0: <Host> pcibus 0 on motherboard
pir0: <PCI> on motherboard
pci0: <PCI> on pcib0
agp0: <VIA> on hostb0
agp0: aperture size is 228M
pcib1: <PCI> at device 1.0 on pci0
pci1: <PCI> on pcib1
vgapci0: <VGA> mem 0xd0000000-0xd0ffffff,0xd2000000-0xd3ffffff irq 11 at device 0.0 on pci1
isab0: <PCI> at device 7.0 on pci0
isa0: <ISA> on isab0
atapci0: <VIA> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 7.1 on pci0
ata0: <ATA> on atapci0
ata0: [ITHREAD]
ata1: <ATA> on atapci0
ata1: [ITHREAD]
pci0: <bridge> at device 7.3 (no driver attached)
rl0: <RealTek> port 0xd800-0xd8ff mem 0xd5422000-0xd54220ff irq 11 at device 9.0 on pci0
miibus0: <MII> on rl0
rlphy0: <RealTek> PHY 0 on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:e0:4c:94:be:50
rl0: [ITHREAD]
xl0: <3Com> port 0xdc00-0xdc7f mem 0xd5420000-0xd542007f irq 10 at device 11.0 on pci0
miibus1: <MII> on xl0
xlphy0: <3c905C> PHY 24 on miibus1
xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
xl0: Ethernet address: 00:01:02:83:06:6b
xl0: [ITHREAD]
fxp0: <Intel> port 0xe000-0xe03f mem 0xd5421000-0xd5421fff,0xd5400000-0xd541ffff irq 12 at device 12.0 on pci0
miibus2: <MII> on fxp0
inphy0: <i82555> PHY 1 on miibus2
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:02:b3:32:f8:fa
fxp0: [ITHREAD]
pmtimer0 on isa0
orm0: <ISA> at iomem 0xc0000-0xcffff pnpid ORM0000 on isa0
atkbdc0: <Keyboard> at port 0x60,0x64 on isa0
atkbd0: <AT> irq 1 on atkbdc0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
sc0: <System> at flags 0x100 on isa0
sc0: VGA <16>
vga0: <Generic> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
unknown: <PNP0303> can't assign resources (port)
unknown: <PNP0c01> can't assign resources (memory)
Timecounter "TSC" frequency 731472236 Hz quality 800
Timecounters tick every 1.000 msec
ipfw2 initialized, divert loadable, nat enabled, rule-based forwarding enabled, default to accept, logging limited to 100 packets/entry by default
ad0: 1935MB <SMI> at ata0-master WDMA2
Trying to mount root from ufs:/dev/ad0s1a
fxp0: link state changed to DOWN
fxp0: link state changed to UP
fxp0: link state changed to DOWN
fxp0: link state changed to UP
fxp0: link state changed to DOWN
fxp0: link state changed to UP
fxp0: link state changed to DOWN
fxp0: link state changed to UP
fxp0: link state changed to DOWN
fxp0: link state changed to UP
fxp0: link state changed to DOWN
fxp0: link state changed to UP
calcru: runtime went backwards from 7869 usec to 7786 usec for pid 1062 (getty)
calcru: runtime went backwards from 8098 usec to 8013 usec for pid 1061 (getty)
calcru: runtime went backwards from 18726 usec to 18529 usec for pid 967 (saslauthd)
calcru: runtime went backwards from 4675 usec to 4626 usec for pid 963 (unlinkd)
calcru: runtime went backwards from 2725 usec to 2696 usec for pid 954 (squid)
calcru: runtime went backwards from 875 usec to 866 usec for pid 954 (squid)
calcru: runtime went backwards from 19171 usec to 18970 usec for pid 758 (pure-ftpd)
calcru: runtime went backwards from 85560 usec to 84663 usec for pid 758 (pure-ftpd)
calcru: runtime went backwards from 853 usec to 844 usec for pid 740 (nfsd)
calcru: runtime went backwards from 728 usec to 720 usec for pid 739 (nfsd)
calcru: runtime went backwards from 5945 usec to 5882 usec for pid 738 (nfsd)
calcru: runtime went backwards from 381300 usec to 377301 usec for pid 737 (nfsd)
calcru: runtime went backwards from 58633 usec to 58018 usec for pid 735 (nfsd)
calcru: runtime went backwards from 11038 usec to 10923 usec for pid 733 (mountd)
calcru: runtime went backwards from 899 usec to 889 usec for pid 107 (adjkerntz)
fxp0: link state changed to DOWN
fxp0: link state changed to UP
fxp0: link state changed to DOWN
fxp0: link state changed to UP
fxp0: link state changed to DOWN
fxp0: link state changed to UP


xl0接教育网
rl0接adsl猫
fxp0接内网

代码:

#rc.conf
varmfs="YES"
tmpmfs="YES"
varsize="32M"
tmpsize="32M"

fsck_y_enable="YES"
keymap="us.iso"

ifconfig_fxp0="inet 192.168.18.254  netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.255.254  netmask 255.255.255.0"
ifconfig_xl0="inet a.b.c.d  netmask 255.255.255.0"
#ifconfig_xl0_alias0="link 00:02:3f:1a:47:5d"


hostname="nashira.3322.org"
gateway_enable="YES"

sshd_enable="YES"
mpd_enable="YES"
pureftpd_enable="YES"
squid_enable="YES"

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="NO"
ppp_profile="adsl"
ppp_adsl_unit="0"

#Firewall
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_script="/etc/ipfw.conf"


#DHCP Server
dhcpd_enable="YES"
dhcpd_ifaces="fxp0"

#BIND9
named_enable="YES"
named_chrootdir="/usr/local/named"

lighttpd_enable="YES"

#nfs server
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"

ntpd_enable="YES"
ntpd_flags="-g -x -p /var/run/ntpd.pid -L"

inetd_enable="YES"

sendmail_enable="YES"
saslauthd_enable="YES"
返回页首
阅览会员资料 发送站内信件
adamson
道士


注册时间: 2004-08-04
文章: 593
来自: Shenzhen

文章发表于: Mon 2008-05-05 12:33:43    发表主题: 引用并回复

代码:

# /etc/ppp/ppp.linkup
adsl:
 !bg /etc/rc.d/ntpd restart

_________________
don't get mad, get bacula.
返回页首
阅览会员资料 发送站内信件 MSN Messenger
Nashira
半仙


注册时间: 2007-01-16
文章: 13

文章发表于: Mon 2008-05-05 12:37:57    发表主题: 引用并回复

代码:

calcru: runtime went backwards from 7869 usec to 7786 usec for pid 1062 (getty)


这个提示在开机连续运行的两天内是没有的,网通ip两天过期,之后我ntpd restart了一下才出现的,之后又运行了1天了,也没再出现,所以我想是和ntpd有关。
返回页首
阅览会员资料 发送站内信件
Nashira
半仙


注册时间: 2007-01-16
文章: 13

文章发表于: Mon 2008-05-05 12:43:25    发表主题: 引用并回复

引用:
代码:

# /etc/ppp/ppp.linkup
adsl:
!bg /etc/rc.d/ntpd restart


我这从来没能成功运行过 Twisted Evil ,不知道为什么,所以我用cron每5分钟运行脚本,检查ip是否改变,同时更新3322.org的信息。
返回页首
阅览会员资料 发送站内信件
adamson
道士


注册时间: 2004-08-04
文章: 593
来自: Shenzhen

文章发表于: Mon 2008-05-05 14:07:32    发表主题: 引用并回复

重拨后,看 /var/log/ppp.log,

代码:

# /etc/ppp/ppp.linkup
adsl:
 !bg /etc/rc.d/ntpd restart


!bg 前面有个空格。

_________________
don't get mad, get bacula.
返回页首
阅览会员资料 发送站内信件 MSN Messenger
Nashira
半仙


注册时间: 2007-01-16
文章: 13

文章发表于: Mon 2008-05-05 15:39:28    发表主题: 引用并回复

有空格、tab,我也把权限改成777了,都不行,我再试试吧~

现在的问题是ntpd restart后就有
代码:

calcru: runtime went backwards from 7869 usec to 7786 usec for pid 1062 (getty)

这样的提示,最根本的是ntpd不会在ip改变后自动更新,非要restart才行。

代码:

#netstat -an
tcp4       0      0  127.0.0.1.53           *.*                    LISTEN
tcp4       0      0  192.168.18.254.53      *.*                    LISTEN
tcp4       0      0  219.217.63.240.53      *.*                    LISTEN
tcp4       0      0  192.168.255.254.53     *.*                    LISTEN
tcp4       0      0  *.80                   *.*                    LISTEN
udp4       0      0  58.244.51.121.123      *.*
udp4       0      0  127.0.0.1.123          *.*
udp4       0      0  192.168.18.254.123     *.*
udp4       0      0  a.b.c.d.123               *.*
udp4       0      0  192.168.255.254.123    *.*
udp4       0      0  *.123                  *.*
udp4       0      0  58.244.51.121.53       *.*
udp4       0      0  127.0.0.1.53           *.*
udp4       0      0  192.168.18.254.53      *.*
udp4       0      0  a.b.c.d.53             *.*
udp4       0      0  192.168.255.254.53     *.*

可以看到ntpd和named在每个ip上都有监听,当某一个ip改变时ntpd和named并不会随着改变,而不像lighttpd只监听*.80,这样在ip改变时并不受影响,不知道我这样的描述准不准确。
返回页首
阅览会员资料 发送站内信件
adamson
道士


注册时间: 2004-08-04
文章: 593
来自: Shenzhen

文章发表于: Mon 2008-05-05 16:20:12    发表主题: 引用并回复

我就是在发现 adsl 接入存在这样的问题后改用 ntpd restart 的,stunnel 也有类似的问题,当 client 设置中 connect = xxx.3322.org:port 时, server xxx.3322.org 的 ip 更变后,client 还记住 xxx.3322.org 的旧ip, 需要 stunnel restart 才能解决。

与 cron 相比,将 ntpd restart 写入 ppp.linkup 是比较合理的。

_________________
don't get mad, get bacula.
返回页首
阅览会员资料 发送站内信件 MSN Messenger
Nashira
半仙


注册时间: 2007-01-16
文章: 13

文章发表于: Mon 2008-05-05 16:44:39    发表主题: 引用并回复

好,我又试了一下ppp.linkup,还是不行 Crying or Very sad
代码:

# pwd
/etc/ppp
# ls -l
total 4
-rw-r--r--  1 root  wheel  400  4 29 01:08 ppp.conf
-rw-r--r--  1 root  wheel   71  5  5 16:34 ppp.linkup
# cat ppp.linkup
adsl:
 !bg /bin/echo `date` 'ppp.linkup test Ok' > /tmp/ppp.linkup.test
# sudo /etc/rc.d/ppp restart
返回页首
阅览会员资料 发送站内信件
adamson
道士


注册时间: 2004-08-04
文章: 593
来自: Shenzhen

文章发表于: Mon 2008-05-05 17:33:07    发表主题: 引用并回复

代码:

 !bg sh -c "/bin/echo `date` 'ppp.linkup test Ok' > /tmp/ppp.linkup.test"


Nashira 写到:
好,我又试了一下ppp.linkup,还是不行 Crying or Very sad
代码:

# pwd
/etc/ppp
# ls -l
total 4
-rw-r--r--  1 root  wheel  400  4 29 01:08 ppp.conf
-rw-r--r--  1 root  wheel   71  5  5 16:34 ppp.linkup
# cat ppp.linkup
adsl:
 !bg /bin/echo `date` 'ppp.linkup test Ok' > /tmp/ppp.linkup.test
# sudo /etc/rc.d/ppp restart

_________________
don't get mad, get bacula.
返回页首
阅览会员资料 发送站内信件 MSN Messenger
Nashira
半仙


注册时间: 2007-01-16
文章: 13

文章发表于: Tue 2008-05-06 02:02:12    发表主题: 引用并回复

这样可以用了,非常感谢 Very Happy
而且我测试了自己写的脚本加可执行权限不需要sh -c也可以用了 Smile

adamson 写到:
代码:

 !bg sh -c "/bin/echo `date` 'ppp.linkup test Ok' > /tmp/ppp.linkup.test"


Nashira 写到:
好,我又试了一下ppp.linkup,还是不行 Crying or Very sad
代码:

# pwd
/etc/ppp
# ls -l
total 4
-rw-r--r--  1 root  wheel  400  4 29 01:08 ppp.conf
-rw-r--r--  1 root  wheel   71  5  5 16:34 ppp.linkup
# cat ppp.linkup
adsl:
 !bg /bin/echo `date` 'ppp.linkup test Ok' > /tmp/ppp.linkup.test
# sudo /etc/rc.d/ppp restart


代码:

May 5 16:40:02 nashira ntpd[38040]: ntpd exiting on signal 15
May 5 16:40:02 nashira ntpd[54250]: ntpd 4.2.0-a Mon Apr 28 16:11:24 CST 2008 (1)
May 5 16:40:02 nashira ntpd[54250]: no IPv6 interfaces found
May 5 17:12:07 nashira ntpd[54250]: kernel time sync enabled 6001
May 5 17:15:19 nashira ntpd[54250]: kernel time sync enabled 2001

May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 33612 usec to 33181 usec for pid 37292 (php-cgi)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 33355 usec to 32927 usec for pid 37290 (php-cgi)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 33279 usec to 32852 usec for pid 37287 (php-cgi)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 33423 usec to 32995 usec for pid 37285 (php-cgi)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 18970 usec to 18727 usec for pid 969 (saslauthd)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 18987 usec to 18743 usec for pid 968 (saslauthd)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 18580 usec to 18328 usec for pid 966 (saslauthd)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 38732 usec to 38235 usec for pid 962 (saslauthd)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 11289 usec to 11144 usec for pid 961 (ncsa_auth)
May 5 22:29:59 nashira kernel: calcru: runtime went backwards from 615 usec to 606 usec for pid 0 (swapper)

看来这个提示也可能和ntpd restart没什么关系,但确实在这几天ntpd restart后发现的,并且前两次都是跟着ntpd出现的,我先再观察几天吧。
查到vmware中出现这个提示可以用:
代码:
#sysctl kern.timecounter.hardware=TSC

解决,我现在已经是TSC了:
代码:
# sysctl kern.timecounter.hardware
kern.timecounter.hardware: TSC

另外我禁用了acpi和apm,acpi会起不来,apm会让xl0出现watchdog timeout,一年多没记得有过"kernel: calcru:"的提示。
返回页首
阅览会员资料 发送站内信件
spyler
半仙


注册时间: 2007-01-11
文章: 50
来自: 湖南

文章发表于: Fri 2008-05-09 21:07:38    发表主题: 引用并回复

长见识了。
_________________
http://www.lhbbc.com/
返回页首
阅览会员资料 发送站内信件 发送电子邮件 浏览发表者的主页
从以前的文章开始显示:   
发表新文章   回复文章    FreeBSD China -> 技术交流 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2022cc © 2003 Opensource Steps; © 2003-2007 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标