lunes, febrero 15, 2010

Aleatoriedad?

sábado, febrero 06, 2010

Switching de Conexiones (BASH)

Pequeño script que modifica el /etc/network/interfaces configurando la interfaz de manera dinámica y/o estática, mas que nada es una idea de como se puede aplicar a varias interfaces en caso de ser necesario, por ejemplo en caso de estar virtualizando maquinas con muchas interfaces o topologias con varias VM, etc...
En este caso particular, es para un cliente que posee 2 rangos de red en un mismo dominio broadcast, uno con DHCP y otro estatico, la topologia se muestra en la imagen.





  1. #!/bin/bash

  2. LAN="eth0";
  3. GW="192.168.50.1";
  4. NETMASK="255.255.255.0";
  5. ADDRESS="192.168.50.2";

  6. valor=0;

  7. echo "#################################";
  8. echo "######## Switching ISP ##########";
  9. echo "#################################";
  10. echo "";


  11. echo "Seleccione a travez de que ISP desea conectarse a internet:"
  12. echo "1- Fibertel";
  13. echo "2- VPN";
  14. echo "3- Salir";
  15. read valor;

  16. # Valido valor ingresado
  17. while [ $valor -gt 3 -o $valor -lt 1 ];
  18. do
  19. echo "Valor Incorrecto, por favor elija una de las 3 opciones:";
  20. read valor;
  21. done
  22. case $valor in
  23. 1)cd /etc/network
  24. echo "#Configuracion Automatica echa con Script SWITCH-ISP" > interfaces;
  25. echo "" >> interfaces;
  26. echo "auto "$LAN >> interfaces;
  27. echo "iface "$LAN" inet static" >> interfaces;
  28. echo "address "$ADDRESS >> interfaces;
  29. echo "netmask "$NETMASK >> interfaces;
  30. echo "gateway "$GW >> interfaces;
  31. echo "Reiniciando Configuracion....";
  32. /etc/init.d/networking restart
  33. cd /
  34. ping $ADDRESS
  35. echo "Configuracion exitosa!";
  36. ;;
  37. 2)cd /etc/network
  38. echo "#Configuracion Automatica echa con Script SWITCH-ISP" > interfaces;
  39. echo "auto "$LAN >> interfaces;
  40. echo "iface "$LAN" inet dhcp" >> interfaces;
  41. /etc/init.d/networking restart
  42. cd /
  43. ifconfig $LAN
  44. echo "Configuracion exitosa!";
  45. ;;
  46. 3)echo "Saliendo....";;
  47. *)echo "Opcion incorrecta, vuelva a ingresar";;
  48. esac