I had tried several different combinations and then in my final frustrated attempt....I set a rule for the LAN interface that was Allow ALL and I set a rule on the OPT1 interface that was Allow All. This set up still didnt work. I then left both Allow ALL rules on and added a NAT mapping that directed any port 80 request from the 172.16.0.0 interface (LAN) to 172.16.10.2 (the web server on the OPT1 network) and still no joy.
i took the monowall firewall out of the middle and placed a firebox that i have in place, and set a firewall rule to allow port 80 from the 172.16.0.0 to 172.16.10.0 and magically everything worked.
signed,
this shouldnt be this hard.
I agree, I have a setup almost like this and the default "allow all" rules on both the LAN and OPT1 allowed communications between the two without any issues. I guess you can't even ping between those two LAN networks also?
In these cases, it's down to troubleshooting by simplification of hardware. You have two networks, both on separate switches, all work fine by themself, but when trying to get the two to talk to each other, nothing works.
The only variable is m0n0wall since the other router you put in between works without any issues. First, I've attached a screenshot of mine, so minus the part that the IP range is different, basically your config is very similar to this right in that OPT1 is not bridged, and the LAN and OPT1 firewall rules are the "allow all" type?