Como solucionar error, Device eth0 does not seem to be present, delaying initialization

Dolores de cabeza me ha dado este error, hasta que pude dar con la solución.

Siempre me ha aparecido copiando maquinas virtuales de centos 6, pero a saber en cuantas ocasiones se puede dar.

Es debido que al copiar una maquina virtual y querer asignar otra ip, el s.o chifla con la mac de la interface de red, apareciendo el siguiente error, al hace el service network start

error Device eth0 does not seem to be present

El causante es el fichero /etc/udev/rules.d/70-persistent-net.rules , que no actualiza la mac nueva y muestra la anterior.

Fichero: /etc/udev/rules.d/70-persistent-net.rules

La solucion es tan sencilla como borrar el fichero y reiniciar el sistema operativo.

rm /etc/udev/rules.d/70-persistent-net.rules y reboot

Y con esto conseguimos que el centos pueda arrancar la interface de red

Rotar los logs de sistema en /var/log en linux

Los logs del sistemas se generan en el directorio /var/log, aquí se van guardando los accesos al sistema (secure), tareas de cron (cron), envíos de correo (maillog), eventos del sistema (messages), etc.

Y ya sea por falta de espacio, o por querer mantener un histórico, los sistemas vienen con la herramienta logrotate configurada.

En el fichero /etc/logrotate.conf , podemos ver la configuración standard, aquí un ejemplo de centos 7.

##/etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

En la configuración podemos ver como se ejecuta semanalmente (weekly), que se crea un fichero nuevo en cada rotado (create), etc

En el caso de no tener espacio con el comando /usr/sbin/logrotate -f /etc/logrotate.conf , podemos forzar la rotación y aliviar el espacio del sistema al comprimirse los ficheros generarse los nuevos.

Y en el caso de querer mantener un histórico de eventos, podemos programar en el crontab diariamente este pequeño script.

#!/bin/bash

### /home/admin/rotate_system_logs.sh

#Dia, mes anio
DAY=$(date +%d)
MONTH=$(date +%m)
YEAR=$(date +%Y)

#Directorio logs
LOGDIR="/var/log";

#Directorio historico logs
DESTDIR="/home/admin/system_logs/$YEAR/$MONTH/$DAY/";

# comprobar que existen los directorios destino y sino lo creamos
if [ ! -d $DESTDIR ]; then
        mkdir -p $DESTDIR
fi

#forzamos rotado logs
/usr/sbin/logrotate -f /etc/logrotate.conf

#mover los ficheros logs a directorio backup con fecha actual
mv -f $LOGDIR/*gz $DESTDIR

Cómo resetear contraseña root en CentOS 6 y 7

No es la primera vez que nos ha pasado (ni la ultima), que hemos olvidado la contraseña del usuario root.

Por eso con esta entrada voy a explicar a resetear la contraseña con unos sencillos pasos.

Lo primero que hareos es reiniciar el equipo y en la pantalla de seleccion de sistema operativo del grub, pulsaremos la tecla “e“, para entrar en el menu de edición.

Pulsamos “e”, en el menu del grub

Nos aparecere una pantalla como la siguiente:

Pantalla edición

Buscaremos la linea 16 donde aparece el sigueinte texto “ro

“ro” subrayado en amarillo

En este punto debemos cambiar el texto “ro” por lo siguiente:

 rw init=/sysroot/bin/sh

Debe de quedar como en la siguiente captura.

rw init=/sysroot/bin/sh subrayado en amarillo

A continuación pulsamos “ctrl + x“, para salir del menu de edición.

Accedemos al sistema con el siguiente comando:

chroot /sysroot

Y ya podemos cambiar la contraseña con el comando:

passwd root
Cambiamos contraseña root

Ahora ya tendriamos la contraseña cambiada y utilizando el comando “reboot“, ya podriamos utilizar la contraseña recien cambiada.

Redirección de http a https en apache.

En los albores de internet, podríamos decir que todo era mas “seguro” y existían muchos menos ataques malintencionados que ahora, con lo que todas las webs funcionaban bajo el protocolo http.

Con el tiempo se detecto que ese protocolo era inseguro ya que el trafico viajaba sin cifrar, con lo que se creo el protocolo seguro “https”, con lo que si queremos que nuestra web funcione siempre en con el protocolos seguro debemos de redirigir todo el trafico http a https.

A continuación paso a explicar como hacerlo el servidor web apache.

Si lo hacemos en un entorno ubuntu/debian los pasos de instalación serian estos:

#Instalamos apache2 
apt-get install apache2

#Habilitamos el módulo SSL y  rewrite
a2enmod ssl
a2enmod rewrite 

Y en centos estos:

#Instalar apache2 
yum install http

# Instalamos el módulo SSL y openssl
yum install mod_ssl openssl

#Añadimos modulo en fichero configuracion
vi /etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so

A continuación en el fichero de configuración de apache redirigimos el trafico.

#debian/ubuntu
/etc/apache2/sites-enabled/000-default.conf
#centos
vim /etc/httpd/conf.d/000-vhost.conf

<VirtualHost *:80>
        RewriteEngine on
        ReWriteCond %{SERVER_PORT} !^443$
        RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>

Con esta configuración forzaremos que todo trafico http vaya al puerto https.