Simple rule-based firewall into Omada SDN Controller
First of all, I’ve always been an SDN enthusiast, and my university graduation project was about SDNs (using Mininet, OpenDayLight, OpenFlow, GNS3). So I understand how an SDN works under the hood, academically speaking, and that was one of the reasons I decided to make my home network an SDN. After evaluating the best platforms in terms of cost-effectiveness, I naturally ended up choosing TP-Link's solution—mainly due to its availability in my country.
My topology is quite simple:
- Gateway: ER605 v2.0 (2.0.1 Build 20220223 Rel.68551)
- Switch: TL-SG2218 v1.0 (1.1.4 Build 20220707 Rel.55528)
- 2x EAPs: EAP225(US) v3.0 (5.0.9 Build 20220429 Rel. 43558)
My Omada SDN Controller is running on a Raspberry Pi (RPi), containerized (Docker), on version 5.15.8.2. There are no pending firmware updates and everything works very well.
Lately, I started having some concerns regarding privacy and security, which led me to mirror all the traffic on the port connecting the switch to the router and analyze it using NTOP-NG. From this analysis, I discovered that my soundbar, even in standby mode, kept sending packets to servers in strange locations, with unusual payloads, and on a constant basis. My natural reaction to this was to create a firewall rule to block any outbound traffic from the IP of that device, dropping it internally before it could exit—either at the EAP, switch, or router within the SDN network.
For months, I tried everything possible within the Omada Platform to create a simple “DROP” rule for this device, but nothing worked (the traffic was still detected by NTOP-NG).
In a drastic move, I decided to place a Sophos XGS135 between my switch and router, in “bridge” mode (with the DHCP server disabled), just to inspect the source/destination of the packets and drop them using Sophos XGS's excellent rule-based firewall interface.
The problem is that, for some reason I haven’t yet identified, after a few minutes all the devices in my network behind the switch lose the ability to renew their DHCP lease and become unreachable. Strangely, in the SDN controller, the status of the ER605 appears as “disconnected,” even though it responds to ICMP (ping) from any device that still has a valid IP lease.
I tried enabling DHCP Relay (L2) and added the IP of the Sophos XGS135 as an “authorized DHCP source” in the LAN settings, hoping this might work around a possible bug, but none of that worked.
It’s frustrating and disheartening that such an interesting solution like Omada doesn’t allow you to inject a simple IPTABLES rule to reroute traffic from devices. There’s no plugin or feature that lets you create a straightforward firewall rule for this purpose in the Omada solution.
Because of that, I kindly ask for your help: any suggestions to resolve this issue would be very welcome.
Thank you.