Hi,
thanks, yess you’re right, we were looking at that too → link
I’m attaching the tcpdump output:
root@opnsense:/var/log/ntpd # tcpdump -i igb0 -n host 192.168.10.2 and port 123 -v
tcpdump: listening on igb0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
15:58:22.518577 IP (tos 0x0, ttl 63, id 18493, offset 0, flags [DF], proto UDP (17), length 76)
192.168.10.2.47385 > 172.233.111.193.123: NTPv4, Client, length 48
Leap indicator: (0), Stratum 0 (unspecified), poll 10 (1024s), precision 32
Root Delay: 0.000000, Root dispersion: 0.000000, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 0.000000000
Receive Timestamp: 0.000000000
Transmit Timestamp: 2772191361.503535152 (1987-11-06T13:09:21Z)
Originator - Receive Timestamp: 0.000000000
Originator - Transmit Timestamp: 2772191361.503535152 (1987-11-06T13:09:21Z)
15:58:22.527672 IP (tos 0xb8, ttl 54, id 12366, offset 0, flags [DF], proto UDP (17), length 76)
172.233.111.193.123 > 192.168.10.2.47385: NTPv4, Server, length 48
Leap indicator: (0), Stratum 2 (secondary reference), poll 10 (1024s), precision -23
Root Delay: 0.040298, Root dispersion: 0.004913, Reference-ID: 0x5223a292
Reference Timestamp: 3979292295.229266776 (2026-02-05T14:58:15Z)
Originator Timestamp: 2772191361.503535152 (1987-11-06T13:09:21Z)
Receive Timestamp: 3979292303.312032695 (2026-02-05T14:58:23Z)
Transmit Timestamp: 3979292303.312052196 (2026-02-05T14:58:23Z)
Originator - Receive Timestamp: +1207100941.808497542
Originator - Transmit Timestamp: +1207100941.808517043
15:58:38.098439 IP (tos 0xb8, ttl 64, id 63084, offset 0, flags [none], proto UDP (17), length 76)
192.168.10.2.123 > 84.77.195.114.123: NTPv4, Client, length 48
Leap indicator: clock unsynchronized (192), Stratum 0 (unspecified), poll 6 (64s), precision -24
Root Delay: 0.000000, Root dispersion: 0.000000, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 0.000000000
Receive Timestamp: 0.000000000
Transmit Timestamp: 3979292318.098346456 (2026-02-05T14:58:38Z)
Originator - Receive Timestamp: 0.000000000
Originator - Transmit Timestamp: 3979292318.098346456 (2026-02-05T14:58:38Z)
15:58:39.027917 IP (tos 0xb8, ttl 64, id 63951, offset 0, flags [none], proto UDP (17), length 76)
192.168.10.2.123 > 195.95.153.59.123: NTPv4, Client, length 48
Leap indicator: clock unsynchronized (192), Stratum 0 (unspecified), poll 6 (64s), precision -24
Root Delay: 0.000000, Root dispersion: 0.000015, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 0.000000000
Receive Timestamp: 0.000000000
Transmit Timestamp: 3979292319.027843405 (2026-02-05T14:58:39Z)
Originator - Receive Timestamp: 0.000000000
Originator - Transmit Timestamp: 3979292319.027843405 (2026-02-05T14:58:39Z)
15:58:41.226909 IP (tos 0xb8, ttl 64, id 16815, offset 0, flags [none], proto UDP (17), length 76)
192.168.10.2.123 > 5.250.191.170.123: NTPv4, Client, length 48
Leap indicator: clock unsynchronized (192), Stratum 0 (unspecified), poll 6 (64s), precision -24
Root Delay: 0.000000, Root dispersion: 0.000045, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 0.000000000
Receive Timestamp: 0.000000000
Transmit Timestamp: 3979292321.226833268 (2026-02-05T14:58:41Z)
Originator - Receive Timestamp: 0.000000000
Originator - Transmit Timestamp: 3979292321.226833268 (2026-02-05T14:58:41Z)
15:58:48.117743 IP (tos 0x0, ttl 63, id 54597, offset 0, flags [DF], proto UDP (17), length 76)
192.168.10.2.6180 > 172.233.111.193.123: NTPv4, Client, length 48
Leap indicator: (0), Stratum 0 (unspecified), poll 6 (64s), precision 32
Root Delay: 0.000000, Root dispersion: 0.000000, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 0.000000000
Receive Timestamp: 0.000000000
Transmit Timestamp: 1099448618.213777692 (1934-11-04T02:23:38Z)
Originator - Receive Timestamp: 0.000000000
Originator - Transmit Timestamp: 1099448618.213777692 (1934-11-04T02:23:38Z)
15:58:48.126503 IP (tos 0xb8, ttl 54, id 28444, offset 0, flags [DF], proto UDP (17), length 76)
172.233.111.193.123 > 192.168.10.2.6180: NTPv4, Server, length 48
Leap indicator: (0), Stratum 2 (secondary reference), poll 6 (64s), precision -23
Root Delay: 0.040298, Root dispersion: 0.005279, Reference-ID: 0x5223a292
Reference Timestamp: 3979292295.229266776 (2026-02-05T14:58:15Z)
Originator Timestamp: 1099448618.213777692 (1934-11-04T02:23:38Z)
Receive Timestamp: 3979292328.910292478 (2026-02-05T14:58:48Z)
Transmit Timestamp: 3979292328.910318915 (2026-02-05T14:58:48Z)
Originator - Receive Timestamp: +2879843710.696514786
Originator - Transmit Timestamp: +2879843710.696541222
15:59:01.107802 IP (tos 0xb8, ttl 63, id 10408, offset 0, flags [DF], proto UDP (17), length 76)
192.168.10.2.19220 > 195.95.153.43.123: NTPv4, Client, length 48
Leap indicator: (0), Stratum 0 (unspecified), poll 0 (1s), precision 0
Root Delay: 0.000000, Root dispersion: 0.000000, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 0.000000000
Receive Timestamp: 0.000000000
Transmit Timestamp: 795814392.603232797 (1925-03-21T19:33:12Z)
Originator - Receive Timestamp: 0.000000000
Originator - Transmit Timestamp: 795814392.603232797 (1925-03-21T19:33:12Z)
15:59:01.120660 IP (tos 0xb8, ttl 58, id 0, offset 0, flags [DF], proto UDP (17), length 76)
195.95.153.43.123 > 192.168.10.2.19220: NTPv4, Server, length 48
Leap indicator: (0), Stratum 1 (primary reference), poll 0 (1s), precision -23
Root Delay: 0.000000, Root dispersion: 0.000000, Reference-ID: GNSS
Reference Timestamp: 3979292337.000000000 (2026-02-05T14:58:57Z)
Originator Timestamp: 795814392.603232797 (1925-03-21T19:33:12Z)
Receive Timestamp: 3979292341.903768487 (2026-02-05T14:59:01Z)
Transmit Timestamp: 3979292341.903771953 (2026-02-05T14:59:01Z)
Originator - Receive Timestamp: +3183477949.300535689
Originator - Transmit Timestamp: +3183477949.300539155
^C
We had a rule that allowed all types of NAT outbound UPD traffic because we use WireGuard and set it up that way.
However, I’ve created one for NTP-UDP with static ports and placed it on top the other one.
Although I don’t understand/not sure why they have to be set as “static”, bc I thought NAT already kept track of which host the source port belonged to