I currently run my home network served by a OpenWRT default gateway. For testing, I installed nTopng in a Linux BOX (raspberry pi) for traffic monitoring, and thought aboud using raspberrypi as the default gateway of my home network, enabling ipv4 forwarding on it, so that it then redirect the internet traffic to my main router, after passing by.
I tried to change manually my default router settings in some of my clients, but I got very poor performance (I have 300 Mbps fiber, and I could test something about 10 Mbps). Mobile devices have reported no internet connectivity sometimes. Running speedtest-cli on my Raspberry Pi, reports speeds of ~300 Mbps so it is reaching fullspeed.
I though that it could be caused because a path difference for inbound and outbound traffic:
For going outside I would go from mobile device -> raspberry pi (default gateway) -> OpenWRT (internet gateway)
The reverse would be OpenWRT -> mobile device (since they are all on the same LAN network, there is no need to go back through the raspberry pi).
Then I performed forced ARP spoofing from specific devices (lets say mobile devices for this thread purpose), spoffing the Defalt Gateway to be Raspberry Pi, and also spoofing the reverse path so that OpenWRT thinks that mobile device is actually raspberry pi, but I had similar results (poor performance).
I have tried changing raspberry pi for other linux devices, and also played with standard configuration on sysctl.conf. Also tried windows computers to be the client, but the results are always the same.
What makes me believe it is a path problem, is that running a speedtest (fast.com, for example) reports slow speeds (~10 Mbps) while task manager reports network utilization above 300 Mbps (expected behavior for my internet link).
Can somebody help with this case, explaning if this is the expected behavior, if there is some workaround that I can apply for this to work, or if there is another way to achieve this result?