Advertisement
sergio_educacionit

testconn.sh

Jul 27th, 2024
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.07 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Guardar el codigo en un archivo, por ejemplo 'testconn.sh' y ejecutar:
  4.  
  5. #    bash testconn.sh google.com
  6.  
  7.  
  8. host=$1
  9.  
  10. func_ping () {
  11.    
  12.     # la variable 'host' solo existe en el ambito de la funcion
  13.     local host
  14.  
  15.     if ping -c 4 $1 > /dev/null 2>&1;then
  16.  
  17.         return 0
  18.     else
  19.         return 1
  20.     fi
  21. }
  22.  
  23. resolvconf=( $(cat /etc/resolv.conf | grep nameserver | cut -d " " -f 2) )
  24. internetns=( 8.8.8.8 1.1.1.1)
  25.  
  26.  
  27.  
  28. # el primer test es al host pasado
  29.  
  30. if func_ping $host; then
  31.  
  32.     echo "Host alcanzado"
  33.     exit 0
  34. else
  35.     echo "Host no alcanzado."
  36.     echo "Probando namservers."
  37. fi
  38.  
  39.  
  40.  
  41.  
  42. # de no ser alcanzado se evaluan
  43. # los dns en el fichero host.
  44.  
  45. for dns in ${resolvconf[@]} ${internetns[@]};do
  46.  
  47.     if func_ping $dns; then
  48.  
  49.         echo "Servidor $dns alcanzado."
  50.     else
  51.         echo "Servidor $dns no alcanzado."
  52.     fi
  53.  
  54. done
  55.  
  56. echo "Probando gateway."
  57.  
  58. gateway=$(ip route |cut -d " " -f 3)
  59.  
  60. if func_ping $gateway;then
  61.  
  62.     echo "Gateway $gateway alcanzado."
  63.     exit 0
  64. else
  65.     echo "Gateway $gateway no alcanzado."
  66.     echo "Compruebe sus configuraciones de red."
  67.     exit 1
  68. fi
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement