Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Guardar el codigo en un archivo, por ejemplo 'testconn.sh' y ejecutar:
- # bash testconn.sh google.com
- host=$1
- func_ping () {
- # la variable 'host' solo existe en el ambito de la funcion
- local host
- if ping -c 4 $1 > /dev/null 2>&1;then
- return 0
- else
- return 1
- fi
- }
- resolvconf=( $(cat /etc/resolv.conf | grep nameserver | cut -d " " -f 2) )
- internetns=( 8.8.8.8 1.1.1.1)
- # el primer test es al host pasado
- if func_ping $host; then
- echo "Host alcanzado"
- exit 0
- else
- echo "Host no alcanzado."
- echo "Probando namservers."
- fi
- # de no ser alcanzado se evaluan
- # los dns en el fichero host.
- for dns in ${resolvconf[@]} ${internetns[@]};do
- if func_ping $dns; then
- echo "Servidor $dns alcanzado."
- else
- echo "Servidor $dns no alcanzado."
- fi
- done
- echo "Probando gateway."
- gateway=$(ip route |cut -d " " -f 3)
- if func_ping $gateway;then
- echo "Gateway $gateway alcanzado."
- exit 0
- else
- echo "Gateway $gateway no alcanzado."
- echo "Compruebe sus configuraciones de red."
- exit 1
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement