Edgerouter als NTP server gebruiken

Edgerouter als NTP server gebruiken

Ik heb graag dat mijn netwerkapparaten allemaal in sync werken. Specifiek voor het gebruik van TOTP codes. Zodra dit te veel af gaat wijken heb je 2-3 pogingen nodig om in te loggen, met de nodige gevolgen (fail2ban bijv.).

Daarnaast forceer ik (buiten een algehele internet blokkade voor bepaalde vlans) standaard alle NTP requests naar mijn router zodat er geen onnodige data naar buiten gaat.

Na een aantal maanden zo nu en dan ellende met mijn QNAP TOTP heb ik besloten het probleem eens op te gaan lossen…

Voor wie net als ik aan het zoeken is waarom de Edgerouter niet gebruikt kan worden als NTP server terwijl alles goed ingesteld lijkt. Bij deze een kort stappenplan.

Probleem

O.a. mijn QNAP weigerde te synchroniseren met mijn Edgerouter. Aangezien ik mijn netwerk zo min mogelijk afhankelijk wil houden van VM’s (Domain Controller bijv.) wilde ik dit graag opgelost hebben.

[~] # ntpdate -q -v <ip>
server <ip>, stratum 16, offset -8.374275, delay 0.02586
15 Nov 10:43:00 ntpdate[31155]: no server suitable for synchronization found

Daarbij valt met name op dat de Stratum te hoog is. Dat is de reden dat hij hem niet als bron kan gebruiken (hoger dan 15 is invalid).

Stappenplan

  1. Configureer (als je dat nog niet gedaan had) je edgerouter om een externe NTP server te verbinden (ntp.org of time.google.com bijv.)
  2. Test of dit werkt: show ntp <ntpserver>
  3. Pas de stratum van de edgerouter aan
    1. sudo vi /etc/ntp.conf
    2. Voeg toe: fudge 127.0.0.1 stratum 2 (of hoger als je bron slechter is)
    3. File opslaan
    4. sudo ./etc/init.d/ntp restart

Controle

Windows: w32tm /stripchart /computer:<routerip> /dataonly /samples:5

w32tm /stripchart /computer:<ip> /dataonly /samples:5
Tracking <ip> [<ip>:123].
Collecting 5 samples.
The current time is 15-11-2021 11:32:46.
11:32:46, +00.0045645s
11:32:48, +00.0040870s
11:32:50, +00.0041342s
11:32:52, +00.0041473s
11:32:54, +00.0037766s

Linux (QNAP): ntpdate -q -v <routerip>

[~] # ntpdate -q -v <ip>
15 Nov 11:34:55 ntpdate[20202]: ntpdate 4.2.8p10@1.3728 Wed Sep 22 18:33:10 UTC 2021 (1)
15 Nov 11:34:55 ntpdate[20202]: Port 0: 1001
15 Nov 11:34:55 ntpdate[20202]: Port 1: 123
server <ip>, stratum 2, offset 0.329089, delay 0.02589

Als dit allemaal in orde is kan je al je netwerkapparatuur voortaan laten syncen met je Egerouter!

Op zowel de Egerouter als Qnap kan je met het commando date direct zijn of ze in sync zijn (en blijven)