Exchange server 2016: Local telnet on port 25 works fine but telnet to port 25 from external IP does not show banner
Solution 1:
The only thing it could be on Exchange is the remote IP address range. That needs to be set to allow connections from all IP addresses - which is the default. Other than that, it is unlikely to be an Exchange issue. I would be looking at your firewall. Even if you didn't have anonymous enabled, you would still get the banner, because it would connect. No banner means the connection isn't being made to Exchange.