Ставиш прокси-сервер, под Windows хороший вариант UserGate, под Unix - Squid. Закрываеш доступ к проксе всем, а потом в самом прокси-сервере даеш разрешение на доступ отдельно для каждого IP адреса клиента, который ты хочешь чтоб имел доступ к интернету. Можно также сделать и с авторизацией, но тут может возникнуть больше проблем, т.к. не все ПО поддерживает авторизацию через проксю, под Unix больше возможностей, но нада уметь и конфиги писать.