centos8 – CentOS 8 NTP: Chrony will not Sync with sources, timedatectl showing no sync but NTP active

I have been battling with Chrony for the last few hours and cannot seem to figure out what I’m doing wrong.
I found that my system time was set to 2015 when trying to activate Epel-release in DNF, some certificate errors lead me to trying to resolve time date issues. Below is all my relevant output:

    # timedatectl
               Local time: Wed 2021-05-05 16:24:27 EDT
           Universal time: Wed 2021-05-05 20:24:27 UTC
                 RTC time: Wed 2021-05-05 20:24:27
                Time zone: America/Detroit (EDT, -0400)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no

I had to set time manually, so this is actually one minute fast so that I could see if it ran correctly.

# chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^? ntp.speculation.org           0   9     0     -     +0ns(   +0ns) +/-    0ns
^? c-73-239-136-185.hsd1.wa>     0   9     0     -     +0ns(   +0ns) +/-    0ns
^? 165.227.106.11                0   9     0     -     +0ns(   +0ns) +/-    0ns
^? x.ns.gin.ntt.net              0   9     0     -     +0ns(   +0ns) +/-    0ns

# chronyc activity
200 OK
5 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

Looking at other people’s sources output this seems not only unrealistic, but just wrong

# systemctl stop chronyd

# chronyd -q
2021-05-05T20:31:16Z chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
2021-05-05T20:31:16Z Frequency -97.480 +/- 1.274 ppm read from /var/lib/chrony/drift
2021-05-05T20:31:16Z Using right/UTC timezone to obtain leap second data
2021-05-05T20:31:27Z No suitable source for synchronisation
2021-05-05T20:31:27Z chronyd exiting

I’m not even sure where to start troubleshooting this, I have tried with and without firewalld running.

# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
server 2.pool.ntp.org iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2

# Allow NTP client access from local network.
#allow 192.168.0.0/16

# Serve time even if not synchronized to a time source.
#local stratum 10

# Specify file containing keys for NTP authentication.
keyfile /etc/chrony.keys

# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking

I have edited my conf files a ton, my pools might be a little weird but I wasn’t sure what else to have them set to. before this there was just 1 pool directive that I foolishly removed without backing up.

# ntpstat
unsynchronised
poll interval unknown

Finally by suggestion of a friend, I used ntpstat and it gave me this output..

I have tried chronyc makestep and refresh, both of which have yielding nothing as well

linux – "reach" NTP property for the timedatectl command

There are three commands:

$ timedatectl show-timesync
SystemNTPServers=192.168.8.210 192.168.8.212
FallbackNTPServers=0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org
ServerName=192.168.8.210
ServerAddress=192.168.8.210
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=34min 8s
NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=2, Precision=-23, RootDelay=11.947ms, RootDispersion=29.327ms, Reference=86220312, OriginateTimestamp=Mon 2019-09-30 16:15:11 CEST, ReceiveTimestamp=Mon 2019-09-30 16:15:11 CEST, TransmitTimestamp=Mon 2019-09-30 16:15:11 CEST, DestinationTimestamp=Mon 2019-09-30 16:15:11 CEST, Ignored=no PacketCount=212, Jitter=186us }
Frequency=-95873

$ timedatectl status
               Local time: Mon 2019-09-30 16:36:12 CEST
           Universal time: Mon 2019-09-30 14:36:12 UTC
                 RTC time: Mon 2019-09-30 14:36:12
                Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no


$ timedatectl timesync-status
       Server: 192.168.8.210 (192.168.8.210)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 2
    Reference: 86220312
    Precision: 1us (-23)
Root distance: 35.300ms (max: 5s)
       Offset: +121us
        Delay: 40.749ms
       Jitter: 186us
 Packet count: 212
    Frequency: -1.463ppm

You should get all the information you need from them, I suppose.