SPF Problems when using Private IP

I've seen this issue occur on Debian systems, where a Virtual Server is on a private IP.

When a Virtual Server is put on that private IP -- the SPF record added is only for the private IP. There isn't an entry added for the primary IP of the server.

The problem here is that since email is leaving the server via the primary IP, the SPF checks will fail.



That's odd, as the Virtualmin code that generates the SPF includes both the system's default IP and the private IP .. and the external IP, if there is one.

In the cases you've seen, is the system behind a NAT gateway?