KEA DHCP NTP-Konfiguration - Netzwerk und Serveradministration

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen


NTP-Server via Kea DHCP verteilen

Übersicht

Kea DHCP kann NTP-Server-Informationen an DHCP-Clients verteilen. Dies ermöglicht eine zentrale Zeitserver-Konfiguration für alle Netzwerkgeräte.

DHCP-Option für NTP

  • Option 42 (DHCPv4): NTP Servers
  • Format: Liste von IPv4-Adressen

Konfiguration

Globale NTP-Konfiguration

NTP-Server für alle Subnetze:

  • sudo vim /etc/kea/kea-dhcp4.conf
{
  "Dhcp4": {
    "interfaces-config": {
      "interfaces": [ "enp0s3" ]
    },
    "lease-database": {
      "type": "memfile",
      "persist": true,
      "name": "/var/lib/kea/dhcp4.leases"
    },
    "valid-lifetime": 600,
    "max-valid-lifetime": 7200,
    
    "option-data": [
      {
        "name": "domain-name-servers",
        "data": "10.88.1XX.21"
      },
      {
        "name": "domain-name",
        "data": "it1XX.int"
      },
      {
        "name": "domain-search",
        "data": "it1XX.int, example.com"
      },
      {
        "name": "ntp-servers",
        "data": "10.88.1XX.10"
      }
    ],
    
    "subnet4": [
      {
        "subnet": "172.16.1XX.0/24",
        "pools": [
          {
            "pool": "172.16.1XX.50 - 172.16.1XX.100"
          }
        ],
        "option-data": [
          {
            "name": "routers",
            "data": "172.16.1XX.1"
          }
        ]
      }
    ],
    "loggers": [
      {
        "name": "kea-dhcp4",
        "output_options": [
          {
            "output": "/var/log/kea/kea-dhcp4.log"
          }
        ],
        "severity": "INFO"
      }
    ]
  }
}

Mehrere NTP-Server

{
  "name": "ntp-servers",
  "data": "10.88.1XX.10, 10.88.1XX.11, 192.53.103.108"
}

Öffentliche NTP-Server

Beispiele für öffentliche NTP-Server in Deutschland:

{
  "name": "ntp-servers",
  "data": "ptbtime1.ptb.de, ptbtime2.ptb.de, ptbtime3.ptb.de"
}

Hinweis: Für öffentliche NTP-Server müssen Hostnamen erst in IP-Adressen aufgelöst werden, da Kea nur IP-Adressen unterstützt.

Beispiel mit IP-Adressen:

{
  "name": "ntp-servers",
  "data": "192.53.103.103, 192.53.103.104, 192.53.103.108"
}

Subnet-spezifische NTP-Server

Verschiedene NTP-Server für unterschiedliche Subnetze:

{
  "Dhcp4": {
    "option-data": [
      {
        "name": "ntp-servers",
        "data": "10.88.1XX.10"
      }
    ],
    "subnet4": [
      {
        "subnet": "172.16.1XX.0/24",
        "pools": [
          {
            "pool": "172.16.1XX.50 - 172.16.1XX.100"
          }
        ],
        "option-data": [
          {
            "name": "routers",
            "data": "172.16.1XX.1"
          }
        ]
      },
      {
        "subnet": "10.88.1XX.0/24",
        "pools": [
          {
            "pool": "10.88.1XX.50 - 10.88.1XX.100"
          }
        ],
        "option-data": [
          {
            "name": "routers",
            "data": "10.88.1XX.1"
          },
          {
            "name": "ntp-servers",
            "data": "10.88.1XX.11, 10.88.1XX.12"
          }
        ]
      }
    ]
  }
}

In diesem Beispiel:

  • Subnet 172.16.1XX.0/24 verwendet den globalen NTP-Server 10.88.1XX.10
  • Subnet 10.88.1XX.0/24 überschreibt dies mit eigenen Servern 10.88.1XX.11 und 10.88.1XX.12

Dienst neu starten

  • Konfiguration testen
  • sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
  • Dienst neu starten
  • sudo systemctl restart kea-dhcp4-server
  • Status prüfen
  • sudo systemctl status kea-dhcp4-server

Überprüfung auf dem Client

Linux Client

  • DHCP-Informationen anzeigen
  • cat /var/lib/dhcp/dhclient.leases

oder

  • ip addr show
  • NTP-Status prüfen (wenn systemd-timesyncd verwendet wird)
  • timedatectl status

Erwartete Ausgabe:

               Local time: Mo 2025-10-20 15:30:45 CET
           Universal time: Mo 2025-10-20 13:30:45 UTC
                 RTC time: Mo 2025-10-20 13:30:45
                Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
  • Konfigurierte NTP-Server anzeigen
  • timedatectl show-timesync --all

Windows Client

  • PowerShell als Administrator öffnen
  • ipconfig /all

Im Output nach "DHCP-Server" und unter "Optionen" suchen.

  • NTP-Konfiguration prüfen
  • w32tm /query /status