domingo, 10 de mayo de 2015

Clonar un disco a un sistema remoto

Clonar un disco a un sistema remoto

Clonar el disco (MBR incluido) desde un sistema a otro. Para realizar estas tarea utilizamos tres herramientas DD (para realizar la copia) Open-SSH (para conectarnos vía ssh) y Gzip (Para comprimir).

Antes de empezar tendrás que conocer el nombre de dispositivo del cual queremos clonar.
Fdisk sirve para crear particiones pero también podemos listar las particiones de una unidad.

Usando Fdisk:

#fdisk -l
 

Otra forma es utilizar (Hardware lister):

#lshw -C disk
 

Clonar el disco a un sistema remoto:

dd if=/dev/mmcblk0 | gzip -c --fast | ssh root@192.168.1.110 'dd of=/root/backup-apis/image-apis.gz
 
  Recuperar el fichero:






ssh root@192.168.1.110 'dd if=/root/backup-apis/image-apis.gz' | gunzip -1 - | dd of=/dev/mmcblk0
 

Estamos copiando 8Gb sobre una red Gigabit entre una media de 10Mbps a 27,9Mbps:

Selection_035.png

viernes, 8 de noviembre de 2013

Cliente DDNS para usar con Dyndns

Si la conexión que tenemos para acceder a internet nos proporciona una ip pública y queremos publicar unos servicios ddclient es una buena opción. Ddclient es un cliente que actualiza nuestra ip dinámica en un registro A del un dominio de DynDns. Previamente hay que tener una cuenta abierta con DynDns.
Firewalls como fortinet 60B tiene la fucionalidad de DDNS incorporada pero hace falta una licencia activa. ASA 5505 de cisco todavía no esta implementado. Este cliente lo tendremos que instalar en un PC detrás de nuestro router o fw.




Instalamos el cliente:

sudo apt-get install ddclient

sudo cat /etc/ddclient.conf
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
use=web, web=checkip.dyndns.com, web-skip='IP Address'
server=members.dyndns.org
login=ejemplo.dyndns.org
password='12345'
Comprobamos que cliente está corriendo como proceso:
ps -aux | grep ddcli
root      4440  0.0  0.0  43992  7256 ?        S    16:55   0:00 ddclient - sleeping for 260 seconds
1000      4890  0.0  0.0  13596   940 pts/3    S+   17:06   0:00 grep --color=auto ddcli
En caso que tengamos este error:

sudo ddclient -daemon=0 -noquiet -debug
DEBUG:    proxy  = 
DEBUG:    url    = checkip.dyndns.com
DEBUG:    server = checkip.dyndns.com
DEBUG:    get_ip: using web, checkip.dyndns.com reports <undefined>
WARNING:  unable to determine IP address

Es debido a un bug conocido causado por el proveedor DynDns usando incorrectamente el protocolo dyndns2 y mandaba un respuesta malformada.

Para solucionar el problema:

Añadir:
  1. sudo apt-add-repository ppa:nathan-renniewaldock/ppa
  2. sudo apt-get update && sudo apt-get install ddclient (Si ya está instalado lo actualizará)





martes, 15 de octubre de 2013

Copias de seguridad y guardado en NAS

Copias de seguridad y guardado en NAS.


Este tipo de copia no mejor dicho clonar nos aseguramos de guardar todo el contenido del disco: MBR, particiones, datos, espacios vacíos… Cuando queremos recuperar y volcar toda la información en un nuevo disco este tiene que ser de igual tamaño o más grande.


En este caso el guardado lo realizamos en un NAS: Net Gear modelo: ReadyNas Nv+



Antes de empezar hay que montar la carpeta destino donde guardaremos la copia del disco.



192.168.1.9 es la IP del NAS.
Backup es la carpeta donde en este caso guardaremos las copias




sudo mount -t cifs //192.168.1.9/Backup /mnt/geb -o username=xxxx,password=xxxx



Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              58G  4.9G   50G   9% /
udev                   12G  4.0K   12G   1% /dev
tmpfs                 4.8G  1.0M  4.8G   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                   12G   16M   12G   1% /run/shm
/dev/sdb1              88G  660M   83G   1% /home
//192.168.1.9/Backup  5.5T  400G  5.1T   8% /mnt/geb


En caso de tener estos errores:
Jan 28 12:46:19 anubis kernel: [ 5110.381647] CIFS VFS: Send error in QFSUnixInfo = -95
Jan 28 12:46:19 anubis kernel: [ 5110.445841] CIFS VFS: cifs_read_super: get root inode failed
Es muy probable que hay un fallo en este Kernel:
CIFS Mounts Fail with Kernel 3.8.1-201.fc18.i686.PAE
Para solucionar habrá que agregar:  sec=ntlm al final.

sudo mount -t cifs //192.168.1.9/Backup /mnt/geb -o username=xxxx,password=xxxx,sec=ntlm



sudo dd if=/dev/sda of=/mnt/geb/anubis-linux/sda bs=1M


61057+1 records in
61057+1 records out
64023257088 bytes (64 GB) copied, 5825.95 s, 11.0 MB/s




Si tenemos alguna duda sobre las unidades que tenemos instaladas en nuestra máquina se puede usar:


sudo fdisk -l


Disk /dev/sda: 64.0 GB, 64023257088 bytes
255 heads, 63 sectors/track, 7783 cylinders, total 125045424 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ee4bc


  Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     2000895      999424   82  Linux swap / Solaris
/dev/sda2   *     2000896   125044735    61521920   83  Linux


Disk /dev/sdb: 96.0 GB, 96029466624 bytes
255 heads, 63 sectors/track, 11674 cylinders, total 187557552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008217b


  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048   187555839    93776896   83  Linux


Otro ejemplo copiando el otro disco:


sudo dd bs=16M if=/dev/sdb | pv | sudo dd  of=/mnt/geb/anubis-linux/sdb


Esta vez se puede añadir “Pive Viewer” es una herramientas para usar en terminal para monitorizar progresos usando los “pipeline”


1,74MB 0:00:09 [ 198kB/s] [      <=>                               ]


Para instalarlo:

sudo apt-get install pv

jueves, 3 de octubre de 2013

Configuración fail2ban

Utilización de Fail2ban.

root@kudu:/etc/fail2ban# ls
action.d  fail2ban.conf  filter.d  jail.conf  jail.local
root@kudu:/etc/fail2ban#

Jail.local  >  Fichero donde configuraremos los los filtros que queremos usar.
filter.d  > Carpeta donde están los filtros que aplicaremos

Deslistar una IP del Iptables:
iptables -D <nombre del chain> -s <ip> -j DROP

Añadir una IP al iptables:
iptables -I <nombre del chain> -s <ip> -j DROP