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

> Discover why Ubuntu NTP servers are marked distro-only. Learn how this prevents overload and ensures fair usage for the Ubuntu distribution.

- Repository: [Jauder Ho/nts-servers](https://github.com/jauderho/nts-servers)
- Tags: explanation
- Published: 2026-03-04

---

**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`](https://github.com/jauderho/nts-servers/blob/main/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`](https://github.com/jauderho/nts-servers/blob/main/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:

```python
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:

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

```

### Modify the Converter Script Output

The [`scripts/ntpServerConverter.py`](https://github.com/jauderho/nts-servers/blob/main/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:

```bash
./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`](https://github.com/jauderho/nts-servers/blob/main/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`](https://github.com/jauderho/nts-servers/blob/main/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`](https://github.com/jauderho/nts-servers/blob/main/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`](https://github.com/jauderho/nts-servers/blob/main/scripts/ntpServerConverter.py)**: The conversion utility that processes location fields and generates [`chrony.conf`](https://github.com/jauderho/nts-servers/blob/main/chrony.conf), [`ntp.toml`](https://github.com/jauderho/nts-servers/blob/main/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`](https://github.com/jauderho/nts-servers/blob/main/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`](https://github.com/jauderho/nts-servers/blob/main/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`](https://github.com/jauderho/nts-servers/blob/main/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`](https://github.com/jauderho/nts-servers/blob/main/scripts/ntpServerConverter.py).

### Will the converter scripts automatically exclude distro-only servers?

No. The [`scripts/ntpServerConverter.py`](https://github.com/jauderho/nts-servers/blob/main/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.