20 oct 2015

Copias de seguridad con Back In Time (en GNU/Linux)


1. Introducción

En este artículo voy a tratar el tema de las copias de seguridad en sistemas GNU/Linux, poniendo mi máquina virtual con Debian 8 de ejemplo. Lo vamos a hacer en GUI (entorno gráfico).

Una copia de seguridad, copia de respaldo o una backup es una copia de unos datos determinados (ya sea una carpeta o fichero concreto o el sistema entero) que se realiza (periódicamente o no) con el fin de poder recuperar esos datos en el caso de su pérdida.

En Linux tenemos infinidad de programas y herramientas para que realicemos las copias de seguridad a nuestro gusto.

1.1. Back in Time y su instalación

Back in time es un programa gratuito para realizar las copias de seguridad. Además incorpora una interfaz gráfica bastante completa.

Lo vamos a instalar a través Synaptic, que es el gestos de paquetes preinstalado en Debian. Buscamos "backintime" y seleccionamos backintime-common y backintime-kde (la interfaz gráfica del programa solamente disponible para entornos Gnome y KDE):


Aplicamos los cambios:


2. Inicio y configuración

Ya tenemos el programa instalado. Ahora lo buscamos entre aplicaciones instaladas, y normalmente estará en el apartado de Sistema:

Lo abrimos en modo root (aunque si no se realiza ninguna operación con ficheros del sistema podéis ejecutarlo sin en modo de usuario normal) e introducimos la contraseña correspondiente:


Entre otras muchas opciones, este programa permite crear diferentes perfiles que contendrán configuraciones de copia de seguridad diferentes:


2.1. Pestaña General

En la primera pestaña configuramos el modo de copia (en nuestro caso es local, ya que se hace en el propio equipo de los datos locales). Indicamos también el lugar donde vayamos a guardas las copias (o las instantáneas, del inglés snapshots):


Además podemos configurar que se realice cada cierto tiempo mediante la opción de la tarea programada:


2.2. Pestaña Incluir

En la pestaña Incluir elegimos los archivos y carpetas que vayamos a incluir en nuestra copia de seguridad. Yo he seleccionado la carpeta con datos personales de mi usuario:


2.3. Pestaña Excluir

Aquí vamos a elegir los archivos y directorios a excluir de nuestra copia. De manera predeterminada ya vienen las ubicaciones recomendadas a exlcuir, por lo que normalmente no vamos a tocarlo:


2.4. Pestaña Auto eliminar

En la pestaña Auto eliminar configuraremos los criterios que deban cumplir las copias anteriores para ser eliminadas. Ofrece posibilidades de borrado para todos los gustos, aunque yo lo he dejado tal y como venía de manera predeterminada:


2.5. Pestaña Opciones

En las pestañas que quedan se pueden configurar algunas otras opciones de nuestros backups (continuar a pesar de errores, no hacer copia si no hay cambios en la carpeta incluida, etc.):


2.6. Pestaña Opciones avanzadas

Y por último la pestaña de las opciones avanzadas. Normalmente no vamos a cambiar nada aquí tampoco:


Una vez que hayamos configurado todo, pulsamos Aceptar.


Internamente Back in Time utiliza rsync, por lo que realizará las copias incrementales (en las instantaneas posteriores solamente copiará los nuevos ficheros o ficheros modificados).

Para realizar una instántanea hacemos click en el disquete y esperamos a que el proceso finalice:


El explorador de Back in Time ofrece la recuperación de archivos sueltos sin tener que restaurar todo. Además desde el mismo menú podemos administrar nuestras instantáneas.

3. Prueba final

Para realizar la prueba voy a crear un documento en la carpeta de mi usuario, la voy a borrar y a continuación voy a restablecer la copia de seguridad realizada con anterioridad (que restaurará ese fichero perdido).

1. Creamos un documento (lo voy a llamar prueba):


2. Hacemos una instantánea del directorio introducido anteriormente:


3. Borramos el fichero prueba:


4. Abrimos Back in Time, elegimos nuestra instantánea y pulsamos en Restaurar (flecha amarilla):
Nota: estoy haciendo una restauración completa que en este caso no haría falta. Bastaría con seleccionar el documento prueba.


4.1. Esperamos que finalice el proceso de la restauración:


5. Vamos a nuestra carpeta personal para comprobar que se ha restaurado correctamente. Como podemos observar, el documento está de nuevo en su sitio:


Espero que os haya parecido interesante. Hasta otra!
P.D. Saludos a la mejor tutora ;)

15 oct 2015

DNS secundario en Windows Server 2008










En este artículo vamos a configurar un servidor DNS secundario en Windows Server 2008 R2. Tiene algunos matices, comparando con la configuración del DNS primario que aprendimos a configurar aquí. Los conceptos DNS más importantes, además de la configuración DNS primario en Ubuntu Server están explicados en este artículo.

Partimos de un punto donde ya tenemos configurado el servidor primario e instalado ya el secundario, pero aun sin configurar.

1. Asignamos @IP estática y probamos conectividad

Voy a asginarle la 10.0.0.2/8, ya que la 10.0.0.1/8 ya está ocupada por el servidor primario. Además indicaremos el servidor DNS preferido (el primario) y el alternativo hará referencia él mismo (127.0.0.1):


Comprobamos que se haya asignado la @IP correctamente:


Desde el servidor secundario hacemos ping al primario y probamos resolver su dominio:


2. Configuramos las zonas de búsqueda

2.1 Zona directa

Se configura de igual forma que en DNS primario, excepto algunos matices. Al crear la zona especificamos que es zona secundaria:


Introducimos el nombre de zona (el mismo que el de la zona primaria):


Especificaremos además la dirección IP del servidor DNS maestro (primario):

 

Y finalizamos la configuración de la zona de búsqueda directa:

2.2 Zona inversa

Al crearla, especificamos igualmente que es una zona secundaria:


Introducimos el identificador de red (en este caso es 10, ya que el sevidor pertenece a la red 10.0.0.0/8. Por ejemplo si nuestra red fuese la 10.0.0.0/24, el Id. de red sería 10.0.0):


Introducimos de nuevo la @IP del servidor DNS maestro:


Finalizamos la configuración de la zona de búsqueda inversa:


Muy importante lo siguiente:
No olvidarse de configurar la transferencia de ambas zonas en el servidor primario. Botón derecho sobre la zona -> Propiedades. Me he frustrado bastante hasta darme cuenta de este matiz, ya que si no se configura, no podemos transferir las zonas al servidor secundario ;)


De hecho sería más oportuna la 3ª opción por motivos de seguridad, pero al trabajar en entorno virtualizado, voy a permitir transferencias de zona a cualquier servidor.

Comprobamos en el servidor secundario que se hayan transferido correctamente tanto la zona de búsqueda directa, como la inversa:



3. Realizamos pruebas (cliente con Windows 7)

Primero configuramos una dirección IP estática (también podría ser por DHCP si tenéis el servidor configurado) situada dentro de nuestra red (10.0.0.0/8). En el servidor DNS preferido tecleamos la @IP del DNS primario y en el DNS alternativo la @IP del secundario:

Probamos resolver www.andrii.com.

Apagamos el servidor primario (o simplemente apagamos su adaptador de red). Vemos que www.andrii.com se sigue resolviendo, pero sin recibir respuesta del servidor.

Probamos hacer ping a secundario.andrii.com. Resuelve correctamente a 10.0.0.2 y además recibe la respuesta.



Enhorabuena! Podemos concluir, por tanto, que nuestro servidor DNS secundario funciona correctamente :)

14 oct 2015

DNS secundario con BIND9 en Ubuntu Server


En este artículo vamos a configurar un sevidor DNS secundario con BIND9 en Ubuntu Server. Tiene algunos matices y añadidos, comparando con el DNS primario que aprendimos a configurar aquí (además explico los conceptos del DNS más importantes desde 0).

DNS secundario es una réplica del primario, que realiza sus funciones en el caso de caída de este. Voy a omitir algunos pasos, cuyas descripciones detalladas podéis ver en el artículo mencionado anteriormente.

Partimos del punto cuando ya tenemos configurado el DNS primario e instalado el secundario en otra máquina, pero aun sin configurar.

1. Configuramos la @IP estática:

Una vez más, vamos al fichero /etc/network/interfaces y asignamos una dirección IP estática a nuestro servidor secundario. En mi caso va a ser la 192.168.0.2/24 (ya que la .1 está ocupada por el DNS primario):


Reiniciamos la interfaz mediante un ifdown eth0 && ifup eth0 y comprobamos si se ha asignado correctamente:


2. Configuramos las zonas de búsqueda.

Primero tenemos que modificar el fichero /etc/bind/named.conf.local, indicando la zona de búsqueda directa (andrii.com en mi caso) y la inversa (0.168.192.in-addr.arpa en este caso). Además dentro de cada zona indicaremos que son de tipo slave (esclavo) y la dirección IP de nuestro DNS primario (master). No olvidamos de mencionar el fichero de la base de datos correspondiente a cada zona.

El fichero quedaría de siguiente manera:


Creamos los ficheros de base de datos para la zona de búsqueda directa e inversa utilizando las plantillas ya conocidas:


Las bases de datos correspondientes a zonas de búsqueda directa e inversa serán idénticas a estas en el servidor primario. Si en el secundario intentamos resolver algo que no está en el servidor primario, no va a funcionar! (Comprobado por mi ;))

Además de las entradas del servidor primario, he agregado un host nuevo (slave.andrii.com), que va a hacer referencia a nuestro servidor DNS secundario:


Pasamos un chequeo al fichero de la zona de búsqueda directa:


Igualmente el contenido de la base de datos de la zona inversa será idéntico al contenido de la base de datos correspondiente del servidor DNS principal:


Nos aseguramos que tampoco haya errores de sintaxis en el fichero de resolución inversa:


Reiniciamos el servicio bind9 para aplicar todas las modificaciones anteriores:


3. Realizamos las pruebas

Para las pruebas voy a utilizar nuestro servidor DNS primario, otro secundario y una máquina cliente con Windows 7. Antes que nada, probamos resolver los nombres desde el propio servidor:


En la máquina con Windows 7 asignamos una IP estática y las direcciones de nuestros servidores DNS:


Abrimos la línea de comandos y probamos resolver www.andrii.com y slave.andrii.com con los 2 servidores levantados:


Ahora apagamos el servidor primario y probamos hacer lo mismo:


Se aprecia claramente que el sistema sigue resolviendo www.andrii.com, a pesar de no poder conectarse al servidor. Por otro lado, sigue resolviendo slave.andrii.com y tiene conectividad con ese host, al estar el servidor secundario en funcionamiento.