299 lines
14 KiB
Text
299 lines
14 KiB
Text
@@PROLOGUE
|
|
<html>
|
|
<head>
|
|
<title>Frequently asked questions</title>
|
|
<meta name="description" content="Chrony FAQ (frequently asked questions)">
|
|
<meta name="keywords" content="chrony,network time protocol,NTP,RFC 1305,dial-up connection,real time clock,RTC,Linux,FAQ,frequently asked questns">
|
|
<?php
|
|
$root = ".";
|
|
include "$root/styles.php";
|
|
?>
|
|
</head>
|
|
|
|
<body>
|
|
<?php
|
|
include 'main_banner.php';
|
|
include 'header.php';
|
|
?>
|
|
<?php pretty_h1("Introduction") ?>
|
|
<p>
|
|
This is a set of questions and answers to common problems and issues.
|
|
<p>
|
|
As we receive more emails about the software, we will add new questions
|
|
to this page.
|
|
<hr>
|
|
<p>
|
|
The developers can be reached via the chrony-dev mailing list. See
|
|
<a href="#question_1.4">question 1.4.</a> for details.
|
|
<hr>
|
|
|
|
<br clear=all>
|
|
@@ENDPROLOGUE
|
|
S: Administrative issues
|
|
|
|
Q: Where can I get chrony source code?
|
|
Tarballs are available via the <b>Download</b> link on the Chrony
|
|
Web site. For the current development from the developers' version control
|
|
system see the <b>Git</b> link on the Web site.
|
|
|
|
Q: Are there any packaged versions of chrony?
|
|
We are aware of packages for Debian, Fedora, Gentoo, Mandriva, Slackware,
|
|
and Ubuntu. We are not involved with how these are built or distributed.
|
|
|
|
Q: Where is the home page?
|
|
It is currently at <a href="http://chrony.tuxfamily.org/">http://chrony.tuxfamily.org/</a>.
|
|
|
|
Q: Is there a mailing list?
|
|
Yes, it's currently at chrony-users@chrony.tuxfamily.org. There is a low-volume
|
|
list called chrony-announce which is just for announcements of new releases or
|
|
similar matters of high importance. You can join the lists by sending a
|
|
message with the subject subscribe to <a href="mailto:chrony-users-request@chrony.tuxfamily.org">chrony-users-request@chrony.tuxfamily.org</a> or
|
|
<a href="mailto:chrony-announce-request@chrony.tuxfamily.org">chrony-announce-request@chrony.tuxfamily.org</a> respectively.
|
|
|
|
For those who want to contribute to the development of chrony, there is a
|
|
developers' mailing list. You can subscribe by sending mail with the
|
|
subject subscribe to
|
|
<a href="mailto:chrony-dev-request@chrony.tuxfamily.org">chrony-dev-request@chrony.tuxfamily.org</a>.
|
|
|
|
Q: What licence is applied to chrony?
|
|
Starting from version 1.15, chrony is licensed under the GNU General Public
|
|
License, Version 2. Versions prior to 1.15 were licensed under a custom BSD-like
|
|
license.
|
|
|
|
S: Chrony compared to other programs
|
|
Q: How does chrony compare to xntpd?
|
|
If your computer is permenently connected, or connected for long periods (that
|
|
is, for the several hours it takes xntpd to settle down), or you need to
|
|
support hardware reference clocks to your computer, then xntpd will work fine.
|
|
Apart from not supporting hardware clocks, chrony will work fine too.
|
|
|
|
If your computer connects to the 'net for 5 minutes once a day (or something
|
|
like that), or you turn your Linux computer off when you're not using
|
|
it, or you want to use NTP on an isolated network with no hardware clocks in
|
|
sight, chrony will work much better for you.
|
|
|
|
The reason I wrote chrony was that I could not get xntpd to do
|
|
anything sensible on my PC at home, which is connected to the 'net for
|
|
about 5 minutes once or twice a day, mainly to upload/download email
|
|
and news. Nowadays it is also turned off for 22-23 hours a day, when
|
|
not in use. I wanted a program which would :
|
|
|
|
- slew the time to correct it when I go online and NTP servers become visible
|
|
|
|
- determine the rate at which the computer gains or loses time and use this
|
|
information to keep it reasonably correct between connects to the 'net. This
|
|
has to be done using a method that does not care about the intermittent
|
|
availability of the references or the fact the computer is turned off between
|
|
groups of measurements..
|
|
|
|
- maintain the time across reboots, by working out the error and drift rate of
|
|
the computer's real-time clock and using this information to set the system
|
|
clock correctly at boot up. (In the last few months, it became impossible for
|
|
me to leave my computer powered permanently.)
|
|
|
|
Also, when working with isolated networks with no true time references
|
|
at all, I found xntpd gave me no help with managing the local clock's
|
|
gain/loss rate on the NTP master node (which I set from my watch). I
|
|
added some automated support in chrony to deal with this.
|
|
|
|
S: Selection of NTP servers
|
|
Q: I have several computers on a LAN. Should I make one the master, or make them all clients of an external server?
|
|
I think the best configuration is to make one computer the master, with the
|
|
others as clients of it. Add a 'local' directive to the master's chrony.conf
|
|
file. This configuration will be better because
|
|
|
|
* the load on the external connection is less
|
|
* the load on the external NTP server(s) is less
|
|
* if your external connection goes down, the computers on the LAN will maintain
|
|
a common time with each other.
|
|
|
|
S: Addressing issues
|
|
Q: I get the following error message : "Could not get IP adress for localhost"
|
|
Add a line like the following to your /etc/hosts file
|
|
127.0.0.1 localhost
|
|
|
|
Q: I have problems if I put the names of my NTP servers in the chrony.conf file.
|
|
If you have no connection to the Internet at boot time, chrony won't be able to
|
|
turn the names into IP addresses when it starts. There seem to be 2 solutions:
|
|
|
|
1. Put the numeric IP addresses in the chrony.conf file
|
|
or
|
|
2. Put the server->IP address mappings in your /etc/hosts file and ensure that
|
|
/etc/host.conf reads 'order hosts,bind'.
|
|
|
|
The problem is that chronyd (currently) isn't designed in a way that allows
|
|
hostname->IP address lookups during normal operation. I hope to work on this
|
|
problem very soon.
|
|
|
|
S: My computer is not synchronising.
|
|
This is the most common problem. There are a number of reasons, see the
|
|
following questions.
|
|
|
|
Q: Behind a firewall?
|
|
If there is a firewall between you and the NTP server you're trying to use,
|
|
the packets may be blocked. Try using a tool like etherfind or tcpdump to see
|
|
if you're getting responses from the server. If you have an external modem,
|
|
see if the receive light blinks straight after the transmit light (when the
|
|
link is quiet apart from the NTP traffic.) Try adding 'log measurements' to
|
|
the chrony.conf file and look in the measurements.log file after chrony has
|
|
been running for a short period. See if any measurements appear.
|
|
|
|
Most people run chronyd on the firewall itself, to avoid all issues of UDP
|
|
packet forwarding and/or masquerading.
|
|
|
|
Q: Do you have a non-permanant (i.e. intermittent) Internet connection?
|
|
Check that you're using chronyc's 'online' and 'offline' commands
|
|
appropriately. Again, check in measurements.log to see if you're getting any
|
|
data back from the server.
|
|
|
|
Q: In measurements.log, do the '7' and '8' flag columns always show zero?
|
|
Do you have a 'local stratum X' directive in the chrony.conf file? If X is
|
|
lower than the stratum of the server you're trying to use, this situation will
|
|
arise. You should always make X quite high (e.g. 10) in this directive.
|
|
|
|
S: Issues with chronyc
|
|
|
|
Q: I keep getting the error '510 No command access from this host --- Reply not authenticated'.
|
|
Make sure that the chrony.conf file (on the computer where chronyd is running)
|
|
has a 'cmdallow' entry for the computer you are running chronyc on. This
|
|
shouldn't be necessary for localhost, but some people still seem to need an
|
|
entry like 'cmdallow 127.0.0.1'. (It would be good to understand why problem
|
|
only affects some people).
|
|
|
|
Q: I cannot log in from chronyc to carry out privileged tasks.
|
|
This is the second most common problem.
|
|
|
|
Perhaps your /etc/chrony.keys file is badly formatted. Make sure that the
|
|
final line has a line feed at the end, otherwise the key on that line will work
|
|
as though the last character is missing. (Note, this bug was fixed in version
|
|
1.16.)
|
|
|
|
Q: When I enter a command and hit <Return>, chronyc hangs
|
|
This probably means that chronyc cannot communicate with chronyd.
|
|
|
|
Perhaps chronyd is not running. Try using the ps command (e.g. on Linux, 'ps
|
|
-auxw') to see if it's running. Or try 'netstat -a' and see if the ports
|
|
123/udp and 323/udp are listening. If chronyd is not running, you may have a
|
|
problem with the way you are trying to start it (e.g. at boot time).
|
|
|
|
Perhaps you have a firewall set up in a way that blocks packets on port
|
|
323/udp. You need to amend the firewall configuration in this case.
|
|
|
|
Q: Is the chronyc<->chronyd protocol documented anywhere?
|
|
Only by the source code :-) See cmdmon.c (chronyd side) and client.c (chronyc
|
|
side).
|
|
|
|
S: Real-time clock issues.
|
|
Q: What is the real-time clock (RTC)?
|
|
This is the clock which keeps the time even when your computer is turned off.
|
|
It works with 1 second resolution. chronyd can monitor the rate at which the
|
|
real-time clock gains or loses time, and compensate for it when you set the
|
|
system time from it at the next reboot. See the documentation for details.
|
|
|
|
Q: I want to use chronyd's real-time clock support. Must I disable hwclock?
|
|
The hwclock program is often set-up by default in the boot and shutdown scripts
|
|
with many Linux installations. If you want to use chronyd's real-time clock
|
|
support, the important thing is to disable hwclock in the <b>shutdown</b>
|
|
procedure. If you don't, it will over-write the RTC with a new value, unknown
|
|
to chronyd. At the next reboot, chronyd will compensate this (wrong) time with
|
|
its estimate of how far the RTC has drifted whilst the power was off, giving a
|
|
meaningless initial system time.
|
|
|
|
There is no need to remove hwclock from the boot process, as long as chronyd is
|
|
started after it has run.
|
|
|
|
Q: I just keep getting the '513 RTC driver not running' message
|
|
For the real time clock support to work, you need the following three things:
|
|
|
|
* a kernel that is supported (e.g. 2.2 onwards)
|
|
* enhanced RTC support compiled into the kernel
|
|
* an 'rtcfile' directive in your chrony.conf file.
|
|
|
|
S: Microsoft Windows
|
|
|
|
Q: Does chrony support Windows?
|
|
No. The chronyc program (the command-line client used for configuring
|
|
chronyd while it is running) has been successfully built and run under Cygwin
|
|
in the past. chronyd is not portable, because part of it is very
|
|
system-dependent. It needs adapting to work with Windows' equivalent of the
|
|
adjtimex() call, and it needs to be made to work as an NT service.
|
|
|
|
Q: Are there any plans to support Windows?
|
|
We have no plans to do this. Anyone is welcome to pick this work up and
|
|
contribute it back to the project.
|
|
|
|
Q: What alternative NTP clients are there for Windows?
|
|
Some of the names we've seen mentioned are
|
|
- Automachron
|
|
- NetTime (nettime.sourceforge.net)
|
|
|
|
S: NTP-specific issues
|
|
Q: Can chrony be driven from broadcast NTP servers?
|
|
No. I remember looking at how they worked when I was first writing chrony.
|
|
Since the 'target market' then was dial-up systems, broadcast packets were not
|
|
relevant so I didn't bother working out how to deal with the complexities of
|
|
doing the delay estimation.
|
|
|
|
I no longer have root access to a LAN environment to develop and test broadcast
|
|
server support. Neither have I the time to work on this. I would be very
|
|
happy to accept a patch from anyone who can develop, test and debug the
|
|
necessary changes!
|
|
|
|
Q: Can chronyd transmit broadcast NTP packets (e.g. to synchronise other computers on a private LAN)?
|
|
Yes. Starting from version 1.17, chrony has this capability.
|
|
|
|
Q: Can chrony keep the system clock a fixed offset away from real time?
|
|
I have not experimented much, but I don't believe this would be possible as
|
|
the program currently stands.
|
|
|
|
Q: What happens if the network connection is dropped without using chronyc's 'offline' command first?
|
|
In this case chronyd will keep trying to access the server(s) that it thinks
|
|
are online. Eventually it will decide that they are unreachable and no longer
|
|
consider itself synchronised to them. If you have other computers on your LAN
|
|
accessing the computer that is affected this way, they too will become
|
|
'unsynchronised', unless you have the 'local' directive set up on the master
|
|
computer.
|
|
|
|
The 'auto_offline' option to the 'server' entry in the chrony.conf file may be
|
|
useful to avoid this situation.
|
|
|
|
S: Development
|
|
|
|
Q: Can I get the source via git from anywhere?
|
|
Yes. See the Git link at <a
|
|
href="http://chrony.tuxfamily.org/">http://chrony.tuxfamily.org</a> for
|
|
information.
|
|
|
|
S: Linux-specific issues
|
|
|
|
Q: Why does the source code include kernel header files?
|
|
The program needs to see the definitions of structures used to interact with
|
|
the real time clock (via /dev/rtc) and with the adjtimex() system call. Sadly
|
|
this has led to a number of compilation problems with newer kernels which have
|
|
been increasingly hard to fix in a way that makes the code compilable on all
|
|
Linux kernel versions. Hopefully
|
|
the situation will not deteriorate further with future kernel versions.
|
|
|
|
Q: I get "Could not open /dev/rtc, Device or resource busy" in my syslog file.
|
|
Check that you haven't accidentally got two copies of chronyd running (perhaps
|
|
defined in different start-up scripts.)
|
|
|
|
S: Solaris-specific issues
|
|
Q: On Solaris 2.8, I get an error message about not being able to open kvm to change dosynctodr.
|
|
(The dosynctodr variable controls whether Solaris couples the equivalent of its
|
|
BIOS clock into its system clock at regular intervals). The Solaris port of
|
|
chrony was developed in the Solaris 2.5 era. Some aspect of the Solaris kernel
|
|
has changed which prevents the same technique working. I no longer have root
|
|
access to any Solaris machines to work on this, and am reliant on somebody
|
|
developing the patch and testing it. A good starting point would be to see if
|
|
xntpd has been modified to work for Solaris 2.8.
|
|
|
|
@@EPILOGUE
|
|
<hr>
|
|
|
|
Back to
|
|
<a href="mailto:rc@rc0.org.uk?subject=chrony">the author</a>'s
|
|
<a href="http://www.rc0.org.uk/">main page</a>
|
|
</body>
|
|
</html>
|
|
@@ENDEPILOGUE
|