A primeira coisa que eu tentaria seria OpenVPN (o software, não o serviço deles). Na pior das hipóteses, executar o OpenVPN sobre TCP faria com que o host remoto mantivesse uma conexão TCP persistente com seu servidor OpenVPN, assegurando que você sempre tivesse um "canal" aberto para o cliente (não diferente do que o LogMeIn e serviços desse cliente). tipo estão fazendo, mantendo conexões "always-on" de volta para seus servidores centrais).