PPPOE, Interim Updates, Usermanager

Hey guys hope you all doing well!

I have a RADIUS server set up, aswell as many access points which authenticate wireless MAC addresses and PPPOE connections.
The client connects wirelessly and gets an address such as 172.16.160.x. This is for internal use only and cannot gain internet access. It is used for file sharing. Secondly I have the PPPOE connections which authenticate with radius, giving that same client an ip of 10.20.160.x. This grants internet access.

The problem is when a user connects the PPPOE account all his traffic goes through that account, and he cant share files without using up his 1/2/3/5 gb. So now people have to disconnect their pppoe and share files and then reconnect to get internet access. My clients are complaining about this since they want internet connectivity with filesharing(which is a service I provide).

So what i was thinking is to let everything go through the PPPOE account and log how much traffic goes to internal IP’s, then subtract this from that users PPPOE usage is before the Interim update is sent to RADIUS. Is this possible or is there an easier way?

I’m no expert but could you not simply route all 172.16.160.0/24 traffic over the 172 wireless interface and then 0.0.0.0/0 over the PPPoE interface?

I have a similar-sounding system whereby all the wlans are on a 10.0.0.0/16 network and all intranet traffic uses a 10.0.x.x address, but all user’s CPEs set up PPPoE connections using 10.100.x.x addresses. All 10.0.0.0/16 traffic is routed over the wlans and all 0.0.0.0/0 over the 10.100.0.0/16 network, NATted at the gateway. It seems to work.