i configured a ntp client on my rb450g. (ntp.pool.org). ntp did not update the system clock. when i add some debug logging i noticed the ntp client is trying to connect to the ntp server with my external ip address. Why is that? should’t it just use my internal ip like all my other clients do?
now i need to add a rule in my firewall to allow traffic form wan to wan…
It will use the preferred IP address on the interface that faces the destination IP according to the routing table. That is the expected behavior on virtually any routing platform.
Why does that require you to edit your firewall? Ideally - for resources and sanity - your input chain rules should be stateful, and allow packets belonging to established connections back in. The output chain is rarely filtered, if it is, just permit connections to UDP/123.
Now the router will accept packets that are part of connections it started. When it queries the NTP server, the reply will be permitted. The NTP server sending it something out of nowhere will be blocked.
This will also make the rest of your rules more efficient since the vast majority of all packets will be covered by the first rule, only the first (or first three for TCP) packet(s) of each connection have to traverse the entire rule set.
Those would also make sense for your forward chain. Just replace the chain name, move to the top.