There are several ways to isolate users/groups in a network. One of the neatest ways however is by setting up VPN's (virtual private networks). This is where IPsec comes in.IPsec is a protocol which sits on top of the Internet Protocol (IP) layer. It allows two or more hosts to communicate in a secure manner (hence the name).
There are several online guides to setting up IPsec VPN's:
Creating a VPN between two networks, separated by the Internet, using FreeBSD gateways.
Linux IPsec HOWTO
Setting up a windows XP client
IPsec and you
Mixing Different Clients and Servers (Windows/Linux):
Jacco's networking stuff
OpenSwan setup for Linux server and Linux/Windows clients
FreeSwan setup for Linux server and Linux/Windows clients
IPSec Secure Tunnel at Mathnet