ntp.conf 错误。意外的 T_String,预期的是 T_EOC

ntp.conf 错误。意外的 T_String,预期的是 T_EOC

我的 NTP 服务器有问题。它是一台 Ubuntu 14.04 VM。运行大约一天后它似乎挂了。启动后,它运行正常。我在系统日志中看到以下错误:

ntpd[901]: syntax error in /etc/ntp.conf line 37, column 19    
ntpd[901]: line 38 column 19 syntax error, unexpected T_String, expecting T_EOC

我以为这可能是一个配置问题,所以我导航到第 32 行第 19 列,那里只有子网掩码条目。这没有意义。所以我在网上搜索,在那里我找到了错误报告建议将其重命名/etc/ntp.conf.rpmnew/etc/ntp.conf。唯一的问题是文件已经命名为ntp.conf。所以那里是死路一条。我有点不知所措。任何帮助都将不胜感激。

这是ntp.conf文件。

#/etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/ntp.drift    
#Enable this if you want statistics to be logged.
statsdir /var/log/ntpstats/    

statistics loopstats peerstats clockstats    
filegen loopstats file loopstats type day enable    
filegen peerstats file peerstats type day enable    
filegen clockstats file clockstats type day enable    

#Specify one or more NTP servers.

   server 0.us.pool.ntp.org    
   server 1.us.pool.ntp.org    
   server 2.us.pool.ntp.org    
   server 3.us.pool.ntp.org    



restrict 10.x.0.0 255.255.0.0 nomodify notrap    
restrict 10.x.0.0 255.255.0.0 nomodify notrap    
restrict 10.x.0.0 255.255.0.0 nomodify notrap    
restrict 10.x.0.0 255.255.0.0 nomodify notrap    
restrict 10.x.0.0 255.255.0.0 nomodify notrap    
restrict 10.x.0.0 255.255.0.0 nomodify notrap    
restrict 10.x.0.0 255.255.0.0 nomodify notrap    
restrict 10.x.0.0 255.255.0.0 nomodify notrap    

#Local users may interrogate the ntp server more closely.    
restrict 127.0.0.1    
restrict ::1    

#If you want to provide time to your local subnet, change the next line.
#(Again, the address is an example only.)    
broadcast 10.x.x.x

答案1

我在 Windows 工作站上设置 NTP 客户端时遇到了同样的错误。

事实证明,“服务器 127.127.20.1 ...”行中有一个拼写错误,但并非具体出现在错误引用的列中。

就我而言,拼写错误是“minpoll”这个词,我把它写成了 minipoll。(服务器 127.127.20.1 minpoll 4 优先)

答案2

ntpd报告语法错误“就在 255 的开头“因为,嗯,这正是语法错误所在。

根据ntp.conf(5),该命令的正确语法restrict是:

restrict address[/cidr] [mask mask] [flag ...]

比较一下——很小心——使用文件restrict中的命令ntp.conf(提示:它们是不同的),修复您的restrict命令,并且ntpd不会再抱怨。


喂食法:

您需要 (1) 将缺失的“ mask”关键字添加到您的restrict命令中,或者 (2) 将您的restrict命令修改为 CIDR 表示法。

$ sed -i.bak -E -e 's/^(restrict 10.x.0.0) (255.255.0.0)/\1 mask \2/' /etc/ntp.conf

(顺便说一句,我很好奇你为什么认为有必要混淆RFC1918网络地址。需要对其进行混淆更多的努力,并且没有给你带来任何好处。

相关内容