lunes, 17 de junio de 2013
Perder conexión remota, correr comandos, recuperar conexión remota
Resulta que a veces tenemos un server remoto configurado con una IP, nos conectamos, pero tenemos que desactivar la IP a la cual nos conectamos, correr comandos y luego necesitamos volver a poder conectarnos (y activar la IP a la cual nos conectamos por ende).
Por ejemplo, nos conectamos al server para trabajar, vía SSH a la IP 192.168.0.117, pero luego necesitamos - por algun motivo - desactivar esta interfaz/IP, correr algún comando y luego volver a configurar la IP 192.168.0.117.
En el camino vamos a perder la conexión remota, luego cuando la IP vuelva a estar accesible, la vamos a poder reestablecer.
Este es un one-liner que hace eso:
ifconfig eth0 down ; ifconfig eth1 10.17.15.19 netmask 255.255.255.0 up ; route add default gw 10.17.15.1 eth0 ; echo "Este comando corrió al tener desactivada la interfaz eth0 y bajada la IP a donde nos conectamos en forma remota" ; sleep 240 ; route del default gw 10.17.15.1 ; ifconfig eth1 down ; ifconfig eth0 192.168.0.117 netmask 255.255.255.0 up ; route add default gw 192.168.0.1 eth0
Desglosando el one-liner, por comandos:
1) Baja la interfaz eth0
--
En este punto perdemos la conexión remota SSH
--
2) Configura la interfaz eth1
3) Carga una ruta estática para eth1
4) Ejecuta un comando mientras eth0 está desactivada
5) Ejecuta otro comando, haciendo una pausa de 4 minutos, luego contínua con el siguiente comando.
6) Borra manualmente la ruta estática para eth1
7) Baja la interfaz eth1
7) Activa y configura de vuelta eth0
8) Carga la ruta estática de eth0
--
En este punto podremos volver a conectarnos al host remoto vía SSH
--
Como ven es un ejemplo con muchas posibilidades de mejora, y si en vez de usar un one-liner lo ponen en un script, puede funcionar mucho mejor incluso.
Que les sea útil.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario