R
rabo
Guest
Cansado de que ONO te quite la IP y no te la devuelva hasta que te des cuenta? Yo si y por eso acabo de solucionarlo de una puta vez por todas.
A continuacion un pequescript que hace de watchdog (desde cron.hourly) y que monitoriza la IP asignada por ONO a mi interfaz de salida (eth0).
*dedicado para sr cojon experto informatico y moderador del foro de informatica xD
#!/bin/bash
# pequescript para monitorizar el cliente
# dhcp en eth0 para ONO
IFACE=eth0
PIDFILE=/var/run/dhcpcd-${IFACE}.pid
IPCALC=`which ipcalc`
DHCPCD=`which dhcpcd`
# si no somos root, get out of here
[ $UID -gt 0 ] && exit 1
# comprobamos si existe el fichero de pid
[ -f $PIDFILE ] && {
DHCPCD_PID=`cat $PIDFILE`
DHCPCD_IP=`ifconfig $IFACE | grep Bcast | tr -s " " | cut -d: -f2 | awk '{print $1}'`
DHCPCD_MASK=`ifconfig $IFACE | grep Bcast | tr -s " " | cut -d: -f4`
IP_CLASS=`ipcalc nocolor $DHCPCD_IP/$DHCPCD_MASK | grep Class | tr -s " " | awk '{print $4}'`
[ $IP_CLASS != "A" ] && {
echo Nos han clavado una IP no valida...pidiendo dhcp de nuevo...
$DHCPCD $IFACE
FINAL_IP=`ifconfig $IFACE | grep Bcast | tr -s " " | cut -d: -f2 | awk '{print $1}'`
echo IP obtenida: $FINAL_IP
} || {
echo Todo en orden, IP: $DHCPCD_IP
}
} || {
echo No hay cliente dhcpcd corriendo para $IFACE, arrancandolo ahora...
$DHCPCD $IFACE
FINAL_IP=`ifconfig $IFACE | grep Bcast | tr -s " " | cut -d: -f2 | awk '{print $1}'`
echo IP obtenida: $FINAL_IP
}
A continuacion un pequescript que hace de watchdog (desde cron.hourly) y que monitoriza la IP asignada por ONO a mi interfaz de salida (eth0).
*dedicado para sr cojon experto informatico y moderador del foro de informatica xD
#!/bin/bash
# pequescript para monitorizar el cliente
# dhcp en eth0 para ONO
IFACE=eth0
PIDFILE=/var/run/dhcpcd-${IFACE}.pid
IPCALC=`which ipcalc`
DHCPCD=`which dhcpcd`
# si no somos root, get out of here
[ $UID -gt 0 ] && exit 1
# comprobamos si existe el fichero de pid
[ -f $PIDFILE ] && {
DHCPCD_PID=`cat $PIDFILE`
DHCPCD_IP=`ifconfig $IFACE | grep Bcast | tr -s " " | cut -d: -f2 | awk '{print $1}'`
DHCPCD_MASK=`ifconfig $IFACE | grep Bcast | tr -s " " | cut -d: -f4`
IP_CLASS=`ipcalc nocolor $DHCPCD_IP/$DHCPCD_MASK | grep Class | tr -s " " | awk '{print $4}'`
[ $IP_CLASS != "A" ] && {
echo Nos han clavado una IP no valida...pidiendo dhcp de nuevo...
$DHCPCD $IFACE
FINAL_IP=`ifconfig $IFACE | grep Bcast | tr -s " " | cut -d: -f2 | awk '{print $1}'`
echo IP obtenida: $FINAL_IP
} || {
echo Todo en orden, IP: $DHCPCD_IP
}
} || {
echo No hay cliente dhcpcd corriendo para $IFACE, arrancandolo ahora...
$DHCPCD $IFACE
FINAL_IP=`ifconfig $IFACE | grep Bcast | tr -s " " | cut -d: -f2 | awk '{print $1}'`
echo IP obtenida: $FINAL_IP
}