I've set up an OpenVPN + PF setup on a FreeBSD 10.3 server.
Clients to my VPN include administrators, which should have full access to the network and untrusted users who should ONLY be able to access a couple of IP addresses.
I used client-config-dir to set specific users a unique IP address, which I later block or pass using PF.
The problem is that since the OpenVPN is set up using a tap device, any client connected is able to change their IP address manually to a trusted IP and override this limitation.
i.e: I connect a machine to the VPN which gets IP address 10.0.1.11 according to its ccd which is UNTRUSTED. But if the client changes his IP (using ifconfig) to 10.0.1.15 which is TRUSTED, his limitations are overriden.
Is there any way to force a client to only be able to use a certain IP address without using a TUN device?
If not, is there any way to filter network access without using the VPN client IP address or running a separate VPN?
Thanks for your help