Você pode verificar se o --shaper
open se ajusta às suas necessidades. Se você precisar de algo mais complexo, você pode usar o linux tc
para definir as velocidades por IP.
Além disso, você pode configurar o OpenVPN com um back-end do Radius para autenticação e contabilidade.