ну в openvpn есть замечательные скрипты на клиенте script-up\script-down.cmd ( Win_) , парметры up\down в конфиге клиента ( unix ), client-connect\client-disconnect в настройке конфига сервера. в последних случаях в bash скрипт передается куча параметров, например: $username $ifconfig_pool_remote_ip $trusted_ip на основе чего можно "разрулить" кого куда надо в любой комбинации.. реально нужно запускать два три экземпляра openvpn если нужно поднять входы на разных входных интерфейсах. такое тоже можно ( наверно) сделать на одном экземпляре но слишком сложно разобраться что куда и как.