I've been spending the morning playing with my routers and I've checked one thing:
All of them come by default with an implicit deny configuration for incoming traffic, that is all packets should be rejected unless otherwise specified. Outgoing is either as implicit accept or does not have any rule at all.
With that default setup, I can browse without any problem. But I do not understand why. The connection starts because outgoing traffic is allowed, however when the response comes, it should be dropped because incoming traffic is implicit denied.
I'm trying to figure out why is this happening, and the only idea with sense that comes to my mind is that outgoing rules must have priority over incoming rules. Is there any other explanation?