Why Are Some NTS Servers Marked as 'Distro-Only' in the Server List?

Servers labeled "distro-only" in the NTS server list are Ubuntu's public NTP servers reserved exclusively for Ubuntu distribution use to prevent service overload and respect usage policies.

The jauderho/nts-servers repository maintains a curated YAML database of Network Time Security (NTS) servers, with specific entries in nts-sources.yml flagged as distribution-only. These marked servers—1.ntp.ubuntu.com through 4.ntp.ubuntu.com—are provisioned by Canonical exclusively for Ubuntu installations and are not intended for general public consumption.

What "Distro-Only" Means in the NTS Context

In the context of this repository, "distro-only" indicates that an NTP server is reserved for use by a specific Linux distribution rather than the general internet population.

Ubuntu's Distribution-Only NTP Servers

The entries carrying the Distro label correspond to Ubuntu's public NTP infrastructure. In nts-sources.yml, these records contain location: Distro and the explicit note notes: Distro use only【/cache/repos/github.com/jauderho/nts-servers/main/nts-sources.yml#L11-L34】. The README reflects this data in the Location column showing Distro alongside the restriction note【/cache/repos/github.com/jauderho/nts-servers/main/README.md#L35-L38】.

Why Distro-Only Servers Are Flagged

The maintainers deliberately annotate these servers to guide downstream users and automated configuration tools. This marking serves three critical purposes according to the jauderho/nts-servers source code.

Preventing Generic Pool Contamination

By flagging these entries, the repository ensures automated tools do not pull Ubuntu's servers into generic NTP pools. These endpoints are not meant to be shared beyond Ubuntu hosts, and including them in public pool rotations would violate their intended scope.

Avoiding Accidental Overload

Ubuntu's NTP servers are sized specifically for the distribution's own client base. Additional external traffic from non-Ubuntu systems could degrade service quality for legitimate Ubuntu users. The Distro label acts as a warning to prevent accidental overloading of infrastructure not designed for universal public access.

Respecting Provider Usage Policies

Canonical explicitly stipulates that these distribution-only NTP endpoints should not be used by other operating systems or third-party services. The marking ensures compliance with Ubuntu's terms of service while still making the server information available for Ubuntu users who legitimately need it.

How to Filter Distro-Only Servers from the List

When generating configuration files from this repository, you may want to exclude these restricted entries. The repository structure makes this straightforward through multiple approaches.

Exclude Using Python

You can filter the YAML source programmatically to omit distro-only entries:

import yaml

def load_servers(yaml_path):
    with open(yaml_path) as f:
        data = yaml.safe_load(f)
    # Keep only servers that are not marked as Distro

    return [
        s for s in data["servers"]
        if s.get("location") != "Distro"
    ]

servers = load_servers("nts-sources.yml")
for s in servers:
    print(f"{s['hostname']} ({s['location']})")

Filter with Command-Line Tools

For quick shell-based filtering, use grep to exclude the Distro entries from the YAML source:

grep -v "location: Distro" nts-sources.yml | grep -B2 "hostname:" | grep "hostname:" | cut -d ':' -f2-

Modify the Converter Script Output

The scripts/ntpServerConverter.py groups servers by location, including the Distro section. To generate configs without these entries, run the converter and strip the Distro block:

./scripts/ntpServerConverter.py nts-sources.yml > full.md

# Remove the Distro block

sed -n '/^## The List/,/^|---/p' full.md | \

  awk '!/Distro/ && !/Distro use only/'

As implemented in jauderho/nts-servers, the converter handles location grouping and adds comments at lines 27-44 of ntpServerConverter.py【/cache/repos/github.com/jauderho/nts-servers/main/scripts/ntpServerConverter.py#L27-L44】.

Key Source Files and Implementation

Three core files implement the distro-only marking system:

  • nts-sources.yml: The master YAML list containing location: Distro and notes: Distro use only for Ubuntu entries【/cache/repos/github.com/jauderho/nts-servers/main/nts-sources.yml#L11-L34】.

  • README.md: The human-readable table displaying Distro locations and restriction notes for GitHub viewers【/cache/repos/github.com/jauderho/nts-servers/main/README.md#L35-L38】.

  • scripts/ntpServerConverter.py: The conversion utility that processes location fields and generates chrony.conf, ntp.toml, and Markdown outputs, implementing the grouping logic that separates Distro entries from general pool servers【/cache/repos/github.com/jauderho/nts-servers/main/scripts/ntpServerConverter.py#L27-L44】.

Summary

  • Distro-only servers are Ubuntu's NTP infrastructure (1.ntp.ubuntu.com through 4.ntp.ubuntu.com) reserved exclusively for Ubuntu distribution use.
  • Explicit YAML markings in nts-sources.yml use location: Distro and notes: Distro use only to flag these restricted entries.
  • Overload prevention motivates the restriction, as these servers are sized specifically for Ubuntu's client base rather than general internet traffic.
  • Easy filtering is possible through Python scripts, command-line tools, or by modifying the ntpServerConverter.py output to exclude Distro-labeled entries.

Frequently Asked Questions

Can I use distro-only NTS servers if I'm not running Ubuntu?

No. These servers are provisioned exclusively for Ubuntu installations, and using them from other operating systems violates Canonical's usage policies while potentially degrading service for legitimate Ubuntu users.

How does the repository mark these servers in the data files?

According to the jauderho/nts-servers source code, the repository marks these servers in nts-sources.yml with the field location: Distro and the note Distro use only【/cache/repos/github.com/jauderho/nts-servers/main/nts-sources.yml#L11-L34】. These fields propagate to the README table and configuration outputs generated by scripts/ntpServerConverter.py.

Will the converter scripts automatically exclude distro-only servers?

No. The scripts/ntpServerConverter.py includes distro-only servers in its output to ensure Ubuntu users can access them. You must explicitly filter these entries using the Python, grep, or awk methods shown above if you wish to exclude them from generated configurations.

What happens if I accidentally use a distro-only server?

Your NTP client will likely function normally initially, but you risk having your access blocked by Canonical or contributing to server overload. The jauderho/nts-servers repository provides clear labeling specifically to help you avoid this configuration error.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →