Previous: https://gist.github.com/bronson/c857a462edb0c6eeab2d
It's a typical libvirt setup: the host masquerades its public IP for the VMs running on it. The host's public IP is 173.233.67.174, and its internal IP on virbr0 is 192.168.122.1.
The catch is, the host is also forwarding port 25 to the mail server VM on 192.168.122.10.
All chains default to ACCEPT, rp_filter
is disabled (didn't make any difference), bridge-nf
is disabled. See NOTES below for more on this.