I have a router with only one Ethernet interface that has multiple IP addresses on different networks on that Ethernet interface.
Is there a way for me to create virtual interfaces that I can assign the individual IP addresses to instead? The benefit of this would be that I could then see at a glance which IP is causing the traffic, and the graphing interface will also just show the applicable traffic to that IP?
I’ve tried:
Creating a bridge as a loopback and assigning the IP to it. But I can’t add a bridge as a port to another bridge.
I’ve tried using Virtual Ethernet but this is apparently only for metarouter and would not work.
I’ve tried adding VRRPs and assigning the interfaces to them and using the bridge as the VRRP master. This works okay, but not all of the traffic is attributed to the interface. Hence the glance is wrong and so is the graphs.
Long answer is that Linux kernel (which RouterOS is based on) does have support for virtual interfaces with own MAC addresses (they can be used e.g. for multiple DHCP clients on one physical interface), but RouterOS currently does not support this functionality. I also have to admit that I didn’t test if it counts traffic the way you need. You can check that with Linux machine and if it works correctly, try to persuade MikroTik to add it to RouterOS. The downside is that it could be a rather long-time project.
Perhaps look at exporting flows to a netflow collector instead? Assuming you actually want to do something with this information once you’ve got it, a collector is a good place to start.
Using a different subinterface for each client won’t scale well.