Advertisement
angeldp

Configuración de la red Ubuntu

May 24th, 2011
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.85 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Script que configurará los equipos Ubuntu para dejar
  4. # sus parámetros de red preparados para introducirlos
  5. # en el dominio cepalencia.local
  6.  
  7. # Declaro una función para salir cuando se produzca un error
  8.  
  9. function error(){
  10. clear
  11. echo "Se ha producido un error"
  12. echo "Pulse cualquier tecla para continuar."
  13. read -n1 -s NADA
  14. exit
  15. }
  16.  
  17. clear
  18. if [ "$USER" != "root" ]
  19.     then
  20.     error
  21. fi
  22.  
  23. # Crear variables con los valores de uso frecuente en el script
  24.  
  25. MASCARA="255.255.255.0"
  26. DNS1="10.10.10.3"
  27. DNS2="194.179.1.100"
  28. FCONFRED="/etc/network/interfaces"
  29. FCONFDNS="/etc/resolv.conf"
  30. FCONFHOST="/etc/hosts"
  31. FCONFNSS="/etc/nsswitch.conf"
  32. FLOG="/var/log/configred.log"
  33. FAUX="/tmp/configred.aux"
  34. OPC="z"
  35.  
  36. if [ ! -f $FCONFRED ]
  37.     then
  38.     error
  39. fi
  40.  
  41. [ ! -f $FCONFDNS ] && error
  42. [ -f $FCONFHOST ] || error
  43. test -f $FCONFNSS || error
  44.  
  45. echo "Indique la dirección IP de este equipo:"
  46. read DIRIP
  47.  
  48. GATEWAY=`echo $DIRIP | cut -d. -f1-3`
  49. GATEWAY="`echo $GATEWAY`.1"
  50.  
  51. echo "auto lo" > $FAUX
  52. echo "iface lo inet loopback" >> $FAUX
  53. echo "" >> $FAUX
  54. echo "auto eth0" >> $FAUX
  55. echo "iface eth0 inet static" >> $FAUX
  56. echo "address $DIRIP" >> $FAUX
  57. echo "netmask $MASCARA" >> $FAUX
  58. echo "gateway $GATEWAY" >> $FAUX
  59.  
  60. echo "Se introducirá la siguiente información en $FCONFRED"
  61. more $FAUX
  62. until [ "$OPC" = "a" -o "$OPC" = "A" -o "$OPC" = "c" -o "$OPC" = "C" ]
  63.     do
  64.     echo "¿Desea continuar (c) o abortar (a)? "
  65.     read -n1 -s OPC
  66.     if [ "$OPC" = "c" -o "$OPC" = "C" ]
  67.         then
  68.         cp -f $FAUX $FCONFRED
  69.     elif [ "$OPC" = "a" -o "$OPC" = "A" ]
  70.         then
  71.         echo "Finalizando script..."
  72.         exit
  73.     else
  74.         echo "Opción incorrecta."
  75.         sleep 3
  76.     fi
  77. done
  78. OPC="z"
  79. echo "nameserver $DNS1" > $FAUX
  80. echo "nameserver $DNS2" >> $FAUX
  81. echo "Se introducirá la siguiente información en $FCONFDNS"
  82. more $FAUX
  83. until [ "$OPC" = "a" -o "$OPC" = "A" -o "$OPC" = "c" -o "$OPC" = "C" ]
  84.     do
  85.     echo "¿Desea continuar (c) o abortar (a)? "
  86.     read -n1 -s OPC
  87.     if [ "$OPC" = "c" -o "$OPC" = "C" ]
  88.         then
  89.         cp -f $FAUX $FCONFDNS
  90.     elif [ "$OPC" = "a" -o "$OPC" = "A" ]
  91.         then
  92.         echo "Finalizando script..."
  93.         exit
  94.     else
  95.         echo "Opción incorrecta."
  96.         sleep 3
  97.     fi
  98. done
  99. OPC="z"
  100.  
  101. echo -e "10.10.10.3\tCEPALENCIA.LOCAL" > $FAUX
  102. echo -e "10.10.10.3\tservers-03.cepalencia.es" >> $FAUX
  103. more $FCONFHOST >> $FAUX
  104. echo "Se introducirá la siguiente información en $FCONFHOST"
  105. more $FAUX
  106. until [ "$OPC" = "a" -o "$OPC" = "A" -o "$OPC" = "c" -o "$OPC" = "C" ]
  107.     do
  108.     echo "¿Desea continuar (c) o abortar (a)? "
  109.     read -n1 -s OPC
  110.     if [ "$OPC" = "c" -o "$OPC" = "C" ]
  111.         then
  112.         cp -f $FAUX $FCONFHOST
  113.     elif [ "$OPC" = "a" -o "$OPC" = "A" ]
  114.         then
  115.         echo "Finalizando script..."
  116.         exit
  117.     else
  118.         echo "Opción incorrecta."
  119.         sleep 3
  120.     fi
  121. done
  122. OPC="z"
  123. ## Forma cutre de modificar /etc/nsswitch.conf
  124. # more $FCONFNSS | grep -v ^hosts: > $FAUX
  125. # echo -e "hosts:\tfiles dns" >> $FAUX
  126. # cp -f $FAUX $FCONFNSS
  127. ## No nos sirve porque añade la línea de hasts al final
  128.  
  129. CONT=`more $FCONFNSS | wc -l`
  130. NLINEA=1
  131. rm -f $FAUX
  132.  
  133. until [ $NLINEA -eq $CONT ]
  134.     do
  135.     LINEA=`more $FCONFNSS | head -$NLINEA | tail -1`
  136.     CTR=`echo $LINEA | grep ^hosts: | wc -l`
  137.     if [ $CTR -eq 0 ]
  138.         then
  139.         echo $LINEA >> $FAUX
  140.     else
  141.         echo -e "hosts:\tfiles dns" >> $FAUX
  142.     fi
  143.     NLINEA=`expr $NLINEA + 1`
  144. done
  145.  
  146. echo "Se introducirá la siguiente información en $FCONFNSS"
  147. more $FAUX
  148. until [ "$OPC" = "a" -o "$OPC" = "A" -o "$OPC" = "c" -o "$OPC" = "C" ]
  149.     do
  150.     echo "¿Desea continuar (c) o abortar (a)? "
  151.     read -n1 -s OPC
  152.     if [ "$OPC" = "c" -o "$OPC" = "C" ]
  153.         then
  154.         cp -f $FAUX $FCONFNSS
  155.     elif [ "$OPC" = "a" -o "$OPC" = "A" ]
  156.         then
  157.         echo "Finalizando script..."
  158.         exit
  159.     else
  160.         echo "Opción incorrecta."
  161.         sleep 3
  162.     fi
  163. done
  164.    
  165. clear
  166. echo "Se han modificado los ficheros necesarios,"
  167. echo "pulse cualquier tecla para reiniciar la red."
  168. read -n1 -s NADA
  169. /etc/init.d/networking restart
  170. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement