Restricting ip for every apps is not a feasible solution. please try the following and check if it helps.
on your Android phone, you can use any of third party app that manages WiFi hotspot. just search for 'hotspot manager' or 'tethering manager' and decide yourself which manager to use. our goal here is to restrict users data usage connected to your hotspot. wifi manager apps will alert you when your wifi hotspot data usage goes beyond set limit. Plus some of them also provide facility like 'restrict bandwidth' which allocate limited bandwidth to the users connected to your hotspot.
Phones wifi hotspot or Internet shared by router, to connected user, it's one and the same. iPhone will not distinguish between them and use your cellular data for background activities without users consent. You can restrict background data on iOS (Background App Refresh they call it) for specific apps by going
Settings -> General -> Background App Refresh (or just google it if your ios version has different path) and just toggle the apps which you think are using unnecessary background data. this will stop apps from updating and downloading data in background. They will only use data in foreground i.e. only when you open it (be careful with messaging and mailing apps). Hope this helps.