Clonar discos desde Ubuntu

Hacía tiempo que no me encontraba ante la situación de cambiar un disco duro en una máquina. Pero este fin de semana un amigo se compro un nuevo disco duro y le daba pereza tener que reinstalar todos los programas, copiar las carpetas de datos…

Una solución era utilizar nuevo disco sólo para datos y dejar el viejo como estaba pero claro el nuevo es más rápido con lo que para eso se hubiera comprado uno externo.

La otra opción era reinstalarlo todo pero… y si clonamos el disco? Esto alguna vez lo había hecho pero hacía mucho y no tenía los programas por lo que investigando un poco encontre la solución.

Esta copia de disco sólo puede hacerse de discos pequeños a disco grandes, es decir que vamos a copiar la partición completa no los datos.

El disco duro a copiar, el origen de los datos, esta identificado como «sda» y el destino como «sdb». Teniendo esto en cuenta, ejecute desde la consola el siguiente comando:

$ sudo dd if=/dev/sda of=/dev/sdb bs=1M

Y ahora sólo hay que esperar a que termine, el tiempo depende de la velocidad de los discos y del tamaño de estos.

Después de hacer la copia sólo deberás arrancar con el disco copiado (destino) y voilà el cambio de disco ha terminado!

Como activar sudo en Debian

sudo esta habilitado por default en Ubuntu, pero en Debian no es asi, para poder activarlo hay que usar visudo para ello teclemos en la terminal:

# visudo

Buscamos las lineas que dicen:

# User privilege specification

root ALL=(ALL) ALL

Y añadimos nuestro usuario en mi caso mi usuario es «chato» por lo tanto editamos y nos debe de quedar algo asi:

# User privilege specification

root ALL=(ALL) ALL

chato ALL=(ALL) ALL

Guardamos y ya podremos usar sudo.

Cómo solucionar el problema de las interfaces de red en VirtualBox en una máquina Ubuntu clonada

Objetivo: Resolver el problema de conectividad al hacer cambios en las interfaces de red de una máquina clon Ubuntu en VirtualBox.

Cuando clonamos una máquina Ubuntu y hacemos cambios en la configuración de las interfaces de red (reiniciamos la MAC) VirtualBox desconoce la existencia de la interfaz y resulta imposible lograr la conectividad de la máquina en la red. Este tutorial trata de dar solución a este problema con dos pequeños pasos.

En mis experimentos con máquina clonadas he tenido que afrontar este problema frecuentemente. Actualmente estoy con la versión 4.1.8 de VirtualBox y vamos a trabajar con Ubuntu Desktop v11.10. Como voy a trabajar con máquinas virtuales en el mismo equipo real, a la hora de hacer la clonación selecciono la opción de “Reinicializar la dirección MAC de todas las tarjetas de red”, lo cual impedirá conflictos entre los equipos de la red:

Comenzamos por revisar nuestra ficha de “Red” en la máquina. Con la máquina seleccionada en el panel izquierdo, vamos a

Configuración > Red.

Desplegamos la sección de “Avanzadas” y vemos la MAC que VirtualBox ha asignado a la máquina. Podemos cambiar la MAC pulsando sobre el icono de las flechas verdes, cuando se trata – por ejemplo – de una red en donde coinciden las MACs. En ocasiones, VirtualBox no reconoce estos cambios en las interfaces y el sistema pierde la conectividad con la red. La ficha de “Red” se muestra así:

Aparentemente no hay problemas. A continuación vamos a ver las señales del verdadero problema.

El sistema espera por la configuración de la máquina en la red:

En el tiempo previsto, el sistema no logra habilitar la configuración de la red:

Además, vemos contradicciones entre la interfaz ethX que nos muestra el comando “ifconfig” y la que hemos establecido como IP estática en /etc/network/interfaces. Veamos esto en las siguientes capturas. El comando “ifconfig” nos indica de la existencia de la interfaz “eth1” con una IP que le ha asignado el router:

Pero la IP estática que hemos definido en /etc/network/interfaces es para “eth0” y es la  IP que necesitamos para nuestra red:

En los intentos por resolver este problema que se me presentaba cada vez que clonaba o importaba una máquina para mis ensayos, logré dar con las soluciones que presenta Marlon J. Manrique en la página dehttp://www.hipergalaxia.org/blog/tag/virtualbox/ (os invitamos a visitarla). A continuación especificamos los dos pasos que ejecutaremos para quitar de raíz el problema planteado. Iniciamos la máquina como root para hacer los cambios fácilmente.

Paso 1: Modificamos el fichero /lib/udev/rules.d/75-persistent-net-generator.rules 

Antes de la línea:

# ignore KVM virtual interfaces

Agregamos las dos líneas siguientes:

# ignore VirtualBox virtual interfaces

ENV{MATCHADDR}==”08:00:27:*”, GOTO=”persistent_net_generator_end”

Con el editor que utilicemos (por ejemplo, nano), copiamos y pegamos una línea similar y sólo cambiamos la numeración. Es un truco que impide que ocurran errores de sintaxis. Guardamos los cambios del fichero.

Paso 2: Borramos el fichero /etc/udev/rules.d/70-persistent-net.rules 

Borramos el fichero porque guarda la información de la interfaz anterior. Por ejemplo, podemos utilizar las directivas:

cd /etc/udev/rules.d

rm 70-persistent-net.rules

(Comprobamos que ha sido borrado el fichero con el comando “ls –l”).

Apagamos la máquina.

Cambiamos la MAC de la tarjeta de red en Configuración > Red, desplegamos la sección “Avanzadas” y pulsamos el icono de flechas verdes.

Ahora nuestra MAC es 080027E3056F. Ya podemos iniciar de nuevo la máquina para hacer las comprobaciones.

Comprobaciones en la consola:

Comprobar que el fichero /etc/resolv.conf apunta al servidor DNS de la red, en nuestro caso a la IPdel router (si no lo estuviera, hacer los cambios que correspondan):

Correcto establecimiento de la interfaz eth0 con la IP estática tal como configuramos en el fichero /etc/network/interfaces:

Correcta conectividad en la red:

Ahora ya podemos actualizar las cabeceras de los repositorios con el comando “apt-get update”:

Comprobaciones en el entorno gráfico:

Vamos al navegador y comprobamos que ya tenemos a Google funcionando:

Con estos dos pasos hemos corregido el problema que presenta VirtualBox con las máquinas clonadas o importadas a las cuales debemos asignarle una IP estática de acuerdo a nuestra red. La ventaja más importante al haber resuelto el problema es que ahora la máquina puede utilizar la IP que le corresponde en la red, sin presentarnos conflictos con otras máquinas.

Proteger archivos con BitLocker

Puede usar el Cifrado de unidad BitLocker para ayudar a proteger sus archivos en una unidad completa. BitLocker puede ayudar a impedir que los hackers accedan a los archivos del sistema que necesitan para averiguar su contraseña, o que accedan a su unidad extrayéndola físicamente de su equipo e instalándola en otro. Todavía puede iniciar sesión en Windows y usar los archivos de la forma habitual.

Nota

  • El cifrado de dispositivos BitLocker solo está disponible en las ediciones Windows 8.1 Pro y Windows 8.1 Enterprise.

Para activar BitLocker

Advertencia

Advertencia

  • Cuando active BitLocker por primera vez, asegúrese de crear una clave de recuperación. De lo contrario, podría perder acceso a sus archivos de forma permanente.
  1. Para abrir Cifrado de unidad BitLocker, deslice rápidamente el dedo desde el borde derecho de la pantalla, pulseBuscar (o, si usa un mouse, apunte a la esquina superior derecha de la pantalla, mueva el puntero del mouse hacia abajo y, a continuación, haga clic en Buscar), escriba BitLocker en el cuadro de búsqueda, pulse o haga clic enConfiguración y después pulse o haga clic en Cifrado de unidad BitLocker.
  2. Pulse o haga clic en Activar BitLocker. Se requiere permiso de administrador Es posible que se te solicite que proporciones una contraseña de administrador o que confirmes tu elección.Se abre el cuadro de diálogo de configuración de Cifrado de unidad BitLocker.
  3. Siga las instrucciones.

Para desactivar o suspender temporalmente BitLocker

Puede suspender temporalmente BitLocker, por ejemplo, si necesita instalar software nuevo que BitLocker podría bloquear, y después reanudarlo cuando esté listo. También puede desactivar BitLocker totalmente, lo que descifra la unidad y quita toda la protección de BitLocker.

  1. Para abrir Cifrado de unidad BitLocker, deslice rápidamente el dedo desde el borde derecho de la pantalla, pulseBuscar (o, si usa un mouse, apunte a la esquina superior derecha de la pantalla, mueva el puntero del mouse hacia abajo y, a continuación, haga clic en Buscar), escriba BitLocker en el cuadro de búsqueda, pulse o haga clic enConfiguración y después pulse o haga clic en Cifrado de unidad BitLocker.
  2. Realice una de las acciones siguientes:
    • Para suspender temporalmente BitLocker, pulse o haga clic en Suspender protección. Se requiere permiso de administrador Es posible que se te solicite que proporciones una contraseña de administrador o que confirmes tu elección. Una vez que lo haya hecho, pulse o haga clic en Sí.
    • Para desactivar BitLocker y descifrar la unidad, pulse o haga clic en el vínculo Desactivar BitLocker. Se requiere permiso de administrador Es posible que se te solicite que proporciones una contraseña de administrador o que confirmes tu elección. Una vez que lo haya hecho, pulse o haga clic en el botón Desactivar BitLocker.

¿Qué sucede si agrego más archivos almacenados en una unidad cifrada?

Los nuevos archivos se cifran automáticamente cuando los agrega a una unidad que usa BitLocker. Sin embargo, si copia estos archivos a otra unidad o a un equipo diferente, se descifran automáticamente.

¿Dónde se puede usar BitLocker?

BitLocker puede cifrar la unidad donde Windows está instalado (la unidad del sistema operativo) así como las unidades de datos fijas (como las unidades de disco duro internas). También puede usar BitLocker To Go para proteger todos los archivos almacenados en una unidad de datos extraíble (por ejemplo, un unidad de disco duro externa o una unidad flash USB).

Si cifra la unidad del sistema operativo

BitLocker comprueba el equipo durante el inicio para ver si se dan condiciones que podrían presentar un riesgo de seguridad (por ejemplo, un cambio en el software del BIOS que inicia el sistema operativo cuando activa el equipo o cambios en algún archivo de inicio). Si se detecta un posible riesgo de seguridad, BitLocker bloquea la unidad del sistema operativo y necesitará una clave de recuperación de BitLocker especial para desbloquearla.

Si cifra una unidad de datos

Puede elegir cómo desea desbloquear una unidad de datos cifrada: con una contraseña o una tarjeta inteligente. Si lo prefiere, para las unidades de datos fijos también puede establecer la unidad para que se desbloquee automáticamente al desbloquear el equipo, siempre que la unidad del sistema operativo esté protegida por BitLocker. Para las unidades de datos extraíbles cifradas con BitLocker to Go, puede establecer la unidad para que se desbloquee automáticamente al iniciar sesión en el equipo.

Compartir archivos entre máquinas Linux vía NFS

¿Qué es NFS?

NFS (Network File Sistem o Sistema de Ficheros de Red) es una solución ofrecida por los sistemas operativos UNIX/Linux para compartir archivos en redes TCP/IP. Fue desarrollado por SUN Microsystems bajo licencia GPL, lo que facilitó que se convirtiera en un estándar a la hora de convertir archivos en red.

NFS nos permite montar una partición de una máquina remota en un directorio de nuestra máquina como si fuera una partición local.

Veamos qué necesitamos instalar.

  1. Si queremos que nuestra máquina pueda utilizar recursos compartidos por un servidor nfs, instalaremos los paquetes nfs-common y portmap.
  2. Y si lo que queremos es que nuestra máquina pueda realizar ambas funciones: compartir sus recursos y conectarse a otros compartidos, instalaremos los paquetes: nfs-kernel-server yportmap. En este caso, también necesitamos el paquete nfs-common, pero como es una dependencia del paquete nfs-kernel-server, al instalar nfs-kernel-server se instalará también nfs-common.

Lo primero: El portmap.

Como en todos los casos necesitamos portmap, lo primero que hacemos es comprobar si está corriendo.

Sin entrar en muchos detalles, podemos decir que portmap es el mapeador de puertos de linux. Este mapeador se encarga de gestionar la asignación entre aplicaciones y puertos.
Lo normal es que el portmap se encuentre ya instalado.

Para saber si tenemos el portmap instalado y corriendo, no tenemos más que hacer un:

# ps aux | grep portmap

Si está corriendo, la salida del comando anterior será más o menos como la siguiente:

daemon 4204 0.0 0.0 1912 528 ? Ss 16:31 0:00 /sbin/portmap

Si no está corriendo, a lo mejor es porque no está instalado. Así podemos comprobar si está instalado:

# dpkg -l | grep portmap

Si el comando anterior no nos devuelve nada, es porque no está instalado. En ese caso, lo instalamos:

# apt-get install portmap

Si queremos que nuestro equipo pueda compartir recursos. Servidor NFS.

1.- Instalamos nfs-kernel-server.
Una vez que tengamos portmap funcionando, lo que haremos será instalar el paquete nfs-kernel-server. Como ya comentamos antes, al instalarlo, también se instalará el nfs-common:

# apt-get install nfs-kernel-server

Una vez instalado, podemos comprobar si NFS está en marcha haciendo una consulta al portmap, pidiéndole que nos indique qué servicios tiene en marcha:

# rpcinfo -p

El comando nos mostrará todos los servicios que están en marcha, entre ellos el nfs. Como la salida es bastante extensa, os muestro tan sólo las líneas correspondientes al nfs que está corriendo en mi máquina:

100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs

Si no aparece, debemos comprobar si hay algún problema con los paquetes instalados.

2.- Compartimos directorios
Una vez tenemos los servicios en marcha únicamente nos falta determinar qué queremos compartir. Imaginemos que queremos compartir un directorio llamado backup que se encuentra en el directorio vary en el que almacenaremos las copias de seguridad de una máquina remota:

Para compartir un directorio, debemos editar el archivo /etc/exports e introducir una línea con datos referentes al directorio que queremos compartir, con qué máquinas lo vamos a compartir y las opciones de compartición. Cada línea del /etc/exports tendrá la forma:

directorioacompartir maquinasconlasquecompartir(opcionesdeexportación)

– En directorioacompartir especificamos la ruta absoluta del directorio a compartir.

– En máquinasconlasquecompartir podemos especificar:

  • Un * para compartir con todo el mundo.
  • Una dirección IP para compartir con una máquina concreta.
  • Un rango de direcciones IP con las que compartir, especificando la ip de red y la máscara.
  • Un wildcard con el que compartiremos con las máquinas de un dominio.

– En opcionesdeexportación podemos usar muchas opciones:

  • ro para compartir el directorio en modo sólo lectura.
  • rw para compartir el directorio en modo lectura/escritura.
  • root_squash para conseguir que un usuario root del cliente no pueda escribir con permisos de root en el directorio compartido.
  • no_root_squash hace que se permita que un usuario root del cliente pueda escribir con permisos de root en el directorio compartido.
  • sync hace que el servidor no atienda peticiones antes de que los cambios hechos por una petición de escritura sean escritos en disco.
  • async hace que el servidor atienda peticiones sin comprobar si los cambios hechos por una petición de escritura se han escrito en disco. Es la opción por defecto, si no se especifica nada.
  • subtree_check si se exporta un subdirectorio (no un sistema de ficheros completo) al producirse una petición de un fichero, el servidor comprueba que el fichero solicitado esté en el árbol de directorios exportado.
  • no_subtree_check desactiva la comprobación de subtree_check.

Veamos algunos ejemplos de líneas que podemos incluir en /etc/exports:

/usr/local 192.168.1.0/255.255.255.0(rw,subtree_check)
/var/software 192.168.1.0/24(ro)
/backup 172.19.123.2(rw,no_root_squash,sync)
/tftpboot/boot-image *(rw,no_root_squash,snyc)

3.- Aumentando un poco la seguridad
La única vez que NFS lleva a cabo la autentificación es cuando el cliente intenta montar un recurso compartido NFS. Para limitar el acceso al servicio NFS y aumentar un poco la seguridad, se utilizan los TCP wrappers.

Los TCP wrappers leen los archivos /etc/hosts.allow y /etc/hosts.deny para determinar si a un cliente particular o red tiene acceso o no al servicio NFS.

Lo primero que se comprueba es si el cliente tiene acceso mediante los TCP wrappers. Una vez que al cliente se le permite acceso gracias a un TCP wrapper, el servidor NFS recurre a su archivo de configuración (/etc/exports), para determinar si el cliente tiene suficientes privilegios para acceder a los sistemas de archivos exportados.

Una vez otorgado el acceso, todas las operaciones de archivos y de directorios están disponibles para el usuario.

Podemos establecer un poco más de seguridad usando /etc/hosts.allow y /etc/hosts.deny para especificar qué ordenadores de la red pueden usar los servicios del servidor nfs.

Por ejemplo:

/etc/hosts.deny
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

/etc/hosts.allow
portmap:192.168.1.0/255.255.255.0
lockd:192.168.1.0/255.255.255.0
mountd:192.168.1.0/255.255.255.0
rquotad:192.168.1.0/255.255.255.0
statd:192.168.1.0/255.255.255.0

Suponiendo que nuestra red local es la 192.168.1.0, de este modo, denegamos el acceso a todo el mundo, y luego permitimos el acceso tan sólo a las máquinas de nuestra red.

4.- Activar la compartición de archivos
Cada vez que hagamos cambios en el fichero /etc/exports, debemos hacer que nfs vuelva a cargarlo, con el fin de que se apliquen las restricciones que hay en él. Para ello no tenemos más que ejecutar el siguiente comando:

# exportfs -ra

Y listo. Ya tenemos nuestro servidor nfs funcionando.

Si queremos que nuestro equipo pueda usar recursos nfs de otras máquinas. Cliente NFS.

1.- Instalamos nfs-common
Para poder conectarnos a los recursos nfs de servidores, lo que haremos es configurar el equipo como cliente NFS. Para ello, recordemos que debíamos instalar portmap y nfs-common.

Así que, siguiendo las instrucciones del comienzo, comprobamos que tenemos funcionando portmap en el equipo cliente. Una vez comprobado, instalamos nfs-common:

# apt-get install nfs-common

Y ya podemos conectarnos a los recursos de otras máquinas desde un equipo cliente.

2.- Ver qué recursos compartidos en una máquina
Si queremos ver qué directorios tiene compartidos una máquina vía NFS, ejecutamos el comando showmount en la máquina cliente con el parámetro -e:

# showmount -e IPSERVIDOR

Por ejemplo, si tenemos un servidor NFS cuya IP es 192.168.1.2 y queremos ver, desde nuestra máquina cliente, qué directorios tiene exportados, ejecutaremos el comando:

$ showmount -e 192.168.1.2

3.- Conectarse a un recurso compartido de un servidor NFS
Podemos conectarnos a un directorio compartido en una máquina remota, usando el comando mount:

# mount IPServidorNFS:/DirectorioCompartido PuntodeMontaje

Ejemplo: Imaginemos que tenemos un servidor NFS con la siguiente dirección IP: 192.168.1.2 y un directorio compartido: /var/descargas. Supongamos también que en la máquina cliente tenemos un directorio llamado /mnt/nfs donde vamos a montar el directorio de la máquina remota. Montaremos el directorio compartido de la siguiente manera:

# mount 192.168.1.2:/var/descargas /mnt/nfs

Si hacemos un ls /mnt/nfs veremos que el directorio del servidor se encuentra montado.

4.- Conectarse a un recurso compartido cada vez que se inicie la máquina cliente
Si queremos que el directorio compartido vía NFS sea montado en la máquina cliente cada vez que ésta arranque, debemos añadir una entrada en el fichero /etc/fstab.

Imaginemos que tenemos el directorio home compartido en un servidor nfs y queremos montarlo en los clientes. Añadiríamos una línea al fichero fstab de la máquina cliente para montarlo en cada inicio:

192.168.1.2:/home /home nfs rw,hard,intr 0 0