Como posso criar um wrapper de conexão/desconexão VPN em torno de comandos SVN?

Como posso criar um wrapper de conexão/desconexão VPN em torno de comandos SVN?

Minha empresa possui um servidor SVN interno (VisualSVN) que gostaríamos de começar a usar para acompanhar as alterações em nosso código-fonte python na nuvem. As instâncias ec2 usariam o cliente Linux SVN. Gostaria de configurar algo que se conecte automaticamente à nossa rede doméstica usando VPN IPSec, execute todos os comandos SVN necessários e feche a conexão VPN.

Uma preocupação é que tanto o EC2 quanto a nossa rede interna utilizem o 10...* Intervalo de IP. Só preciso me conectar a um único servidor em nossa rede (10.0.0.8) quando a VPN estiver conectada. Estou preocupado com a possibilidade de alterar acidentalmente as tabelas de roteamento e bagunçar totalmente nossos servidores.

Estou usando o Fedora agora no EC2, mas consideraria mudar de distribuição se houver uma solução prontamente disponível.

Alguém pode fornecer alguns scripts de exemplo que mostram como executar um comando SVN, criar uma conexão VPN, configurar a tabela de roteamento, executar o comando SVN e, em seguida, descartar a conexão VPN quando concluída?

Agradecemos antecipadamente, Russ Ryba


Editar: Para aqueles que sugerem SVN sobre SSH. Já usei isso antes e funciona bem.

Como o servidor EC2 com código-fonte que desejo fazer backup está FORA da minha rede de trabalho, ainda não precisaria do IPSec para acessar o servidor SVN dentro da minha rede?

Ou o SSH passa por firewalls IPSec? O servidor SVN de trabalho também executa o Windows, portanto, não possui um servidor SSH em execução, até onde eu sei.

Responder1

Em vez de VPN IPSec, por que não usar svn+ssh? Mencionei isso apenas porque fazer ssh para um IP é muito mais simples do que configurar o acesso VPN - basta anunciar uma porta aleatória para seus servidores, encaminhada para seu servidor interno.

Você não estragará seu servidor adicionando uma única rota a uma rede 10.xxx (como 10.1.1.0/24). O tráfego vinculado à Internet sempre irá para sua rota padrão de qualquer maneira.

Desculpe, não posso fornecer um script completo, mas tente configurar chaves ssh e usar svn + ssh - muito mais simples e sem necessidade de alterar distros ou algo drástico assim. :)

Editar: se a fonte tiver algo a ver com trabalho, então, na minha opinião, seu departamento de TI tem o dever de tornar isso o mais simples possível, mantendo a segurança. Qual é o servidor VPN? Configurar uma conexão temporária deve ser bem simples, mas preciso saber mais sobre o tipo de VPN que você usa. É PPTP?

Não existe firewall IPSec. Na minha experiência, existem apenas filtros de pacotes de uso geral, comumente chamados de firewalls. De modo geral, você apenas usa um firewall para permitir portas arbitrárias, com uma regra de negação padrão para qualquer outra coisa. É muito simples expor uma porta para isso, é só uma questão de processo.

Além disso, o fato de o servidor rodar Windows não significa que ele não esteja rodando o svnserve. Como você acessa o repositório? Qual é o protocolo no início do URI? svn://, http://, etc.

informação relacionada