It would depend then on how the Mikrotik is setup...bridged or routed? Is there NAT happening, but a public->private 1-to-1 NAT for the mail server?
No NAT, just a straight routed network with public IPs. I just want to seal off all incoming ports save those for SMTP and POP3. However, I do want the servers to see the outside world, and this is where the trouble seems to start.
But first, take a look at IP -> Firewall -> Filter Chains and see what the default policies are for the input, output, and forward chains (in particular, the forward). If they are all "drop" switch them to accept and see if it works. If not, then it's got to be a problem with either your firewall rules and/or NAT, or routing. If it does work, switch them back to drop and add a forward rule with the source IP of your server, destination of anything, and optionally the interface (better protection this way). If you're NAT'ed, you'll have to do the same rule, plus a destination NAT rule with the same info. That *should* get you out. If not, double check your server's ip info, subnet, and gateway, and your routes on the MT.
Hope this helps.
I've tried to use the example found in the Mikrotik manual, but when I set the reject action, basically things start dying. In particular, it doesn't seem that outside connections to those ports I've opened can be completed, signaling that a lot more is being rejected than I want.
I'll give it another shot, but I feel like I'm missing some key bit of information I see the following line in the manual (for the forward chain):
add protocol=tcp connection-state=established
Now that obviously is for established connections, but should I also be allowing new and related connections, or is there some other trick to this?[/code]