But that doesn’t seem to do anything. I’m not even sure that’s my issue, as I’m hitting the router, not getting my internal response packet dropped according to the Hairpin NAT page. Any ideas ?
Hairping NAT is what you need. Your problem is that your port forwards are set for in-interface=ether1-gateway, but when connecting from LAN, in-interface is going to be bridge-local, so nothing gets forwarded. You can:
a) Replace in-interface=ether1-gateway with dst-address= if you have static one.
b) Replace in-interface=ether1-gateway with dst-address-type=local, which will match any address owned by router. As a side effect, it will forward not only packets destined for WAN address, but also for 192.168.0.1 (I assume it’s your router’s LAN address) and any other address present on router. But it should not really hurt anything.
c) Duplicate dst-nat rules with in-interface=bridge-local.
Thank you Sob! What wasn’t clear to me was that I needed to have both the hairpin rule as well as modify my port forwards to one of the options you gave above.
a) Most consumer level users don’t have static IPs, so this option doesn’t work for many. It would be nice if some sort of variable could be specified so that this rule would work for people with dynamic IPs from their ISPs as well.
b) This is the route I chose, but to avoid having the port forwards apply for 192.168.0.1 as well, I added a “dst-address=!192.168.0.1” to my port forwards. I’m guessing having the port forwards apply to 192.168.0.1 might create a problem accessing the router since I have a dmz rule.
c) This makes things even more inconvenient than it already is, compared to specifying port forwards in consumer routers.
So, to summarize things for other new users that might have a problem. Here are my ip/firewall/nat rules now compared to what they were in my original post: