I understand that double NAT can work in small environments, but I’d prefer to avoid it for a few reasons:
I want to keep a single point of NAT at the edge (OPNsense) for cleaner troubleshooting.
I run VPNs and may expand to site-to-site tunnels later — double NAT can complicate that.
Port forwarding and firewall rule management is simpler with one NAT boundary.
I’d like full visibility of internal subnets on OPNsense for logging and IDS/IPS.
Since the RB5009 is capable of pure L3 routing without NAT, it seems cleaner to let it route VLANs internally and let OPNsense handle WAN NAT exclusively.
Would there be any downside to keeping NAT only on the edge firewall?
2).
That’s a fair question.
My goal isn’t to replace OPNsense — I specifically want to keep it as the dedicated edge firewall because of:
IDS/IPS capabilities
Advanced firewall rule management
VPN support
Logging and traffic inspection
WAN failover flexibility
The RB5009 would act as a high-performance core router handling:
RB5009 has no Layer 3 hardware acceleration, inter-vlan routing will not be wire-speed. Routing has to be done in CPU.
Only switching (same VLAN/subnet) will be done at wire-speed.
For this reason, I would recommend a much simpler setup: have RB5009 as edge & core router and opnsense as firewall. OPNSense can be put into bridge/L2 firewall mode, where it doesn’t handle anymore any gateways, vlans, NAT or any L3 capability. It just filters the packets going through it according to your firewall rules. Firewall filters & IDS/IPS work just fine when in this mode. You would be using the mikrotik as a router and opnsense as a firewall, instead of having 2 routers, one of which acts as edge router and firewall as well.
My other recommendation would be to just use the RB5009, without opnsense, it can do WAN failover, advanced firewall rules, vpn and logging as well.
It doesn’t have IDS/IPS, but these days, where almost every connection uses some sort of encryption like TLS it’s not that useful anymore.