|
|
- # Configuring NTPD with UCI
-
- ## Precedent
- Sysntpd is the lightweight implementation of the NTP protocol under
- Busybox. It supports many (but not all) of the same parameters.
-
- It is configured as a `config timeserver ntp` section in `/etc/config/system`,
- below.
-
- ## Configuration
-
- A sample configuration looks like:
-
- **/etc/config/system**:
-
- ```
- config timeserver ntp
- option enabled 1
- option enable_server 1
- list server tick.udel.edu
- list server tock.udel.edu
- list interface eth0
- list interface eth1
- list interface eth2
- ```
-
- If you want to temporarily disable the service without deleting all of the
- configuration state, this is done by clearing the `enabled` parameter. If
- this parameter is `1` (the default), the service is enabled.
-
- The service can run as a stand-alone client (`enable_server 0`, the default)
- or it can also operate as a server in turn to local clients, by setting this
- parameter to `1`.
-
- The parameter(s) `server` enumerate a list of servers to be used for
- reference NTP servers by the local daemon. At least one is required,
- and two or more are recommended (unless you have an extremely available
- local server). They should be picked to be geographically divergent,
- and preferrably reachable via different network carriers to protect
- against network partitions, etc. They should also be high-quality
- time providers (i.e. having stable, accurate clock sources).
-
- The `interface` parameter enumerates the list of interfaces on which
- the server is reachable (see `enable_server 1` above), and may be a
- subset of all of the interfaces present on the system. For security
- reasons, you may elect to only offer the service on internal networks.
- If omitted, it defaults to _all_ interfaces.
-
- ## Differences with `sysntpd`
-
- Busybox `sysntpd` supports configuring servers based on DHCP
- provisioning (option 6, per the [DHCP and BOOTP
- Parameter](https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml)
- list from IANA). This functionality is enabled (in Busybox) with the
- `use_dhcp` boolean parameter (default `1`), and the `dhcp_interface`
- list parameter, which enumerates the interfaces whose provisioning
- is to be utilized.
-
- ### Considerations for DHCP-provisioned NTP servers
-
- Most terrestrial and satellite ISPs have access to very high-quality
- clock sources (these are required to maintain synchronization on T3,
- OC3, etc trunks or earth terminals) but seldom offer access to those
- time sources via NTP in turn to their clients, mostly from a misplaced
- fear that their time source might come under attack (a slave closely
- tied to the master could also provide extremely high-quality time
- without the risk of network desynchronization should it come under
- sophisticated attack).
-
- As a result, the NTP servers that your ISP may point you at are
- often of unknown/unverified quality, and you use them at your own
- risk.
-
- Early millenial versions of Windows (2000, XP, etc) used NTP only
- to _initially set_ the clock to approximately 100ms accuracy (and
- not maintain sychronization), so the bar wasn't set very high.
- Since then, requirements for higher-qualty timekeeping have
- arisen (e.g. multi-master SQL database replication), but most ISPs
- have not kept up with the needs of their users.
-
- Current releases of Windows use Domain Controllers for time
- acquisition via the [NT5DS protocol](https://blogs.msdn.microsoft.com/w32time/2007/07/07/what-is-windows-time-service/)
- when domain joined.
-
- Because of the unreliable quality of NTP servers DHCP-provisioned by
- ISPs, support for this functionality was deemed unnecessary.
|