Fix non-working NTP (Network Time Protocol) in pfSense

On some occasions NTP is not working as expected, with the below observed:

  • The NTP Status Dashboard widget has the time, but lists the Sync Source as “No active peers available.”
  • Under Status > NTP, all the pools show a status of “Pool Placeholder” and non-pools show “Unreach/Pending.” They all have “Stratum” equal to 16 instead of the 1 or 2 they should be, and the “When” fields are all blank (just a dash). All the statistics are 0.
  • Looking at a graph of my NTP statistics, it looks like the last time it was working was way back.
  • Removing or adding new time servers makes no difference and restarting the NTP service and rebooting pfSense doesn’t help.
  • Under Status > System Logs > NTP, all the log entries are nothing but “Soliciting pool server…” messages.

To fix this you need to add the below NAT entry:

Firewall > NAT, Outbound tab. Add rule to the top.

    Disabled: Unchecked
    Do not NAT: Unchecked
    Interface: WAN (make one of these rules for each WAN)
    Protocol: any
    Source: This Firewall (self)
    Destination: port 123
    Not: Unchecked
    Translation Address: Interface Address
    Port or Range: Blank
    Description: NAT NTP out of the firewall

Then either reset the states (Diagnostics > States > Reset States) or reboot the pfSense box.

Thank you for reading! Be sure to share this post if you found it helpful and don’t hesitate to chat with me about it!

This post was first published on Stathis’ log book by Stathis Athanasiadis aka StatAth

Updated:

Comments