Mi empresa tiene un servidor SVN interno (VisualSVN) que nos gustaría empezar a utilizar para realizar un seguimiento de los cambios en nuestro código fuente de Python en la nube. Las instancias ec2 usarían el cliente SVN de Linux. Me gustaría configurar algo que se conecte automáticamente a nuestra red doméstica usando IPSec VPN, ejecute cualquier comando SVN que necesitemos y luego cierre la conexión VPN.
Una preocupación es que tanto EC2 como nuestra red interna utilizan el 10...* Rango IP. Solo necesito conectarme a un único servidor en nuestra red (10.0.0.8) una vez que la VPN esté conectada. Me preocupa cambiar accidentalmente las tablas de enrutamiento y arruinar totalmente nuestros servidores.
Estoy usando Fedora en este momento en EC2, pero consideraría cambiar de distribución si hay una solución disponible.
¿Alguien puede proporcionar algunos scripts de ejemplo que muestren cómo tomar un comando SVN, crear una conexión VPN, configurar la tabla de enrutamiento, ejecutar el comando SVN y luego desconectar la conexión VPN una vez completada?
Gracias de antemano, Russ Ryba.
Editar: para aquellos que sugieren SVN sobre SSH. Lo he usado antes y funciona bien.
Dado que el servidor EC2 con el código fuente del que deseo hacer una copia de seguridad está FUERA de mi red de trabajo, ¿no necesitaría todavía IPSec para acceder al servidor SVN dentro de mi red?
¿O SSH pasa por firewalls IPSec? El servidor SVN de trabajo también ejecuta Windows, por lo que, hasta donde yo sé, no tiene un servidor SSH ejecutándose.
Respuesta1
En lugar de VPN IPSec, ¿por qué no utilizar svn+ssh? Solo menciono esto porque enviar ssh a una IP es muchísimo más simple que configurar el acceso VPN: simplemente anuncie un puerto aleatorio para sus servidores, reenviado a su servidor interno.
No arruinará su servidor agregando una única ruta a una red 10.xxx (como 10.1.1.0/24). De todos modos, el tráfico vinculado a Internet siempre irá a su ruta predeterminada.
Lo siento, no puedo proporcionar un script completo, pero intente configurar claves ssh y usar svn+ssh, mucho más simple y no es necesario cambiar las distribuciones ni nada drástico por el estilo. :)
Editar: si la fuente tiene algo que ver con el trabajo, entonces, en mi opinión, su departamento de TI tiene el deber de hacerlo lo más simple posible manteniendo la seguridad. ¿Qué es el servidor VPN? Configurar una conexión temporal debería ser bastante sencillo, pero necesito saber más sobre el tipo de VPN que utilizas. ¿Es PPTP?
No existe tal cosa como un firewall IPSec. En mi experiencia, sólo existen filtros de paquetes de uso general, comúnmente conocidos como firewalls. En términos generales, sólo se utiliza un firewall para permitir puertos arbitrarios, con una regla de denegación predeterminada para cualquier otra cosa. Es muy sencillo exponer un puerto para esto, es sólo una cuestión de proceso.
Además, el hecho de que el servidor ejecute Windows no significa que no esté ejecutando svnserve. ¿Cómo se accede al repositorio? ¿Cuál es el protocolo al inicio del URI? svn://, http://, etc.