
Tenho um dispositivo ao qual não consigo mais me conectar (ssh, salt, ...), não tenho acesso físico fácil - mas que ainda abre uma sessão OpenVPN no meu servidor. Para tentar recuperá-lo, gostaria de:
- no servidor força uma reconexão para este cliente
- quando o cliente se reconectar - envie um script que o cliente executaria (primeiro eu daria uma olhada no que está acontecendo por meio de um despejo de logs e configurações e, em seguida, possivelmente recuperaria as configurações corretas)
Existem soluções parascripts a serem executados no cliente assim que ele se conectarmas todos assumem que esta é a escolha do cliente (= a configuração está no lado do cliente). Estou procurando o contrário.
Posso ver que existe um problema de segurança nessa abordagem (o provedor de VPN pode assumir o controle da máquina cliente), mas talvez haja uma maneira que não seja óbvia na documentação?
Responder1
Para forçar o cliente a se reconectar, você pode:
- descarte o endereço IP de origem específico e a combinação de porta de origem usandotabelas de ipemSAÍDAcadeia, ou endereço de destino e porta de destino emENTRADApor um período de tempo maior que o intervalo de reinicialização do ping,
- mate o cliente especificado na interface de gerenciamento do OpenVPN:Veja aqui
- reinicie o serviço OpenVPN no servidor, todos os itens acima forçarão uma nova troca simétrica de chaves, novos soquetes e um novo número de porta dst.
Por que você não pode executar um script:
- você está sem sorte aqui. Os scripts são configurados e devem estar localizados no lado do cliente, AFAIK, mesmo o ccd do OpenVPN não permite isso, a diretiva de configuração "pull" adequada também é necessária no lado do cliente - para permitir que o servidor extraia as opções de túnel mais básicas, como: cifra , tamanhos de buffer, compactação, rotas etc., mas não as diretivas de configuração de script.
na configuração padrão, o OpenVPN funciona sem privilégios de ninguém,- isso seria uma falha de segurança.