The "servers" directive works the same as the "server" directive, however, if the dns name resolves to multiple IP address, ALL of them will be synced to. 其实，默认的 "pool.ntp.org"已经可以满足大部分要求了。具体的时间服务器可以到这查看：www.pool.ntp.org/zone/asia

pool.ntp.org

Any number of "server" or "servers" directives may be used.

If you want the computer you run OpenNTPD on to also be a time server, simply uncomment and edit the "listen" directive.

For example:

listen on *

will listen on all interfaces.

and

listen on 127.0.0.1

will only listen on the loopback interface.

If you would like to run OpenNTPD at boot, add openntpd the DAEMONS variable in your /etc/rc.conf.

查看同步进度，可以查看 /var/log/daemon.log

即刻同步时间：

net time set /bin/date

ntp

pacman -S ntp

/etc/ntp.confConfiguration

The very first line of your ntp.conf file should contain a line such as the following:

restrict default noquery notrust nomodify

This essentially restricts everyone from modifying anything. Following this, you need to let ntpd know what you want to let through into your NTP server. Here is where you would specify any other ip addresses you would like to synchronize on your NTP server. For example:

restrict 1.2.3.4
restrict 192.168.0.0 mask 255.255.255.0 nomodify

This tells ntpd that 1.2.3.4 and all ip addresses from the 192.168.0.0 range will be allowed to synchronize on this server, but they will not be allowed to modify anything. All other IP addresses in the world will still obey the default restrictions (the first line in the ntp.conf).

Now, is where the stratum 2 servers that our server will synchronize with come into play. The lines in ntp.conf will be used to tell ntpd what servers we would like to use for synchronizing (these are just examples; use ntp servers that are closest to your location). Please see http://ntp.isc.org/bin/view/Servers/NTPPoolServers for a list a closer servers.

If we left it alone right now, we would never connect to a server because the response from any of the three servers listed above would never be allowed back into our server due to the fact that our default restrict statement would be in use (since we did not add the servers to our lesser restrictions (like we did with 127.0.0.1 and the subnet of 192.168.0.0).

This will allow the response from the above servers into our system so our local clock can be synchronized. The noquery restriction will not allow any of the above three servers to query for information from our server. The nomodify restriction will not allow the three servers to modify anything (synchronization will still take place).

The only thing left to do is add the drift file (which keeps track of yours clocks time deviation). and the log file location:

Take note that this is for a client and a server ntp.conf configuration. If you just want to synchronize with a stratum server and are not concerned with other PCs synchronizing with your ntp server, then you can do something like the following (note that only 127.0.0.1 is allowed to be synchronized):

You may wonder about all of the restrict lines. The reason for them is security. If you don't want a secure NTP server, don't add any restrict lines to your ntp.conf file. If you want a secure NTP server, start out by adding a default restrict that doesn't allow anything to contact your server, then add more (less restrictive) restrict lines - allowing certain addresses various access privileges.

/etc/rc.d/networkfilemodification

One more thing that you may want to do. 大多数情况下， /etc/ntp.conf 会被dhcp重写，为防止发生这情况，编辑 the /etc/conf.d/dhcpcd ， add -N to the line that starts with 'dhcpcd -t 10'.

FYI: This was my experience/solution with setting the time.

On my system my /etc/conf.d/dhcpcd contains a single line:

DHCPCD_ARGS="-t 30 -h $HOSTNAME"

I assume it needs to be changed to:

DHCPCD_ARGS="-N -t 30 -h $HOSTNAME"

Some have suggested adding -R to preserve /etc/resolv.conf as well.

TofixTimeuse/etc/rc.local

To set the correct time; Set time and start ntpd at boot via /etc/rc.local

With this configuration I get the correct time and ntpd running at boot.
There may be a better way, but this worked for me.
I hope it helps.

Updatingyoursystemimmediatelyusingntpdate

建议在/etc/rc.local加上下面一行，这样在系统启动时，就能和NTP时间同步 (服务器地址用一个对你来说快点的 NTP 服务器).

/usr/bin/ntpdate ntp1.cs.wisc.edu

Running ntpdate when you boot up is a good idea because ntpd may take a long time to synchronize your local clock depending on how far off the time is. If your clock is synchronized when ntpd starts, then it's sole purpose is to keep it synchronized. To run ntpd at startup, add ntpd to the daemons section of the /etc/rc.conf file.

ntpd will work well if you have a connection to the internet all the time. If you are using dialup, you may just want to stick with using ntpdate via the command line.

QueryingyourNTPserverusingntpq

There is a default restrict statement for the localhost that includes an ignore flag. Without overriding it (adding the line restrict127.0.0.1) you will not be able to query your NTP server. If that's not a concern to you, then leave out the restrict line for your localhost. You will still be able to synchronize with your stratum 2 servers.