jueves, 31 de mayo de 2012

Comprimir y descomprimir tipos de archivo (rar,gzip,zip,tar,tar.gz,bz2, lha, zoo) en LINUX



.tar (tar)
Empaquetartar cvf archivo.tar /archivo/mayo/*
Desempaquetartar xvf archivo.tar
Ver el contenido (sin extraer)tar tvf archivo.tar
.tar.gz – .tar.z – .tgz (tar con gzip)
Empaquetar y comprimirtar czvf archivo.tar.gz /archivo/mayo/*
Desempaquetar y descomprimirtar xzvf archivo.tar.gz
Ver el contenido (sin extraer)tar tzvf archivo.tar.gz
.gz (gzip)
Comprimirgzip -q archivo
(El archivo lo comprime y lo renombra como “archivo.gz”)
Descomprimirgzip -d archivo.gz
(El archivo lo descomprime y lo deja como “archivo”
Nota: gzip solo comprime archivos, no directorios
.bz2 (bzip2)
Comprimirbzip2 archivo
bunzip2 archivo
(El archivo lo comprime y lo renombra como “archivo.bz2″)
Descomprimirbzip2 -d archivo.bz2
bunzip2 archivo.bz2
(El archivo lo descomprime y lo deja como “archivo”)
Nota: bzip2 solo comprime archivos, no directorios
.tar.bz2 (tar con bzip2)
Comprimirtar -c archivos | bzip2 > archivo.tar.bz2
Descomprimirbzip2 -dc archivo.tar.bz2 | tar -xv
tar jvxf archivo.tar.bz2 (versiones recientes de tar)
Ver contenidobzip2 -dc archivo.tar.bz2 | tar -tv
.zip (zip)
Comprimirzip archivo.zip /mayo/archivos
Descomprimirunzip archivo.zip
Ver contenidounzip -v archivo.zip
.lha (lha)
Comprimirlha archivo.lha /mayo/archivos
Descomprimirlha -x archivo.lha
Ver contenidolha -v archivo.lha
lha -l archivo.lha
.zoo (zoo)
Comprimirzoo -a archivo.zoo /mayo/archivos
Descomprimirzoo -x archivo.zoo
Ver contenidozoo -v archivo.zoo
zoo -L archivo.zoo
.rar (rar)
Comprimirrar -a archivo.rar /mayo/archivos
Descomprimirrar -x archivo.rar
Ver contenidorar -v archivo.rar
rar -l archivo.rar

viernes, 18 de mayo de 2012

Solaris.Como encontrar el wwn (World Wide Name) de los hba´s conectados

Linux.Unix.Como encontrar el wwn (World Wide Name) de los hba´s conectados en Solaris

World Wide Name (WWN) are unique 8 byte (64-bit) identifiers in SCSI or fibre channel similar to that of MAC Addresses on a Network Interface Card (NIC).

Talking about the WWN names, there are also
World Wide port Name (WWpN), a WWN assigned to a port on a Fabric which is what you would be looking for most of the time.

World Wide node Name (WWnN), a WWN assigned to a node/device on a Fibre Channel fabric.
To find the WWN numbers of your HBA card in Sun Solaris, you can use one the following procedures

Using fcinfo (Solaris 10 only)
This is probably the easiest way to find the WWN numbers on your HBA card. Here you can see the HBA Port WWN (WWpN) and the Node WWN (WWnN) of the two ports on the installed Qlogic HAB card.

This is also useful in finding the Model number, Firmwar version FCode, supported and current speeds and the port status of the HBA card/port.

 root@ sunserver:/root# fcinfo hba-port | grep WWN
HBA Port WWN: 2100001b32xxxxxx
Node WWN: 2000001b32xxxxxx
HBA Port WWN: 2101001b32yyyyyy
Node WWN: 2001001b32yyyyyy

For detailed info including Make & model number, Firmware, Fcode and current status and supported/current speeds then

root@ sunserver:/root# fcinfo hba-port
HBA Port WWN: 2100001b32xxxxxx
OS Device Name: /dev/cfg/c2
Manufacturer: QLogic Corp.
Model: 375-3356-02
Firmware Version: 4.04.01
FCode/BIOS Version: BIOS: 1.24; fcode: 1.24; EFI: 1.8;
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: 4Gb
Node WWN: 2000001b32xxxxxx
HBA Port WWN: 2101001b32yyyyyy
OS Device Name: /dev/cfg/c3
Manufacturer: QLogic Corp.
Model: 375-3356-02
Firmware Version: 4.04.01
FCode/BIOS Version: BIOS: 1.24; fcode: 1.24; EFI: 1.8;
Type: unknown
State: offline
Supported Speeds: 1Gb 2Gb 4Gb
Current Speed: not established
Node WWN: 2001001b32yyyyyy

Using scli
root@ sunserver:/root# scli -i | egrep “Node Name|Port Name”
Node Name : 20-00-00-1B-32-XX-XX-XX
Port Name : 21-00-00-1B-32-XX-XX-XX
Node Name : 20-01-00-1B-32-YY-YY-YY
Port Name : 21-01-00-1B-32-YY-YY-YY

For more detailed info on the HBA Cards run as follows: Similar to fcinfo but also provides Model Name and serial number.

root@ sunserver:/root# scli -i
——————————————————————————
Host Name : sunserver
HBA Model : QLE2462
HBA Alias :
Port : 1
Port Alias :
Node Name : 20-00-00-1B-32-XX-XX-XX
Port Name : 21-00-00-1B-32-XX-XX-XX
Port ID : 11-22-33
Serial Number : AAAAAAA-bbbbbbbbbb
Driver Version : qlc-20080514-2.28
FCode Version : 1.24
Firmware Version : 4.04.01
HBA Instance : 2
OS Instance : 2
HBA ID : 2-QLE2462
OptionROM BIOS Version : 1.24
OptionROM FCode Version : 1.24
OptionROM EFI Version : 1.08
OptionROM Firmware Version : 4.00.26
Actual Connection Mode : Point to Point
Actual Data Rate : 2 Gbps
PortType (Topology) : NPort
Total Number of Devices : 2
HBA Status : Online
——————————————————————————
Host Name : sunserver
HBA Model : QLE2462
HBA Alias :
Port : 2
Port Alias :
Node Name : 20-01-00-1B-32-YY-YY-YY
Port Name : 21-01-00-1B-32-YY-YY-YY
Port ID : 00-00-00
Serial Number : AAAAAAA-bbbbbbbbbb
Driver Version : qlc-20080514-2.28
FCode Version : 1.24
Firmware Version : 4.04.01
HBA Instance : 3
OS Instance : 3
HBA ID : 3-QLE2462
OptionROM BIOS Version : 1.24
OptionROM FCode Version : 1.24
OptionROM EFI Version : 1.08
OptionROM Firmware Version : 4.00.26
Actual Connection Mode : Unknown
Actual Data Rate : Unknown
PortType (Topology) : Unidentified
Total Number of Devices : 0
HBA Status : Loop down



Using prtconf


root@ sunserver:/root# prtconf -vp | grep -i wwn
port-wwn: 2100001b.32xxxxxx
node-wwn: 2000001b.32xxxxxx
port-wwn: 2101001b.32yyyyyy
node-wwn: 2001001b.32yyyyyy

Using prtpicl


root@ sunserver:/root# prtpicl -v | grep wwn
:node-wwn 20 00 00 1b 32 xx xx xx
:port-wwn 21 00 00 1b 32 xx xx xx
:node-wwn 20 01 00 1b 32 yy yy yy
:port-wwn 21 01 00 1b 32 yy yy yy



Using luxadm

Run the following command to obtain the physical path to the HBA Ports


root@ sunserver:/root$ luxadm -e port
/devices/pci@400/pci@0/pci@9/SUNW,qlc@0/fp@0,0:devctl CONNECTED
/devices/pci@400/pci@0/pci@9/SUNW,qlc@0,1/fp@0,0:devctl NOT CONNECTED



With the physical path obtained from the above command, we can trace the WWN numbers as follows. here I use the physical path to the one that is connected:


root@ sunserver:/root$ luxadm -e dump_map /devices/pci@400/pci@0/pci@9/SUNW,qlc@0/fp@0,0:devctl
Pos Port_ID Hard_Addr Port WWN Node WWN Type
0 123456 0 1111111111111111 2222222222222222 0×0 (Disk device)
1 789123 0 1111111111111111 2222222222222222 0×0 (Disk device)
2 453789 0 2100001b32xxxxxx 2000001b32xxxxxx 0x1f (Unknown Type,Host Bus Adapter)

jueves, 22 de marzo de 2012

How to Log In to a Remote Host With Solaris Secure Shell



  1. Start a Solaris Secure Shell session.
    Type the ssh command, and specify the name of the remote host.

    myLocalHost% ssh myRemoteHost
    
    A prompt questions the authenticity of the remote host:

    The authenticity of host 'myRemoteHost' can't be established.
    RSA key fingerprint in md5 is: 04:9f:bd:fc:3d:3e:d2:e7:49:fd:6e:18:4f:9c:26
    Are you sure you want to continue connecting(yes/no)? 
    This prompt is normal for initial connections to remote hosts.
  2. If prompted, verify the authenticity of the remote host key.
    • If you cannot confirm the authenticity of the remote host, type no and contact your system administrator.

      Are you sure you want to continue connecting(yes/no)? no
      
      The administrator is responsible for updating the global /etc/ssh/ssh_known_hosts file. An updated ssh_known_hosts file prevents this prompt from appearing.
    • If you confirm the authenticity of the remote host, answer the prompt and continue to the next step.

      Are you sure you want to continue connecting(yes/no)? yes
      
  3. Authenticate yourself to Solaris Secure Shell.
    1. When prompted, type your passphrase.

      Enter passphrase for key '/home/jdoe/.ssh/id_rsa': <Type passphrase>
      
    2. When prompted, type your account password.

      jdoe@myRemoteHost's password: <Type password>
      Last login: Fri Jul 20 14:24:10 2001 from myLocalHost
      myRemoteHost%
  4. Conduct transactions on the remote host.
    The commands that you send are encrypted. Any responses that you receive are encrypted.
  5. Close the Solaris Secure Shell connection.
    When you are finished, type exit or use your usual method for exiting your shell.

    myRemoteHost% exit
    myRemoteHost% logout
    Connection to myRemoteHost closed
    myLocalHost%

How to Generate a Public/Private Key Pair for Use With Solaris Secure Shell

Users must generate a public/private key pair when their site implements host-based authentication or user public-key authentication. For additional options, see the ssh-keygen(1) man page.
Before You Begin
Determine from your system administrator if host-based authentication is configured.

  1. Start the key generation program.

    myLocalHost% ssh-keygen -t rsa
    Generating public/private rsa key pair.
    …
    where -t is the type of algorithm, one of rsadsa, or rsa1.
  2. Specify the path to the file that will hold the key.
    By default, the file name id_rsa, which represents an RSA v2 key, appears in parentheses. You can select this file by pressing theReturn key. Or, you can type an alternative file name.

    Enter file in which to save the key (/home/jdoe/.ssh/id_rsa):<Press Return>
    
    The file name of the public key is created automatically by appending the string .pub to the name of the private key file.
  3. Type a passphrase for using your key.
    This passphrase is used for encrypting your private key. A null entry is strongly discouraged. Note that the passphrase is not displayed when you type it in.

    Enter passphrase (empty for no passphrase): <Type passphrase>
    
  4. Retype the passphrase to confirm it.

    Enter same passphrase again: <Type passphrase>
    Your identification has been saved in /home/jdoe/.ssh/id_rsa.
    Your public key has been saved in /home/jdoe/.ssh/id_rsa.pub.
    The key fingerprint is:
    0e:fb:3d:57:71:73:bf:58:b8:eb:f3:a3:aa:df:e0:d1 jdoe@myLocalHost
  5. Check the results.
    Check that the path to the key file is correct.

    % ls ~/.ssh
    id_rsa
    id_rsa.pub
    At this point, you have created a public/private key pair.
  6. Choose the appropriate option:
    • If your administrator has configured host-based authentication, you might need to copy the local host's public key to the remote host.
      You can now log in to the remote host. For details, see How to Log In to a Remote Host With Solaris Secure Shell.
      1. Type the command on one line with no backslash.

        % cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \
        'cat >> ~./ssh/known_hosts && echo "Host key copied"'
        
      2. When you are prompted, supply your login password.

        Enter password: <Type password>
        Host key copied
        %
    • If your site uses user authentication with public keys, populate your authorized_keys file on the remote host.
      1. Copy your public key to the remote host.
        Type the command on one line with no backslash.

        myLocalHost% cat $HOME/.ssh/id_rsa.pub | ssh myRemoteHost \
        'cat >> .ssh/authorized_keys && echo "Key copied"'
        
      2. When you are prompted, supply your login password.
        When the file is copied, the message “Key copied” is displayed.

        Enter password: Type login password
        Key copied
        myLocalHost%
  7. (Optional) Reduce the prompting for passphrases.
    For a procedure, see How to Reduce Password Prompts in Solaris Secure Shell. For more information, see the ssh-agent(1) and ssh-add(1) man pages.


Example 19–2 Establishing a v1 RSA Key for a User

In the following example, the user can contact hosts that run v1 of the Solaris Secure Shell protocol. To be authenticated by v1 hosts, the user creates a v1 key, then copies the public key portion to the remote host.

myLocalHost% ssh-keygen -t rsa1 -f /home/jdoe/.ssh/identity
Generating public/private rsa key pair.
…
Enter passphrase (empty for no passphrase): <Type passphrase>
Enter same passphrase again: <Type passphrase>
Your identification has been saved in /home/jdoe/.ssh/identity.
Your public key has been saved in /home/jdoe/.ssh/identity.pub.
The key fingerprint is:
…
myLocalHost% ls ~/.ssh
id_rsa
id_rsa.pub
identity
identity.pub
myLocalHost% cat $HOME/.ssh/identity.pub | ssh myRemoteHost \
'cat >> .ssh/authorized_keys && echo "Key copied"'

viernes, 16 de marzo de 2012

Ficheros para configuración de red en Solaris

Cuando configuramos los parámetros de red en Solaris, lo hacemos mediante línea de comandos. Pero para que los cambios perduren después del reinicio de la máquina hay que volcar los datos en ficheros de configuración.


En este artículo explicaremos los diferentes ficheros de configuración de red de Solaris.


/etc/hostname.interface

Define el hostname que tendrá cada interfaz de red.


/etc/nodename

Contiene el hostname local del equipo.


/etc/defaultdomain

Contiene el nombre del dominio del equipo.


/etc/defaultrouter

Contiene la puerta de enlace por defecto.


/etc/inet/hosts

Contiene la resolución IP/host. Tiene un softlink en el fichero /etc/hosts.

/etc/inet/netmasks

Contiene la máscara de red de cada IP.

viernes, 24 de febrero de 2012

Redes.10 pautas para ser un buen Administrador de Sistemas

Reglas de oro para el administrador de sistemas
Me ha encantado este artículo de Unix Craft, así que voy a traducirlo/adaptarlo (+-) por encima porque sé que puede resultar interesante.

1. Haz las cosas fáciles.
En el mundo de la administración de sistemas, siempre hay varias formas de resolver un problema o realizar una tarea. Es bueno averiguar todas las formas posibles de abordar una tarea, tanto las complejas como las simples, pero a la hora de realizarla es siempre preferible hacerlo lo más sencillo posible.

2. Realiza copias de seguridad (Backups) periódicamente.
Para un momento a pensar si tienes copias de seguridad de todas las cosas realmente importantes tanto de tus servidores, proyectos personales, ordenador en el que trabajas regularmente… En caso contrario, deja cualquier cosa y haz backups de todo cuanto antes.
Nunca se sabe cuando puede haber un fallo en una máquina y que provoque que el trabajo de mucho tiempo se vaya al traste. Por ello es indispensable mantener copias regulares de toda información relevante e importante. Tarde o temprano te sucederá y desearas tener un backup de los datos perdidos para evitar cualquier catástrofe.


3. Comprueba tus copias de seguridad (Backups) regularmente.
De nada sirve hacer copias de seguridad periódicas si no comprobamos que cuando las necesitemos van a cumplir su función. Planifica comprobaciones de backups periódicamente para verificar que se realizan correctamente y en caso de desastre serán de utilidad.

4. Monitorización.
Una buena monitorización de las máquinas que un administrador de sistemas ha de supervisar es el mejor modo de adelantarte (en la medida de lo posible) a quejas de clientes, usuarios, etc sobre fallos del servicio. Así mismo, hará tu trabajo muchísimo más fácil teniendo controlado en todo momento tus redes, servidores, recursos, etc.

5. Documentación.
Los administradores de sistemas deberían documentar todo lo que realizan en sus sistemas, aunque realmente es prácticamente imposible. No obstante conviene tener una bitácora o base de datos en la que almacenar toda la información relacionada con tareas realizadas, solución a problemas que se han presentado, puede ser muy útil en infinidad de situaciones.
Se destacan los siguientes motivos para documentar:
No aprender lo mismo dos veces. A quíen no le ha pasado de arreglar algo, dejarlo pasar, presentarse el mismo fallo al tiempo y no recordar como ha sido solucionado.
En caso de que alguien ocupe tu puesto durante un tiempo (ya sea por vacaciones o cualquier otro motivo) o tengas un empleado a tu cargo, tendrá información clara y concisa sobre como solventar problemas comunes, situaciones críticas, etc.
Compartir conocimiento es bueno, y en el campo (tan sumamente amplio) de la administración de sistemas mucho más.
No malgastes toda la RAM de tu cerebro recordando todo, descarga esa información a un fichero de texto para liberar memoria ;)

6. Planificación y estructuración.
Cuando estés realizando una tarea, manten un orden y planifica cada uno de los pasos a realizar. Esto te ayudará a prevenir los posibles riesgos de cada uno de los pasos y las opciones para evitarlos, solventarlos en caso de que ocurran, etc.

7. Usa más la línea de comandos, y menos la GUI.
Los motivos son muy simples, la línea de comandos suele ser muchísimo más rápida que las interfaces gráficas. Normalmente las GUI evitan que se comprenda el funcionamiento total del sistema, y no hay duda que para tareas repetitivas es lo más rápido y preciso. Decir por supuesto que es mucho más divertido.

8. Automatiza tareas repetitivas.
Sin duda uno de los puntos más importantes. En el momento que veas que diariamente tienes que hacer una tarea una y otra vez, programa un script o una tarea para que se ejecute de forma automática. Te ahorrará tiempo y evitará perder un valioso tiempo con tareas de “monos” que puede usarse para cosas más interesantes.

9. Ayuda a los usuarios y clientes de tus sistemas.
Puede resultar frustrante tener que explicar el funcionamiento de un sistema o la solución de un problema a un cliente con pocas nociones informáticas. Lo ideal es explicar a los usuarios en términos no técnicos cual es el problema, y como ha sido solucionado, para que comprendan que no se ha tratado de un fallo del propio sistema (suele suceder), y que debe revisarse por ejemplo la programación de una aplicación para no alterar el correcto funcionamiento del servicio.

10. Sigue aprendiendo y disfrutando.
No hay duda de que la mayoría de administradores de sistemas disfrutan muchísimo de su trabajo. Esa es la ídea, seguir disfrutando día a día y aprendiendo con ilusión, pues es un trabajo en constante evolución

Fuente : http://rm-rf.es/10-pautas-para-ser-un-buen-administrador-de-sistemas/

CheckPoint.Recover a lost root password



I wrote this procedure last year after losing the both the shell and expert password on the SPLAT NGx R65 box. This procedure has been tested on both R65 many times in production environment by myself without losing any configurations. Here it is:

#1: boot up with CentOS 5.3, 5.4 or 5.5 CD #1 (DVD will work just as well) iso. You can do this from the IBM RSA Rack (aka ILOM) or DELL DRAC card if you have one. Go to "F5" to for rescue, then enter "linux rescue"

#2: do not need to active network connecvitity, just follow the default, this will take you directly to the # prompt.

#3: mkdir /checkpoint

#4 mount /dev/sda7 /checkpoint

#5: mount /dev/sda1 /checkpoint/boot

#6: chroot /checkpoint

#7: /bin/expert_password (change your expert password here)

#8: \passwd admin (change admin password cpshell here)

#9: reboot the box

Please keep this procedure handy

Windows.Combinar una instantánea con su archivo .vhd

Discos diferenciales son aquellos que acumulan las diferencias respecto a un padre. Un disco padre, puede tener diferentes discos diferenciales y estos estar asociados a diferentes máquinas virtuales, un ejemplo para entender todo esto, podría ser:

Tenemos un disco con Windows XP al que declaramos como padre y guardamos en una carpeta con permisos de solo lectura, creamos un disco diferencial conectado a este padre que asociamos a una máquina virtual en la que instalamos el sp2. Creamos otro disco duro diferencial conectado a este padre que asociamos a una máquina virtual en la que instalamos sp3. Ahora tenemos dos máquinas virtuales, una con xp sp2 y otra con xp sp3 para que nuestros desarrolladores prueben sus programas. No entro a detallar buenas prácticas en entornos de este tipo, pero raudos y veloces seguro que habéis pensado que el rendimiento del raid donde almacenamos el disco padre, afecta al rendimiento de las VM asociadas a los discos hijos.

Una vez tenemos discos padres y discos diferenciales o hijos, podemos realizar una combinación de ambos poniendo como origen del diferencial el mismo disco padre o crear un tercer disco con la combinación de estos dos. Muy a tener en cuenta esto en el anterior ejemplo, ya que la combinación de un disco padre con el disco hijo, podría afectar a la segunda máquina virtual (atención a esto para el tema que nos ocupa en el artículo).

Entramos en materia.

Dicho todo esto, es cuando podemos decir que una instantánea de una máquina virtual, no es más que un disco diferencial de crecimiento dinámico por cada disco .vhd que contiene la VM, almacenado por defecto en la carpeta “snapshots” que hay en de cada VM, a no ser que cambiemos esta ruta en la consola de administración de hyper-v. Un aspecto importante que tenemos que conocer, es que las snapshots, a pesar de tener una estructura exactamente igual a los discos diferenciales, tienen una extensión .avhd.

Seguro que habéis deducido que esto de las instantáneas no es una maravilla, sobre todo si hacéis una y dejáis el sistema trabajando con ese disco diferencial de crecimiento dinámico.

Por tanto, toca decir que no se recomienda trabajar con snapshots/instantáneas en producción, peeero, me arriesgo a apuntar que si conocemos el funcionamiento interno de esta tecnología, podríamos aventurarnos a utilizarlas y aprovechar su potencial, siempre y cuando repito, conozcamos hasta el último detalle sus pros y sus contras (Alguien me va a matar por esto).

Con cada Snapshot o Instantánea creada en cada VM se crea un disco diferencial asociado a un padre que es un .vhd de la máquina virtual. Podemos ver en el archivo .xml de una máquina virtual, el nombre de cada archivo .avhd de cada disco de cada snapshot nuestra máquina virtual, por ejemplo:



Si borráis una instantánea, el archivo .avhd no se combina con el archivo .vhd padre hasta que no hacéis una apagado ordenado de la máquina virtual y esperáis a la posterior “combinación”, no vale con apagar el host habiendo configurado que cada máquina virtual se apague previamente al apagado del host, por que este no espera a que termine la combinación iniciada con el apagado de la VM.

Por si acaso hacéis o habéis hecho caso omiso de esta y otras advertencias similares y por aquello de la ley de Murphy, va y se os queda colgada una instantánea, podéis recuperar la información almacenada en esta, dentro de su .vhd .

Voy a poner un ejemplo:

Puede pasar que teniendo un disco de tamaño fijo que ocupe una gran parte de la partición física realicemos una instantánea, esta empiece a crecer como disco dinámico que es y se coma el espacio que dejasteis entre en disco .vhd de tamaño fijo y la totalidad de la partición física. Entonces es cuando llegáis al 100 del espacio ocupado, la VM no arranca y aparecen esos sudores fríos, ese pensamiento de por qué elegí esto de la informática, si tengo la misma responsabilidad que un médico y gano mil veces menos (este es otro tema del que hablaremos algún día), etc.

Si recuperáis un archivo .vhd de una copia de seguridad, os podéis encontrar que en él, se encuentren los datos de hasta el día en el que hicisteis una instantánea y que puede que haya pasado mucho tiempo...

Si os encontráis en estos u otros problemas similares, puede que lleguéis a la conclusión de que queréis fusionar una instantánea con un .vhd. Pues bien, paso a detallaros los pasos a seguir para realizar esta acción. Un apunte importante, lo voy a realizar partiendo que la copia la habéis recuperado en otro servidor host de virtualización (vendito portátil que soporta virtualización), en el caso que queráis saber como hacerlo en el mismo host, tendréis que leer un anexo que aparecerá pronto en este mismo blog.

1. Recuperar de la copia de seguridad, los archivos: .XML , .VHD y el .AVHD que indica el XML que está asociado el disco .VHD (mirar la captura de más arriba):

2. Cambiar la extensión del archivo .AVHD a .VHD.

3. En la consola de Hyper-v – – Editar disco y elegir el disco renombrado:

4. Como no encuentra el disco padre, os pedirá la ruta para “Volver a conectar” el disco al archivo .VHD (aquí es importante no estar en el mismo host, si no os modificará el disco que tenéis en producción y esto puede funcionar bien o no, pero mejor no tocar este disco de momento).

5. Volver a Editar el disco y esta vez elegir la opción Combinar:

6. Elegir el disco duro primario, ya que no es el que está en producción (repito):

7. Final feliz.

He visto cosas que me han sorprendido gratamente, como es el recuperar un archivo .avhd en un disco en producción el cual contiene una nueva instantánea y que el asistente: Editar disco – Combinar, me proponga insertar los datos del archivo .avhd antiguo en el nuevo, esto último me hace pensar que podríamos aventurarnos a recuperar una instantánea recuperada del backup en un disco en producción sin el menor riesgo aun teniendo este una nueva instantánea (ya seríais el colmo si habéis vuelto a dejar algo así colgado y funcionando), pero mejor hacerlo como os he dicho, por si acaso.

Fuente : http://undercpd.blogspot.com/2009/03/combinar-una-instantanea-con-su-archivo.html y me ha salvado mas de una vez , totalmente recomendado!!


Windows.Matar procesos por linea de comandos

Buenas tardes ,para matar el proceso de un servidor o cliente windows sin la necesidad de ingresar mediante rdp o si el mismo se quedo "colgado" (comun en software´s microsoft) , lo podemos realizar mediante la linea de comandos si y solo si somos administradores del equipo cliente (locales o domain admins) de la siguiente manera:
  • Ingresar a la linea de comandos de windows ,  tipeamos lo siguiente :
    • tasklist /s [nombreequipo] ---> Lista los procesos que estan corriendo en el equipo remoto , luego de ingresar este comando nos solicitara la contraseña del usuario administrador del equipo remoto .
  • En caso de que no contemos con el passwd del administrador local y si estamos dentro de un dominio podriamos ingresar con el usuario domain admin de esta forma :
    • tasklist /s [nombrequipo] /u [usuariodomainadmin] /p [passwd]
          Asi vemos listado los procesos del equipo remoto .


  • De la imagen anterior debemos fijarnos en el nombre de la aplicacion que queremos matar , luego cerrarla mediante su process Id (PID) :
    • taskkill /s [nombreequipo] /PID [nroproceso]
    • ej : Vamos a matar el proceso EXCEL.EXE (MsExcel) del equipo remoto al que me conecte , el cual cuenta con el PID 8084. 
    • taskkill /s equipito /PID 8084 , luego de introducir el password de administrador el proceso es cerrado.
e


Utiles.NMAP basico


Nmap básico
Nmap es el scanner de puertos por excelencia, y esta licenciado bajo la GPL.
A continuación dejo unos ejemplos basicos pero muy utiles de esta herramienta. Para profundizar en nmap visitar http://insecure.org/nmap/nmap_documentation.html
1) Descubrir direcciones IP activas en la red 192.168.50.0
# nmap -sP 192.168.50.0/24
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2007-03-06 14:09 CET
Host 192.168.50.0 seems to be a subnet broadcast address (returned 2 extra pings).
Host 192.168.1.100 appears to be up.
MAC Address: 00:0C:41:3A:73:1A (The Linksys Group)
Host 192.168.1.254 appears to be up.
Host 192.168.1.255 seems to be a subnet broadcast address (returned 3 extra pings).
Nmap finished: 256 IP addresses (2 hosts up) scanned in 18.312 seconds
2) Eplorar puertos TCP activos en el host 192.168.50.100 (un router Linksys)
# nmap -sT 192.168.50.100
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2007-03-06 14:12 CET
Interesting ports on 192.168.50.100:
(The 1660 ports scanned but not shown below are in state: closed)
PORT   STATE SERVICE
23/tcp open  telnet
53/tcp open  domain
80/tcp open  http
MAC Address: 00:0C:41:3A:73:1A (The Linksys Group)
Nmap finished: 1 IP address (1 host up) scanned in 1.397 seconds
y para UDP:
# nmap -sU 192.168.50.100
3) Detectar el SO utilizado por un host:
# nmap -O 192.168.50.100
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2007-03-06 14:17 CET
Interesting ports on 192.168.50.100:
(The 1660 ports scanned but not shown below are in state: closed)
PORT   STATE SERVICE
23/tcp open  telnet
53/tcp open  domain
80/tcp open  http
MAC Address: 00:0C:41:3A:73:1A (The Linksys Group)
Device type: general purpose
Running: Linux 2.4.X|2.5.X
OS details: Linux 2.4.0 - 2.5.20
Uptime 1.678 days (since Sun Mar  4 22:01:48 2007)
Nmap finished: 1 IP address (1 host up) scanned in 4.749 seconds

Linux.Unix.10 consejos básicos para supervisar la seguridad en Linux


10 consejos básicos para supervisar la seguridad en Linux
He hecho un pequeño guión con los puntos a tener en cuenta a la hora de mantener seguro un sistema Linux, que en mi caso es Debian. Espero que os pueda ser útil como referencia inicial.
  1. Suscribirse a las listas de correo de seguridad de Debian debian-security-announce. Otra opción sería visitar periódicamente la sección de seguridad en la web de Debian.
  2. Tampoco esta de mas acostumbrase a visitar sitios especializados en seguridad comowww.securityfocus.com o www.kriptopolis.es .
  3. Actualizar todo el software que tengamos instalado con los últimos parches de seguridad.
  4. En Debian bastaría con:
    # apt-get update
    # apt-get upgrade
    Sin olvidar todos aquellas aplicaciones que hallamos instalado nosotros por nuestra cuenta. Por ejemplo aplicaciones web como: drupal, joomla, etc.
  5. Revisar periódicamente los log del sistema.
  6. Realizar periódicamente copias de seguridad de todos los datos de interés en nuestro servidor.
  7. Los directorios de usuarios (/home), las web (/var/www), los archivos de configuración (/etc), las bases de datos, etc.
    Lo ideal es automatizar las copias y tenerlas programadas diariamente, semanalmente, etc. en función de la importancia de los datos y la frecuencia en la que estos se actualicen.
  8. Configurar adecuadamente el firewall ya sea con Iptables, shorewall. Con el target por defecto a DROP.
  9. Revisar periódicamente las cuentas de usuario y fortaleza de las contraseñas.
  10. Revisar los archivos o ejecutables con el bit SUID activo.
  11. Podemos localizarlos mediante la orden:
    # find / -type f -perm -04000
    También podemos automatizar la revisión de la integridad de estos u otros ficheros con herramientas como tripwire
  12. Asignar cuotas y recursos limitados a los usuarios.
  13. Deshabilitar todos aquellos servicios que no utilicemos.
  14. Instalar y utilizar un antivirus.
  15. De esta forma podemos detectar y eliminar los posibles virus en las carpetas compartidas mediante samba, o cuentas ftp de nuestro servidor. Ya que, aunque a linux no afectes los posibles virus, si es una buena medida para aumentar la seguridad de la red en general y evitar en parte la existencia de virus en los archivos que se compartan en una red windows. Una de las opciones que tenemos es instalar y utilizar avg.
A partir de aquí, otra de las cosas que podríamos hacer es probar la vulnerabilidad de nuestro sistema mediante nessus, o monitorizar todos los servicios con herramientas como nagios. Con este último, podríamos por ejemplo monitorizar cuando una maquina de nuestra red o incluso un servicio de una maquina cae. Y programar avisos automáticos por correo, etc.

Linux.Servidor FTPS con VSFTPD


Utilizando Debian y el servidor FTP vsftpd, voy a configurar un servidor FTPS (FTP/SSL). La idea es disponer de un servidor FTP donde las transferencias sean seguras.
Lo voy a configurar para no aceptar conexiones anonimas, y unicamente permita las conexiones de tipo FTPS.
1º) Instalación
# apt-get install vsftpd openssl
2º) Crear certificado
# cd /etc/ssl/certs
# openssl req -x509 -nodes -days 730 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem
3º) Configurar VSFTPD
La configuración se centraliza toda en el fichero /etc/vsftpd.conf.
#
# Configuración General
#
listen=YES
# No se permite acceso anonimo
anonymous_enable=NO
local_enable=YES
local_umask=022
ftpd_banner=Bienvenido al Servidor FTPS
# Se enjaulan los usuarios en su home
chroot_local_user=YES
# Configuracion PASV
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=6100
pasv_address=ip_publica_servidor
#
# Configuracion SSL
#
# Habilita el soporte de TLS/SSL
ssl_enable=YES
# Permite utilizar TLS/SSL a usuarios anónimos
allow_anon_ssl=YES
# Obliga a utilizar TLS/SSL para todas las operaciones
force_local_data_ssl=YES
force_local_logins_ssl=YES
# Se prefiere TLSv1 sobre SSLv2 y SSLv3
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# Ruta del certificado
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
4º) Alta Usuarios
Los usuarios utilizados por vsftp serán los del sistema. Si tenemos que dar de alta usuarios exclusivamente para el ftp, lo adecuado es darlos de alta sin shell de la siguiente forma:
# echo "/bin/false" >> /etc/shells
# adduser usuario --shell /bin/false
5º) Abriendo Puertos
No hay que pasar por alto que en nuestro firewall tenemos que abril los puertos 20 (ftp-data) y 21 (ftp). Además al tratarse de una configuración con soporte al modo pasivo tenemos que abrir un rango de puertos, por ejemplo del 6000 al 6100.
6º) Cliente
Para probar el funcionamiento necesitamos utilizar un cliente FTP que soporte: FTPES - FTP sobre TLS/SSL explícito.
Cuando estemos configurando el servidor, recomiendo el cliente de terminal ftp-ssl. Y ya como cliente en modo gráfico, recomiendo utilizar FileZilla, que además de ser software libre es multiplaforma.
Para Debian lo instalamos desde los repositorios de paquetes
# apt-get install filezilla

Linux.Configuracion e instalacion de servidor FTP con VSFTPD en Debian Lenny


VSFTPD: es el demonio que utilizaremos para FTP

Con SSL tanto en el cliente como en el servidor, sus comunicaciones en Internet serán transmitidas en formato codificado. De esta manera, puede confiar en que la información que envíe llegará de manera privada y no adulterada al servidor que usted especifique.

Lo primero es la instalacion de los paquetes a utilazar.

* Instalando el servicio de FTP

# apt-get install vsftpd

* Instalando SSL

# apt-get install openssl

Ahora configuramos el archivo de configuracion de nuestro servidor ftp :

*Configurando el vsftpd.conf

# nano /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES 
local_umask=022 
dirmessage_enable=YES
xferlog_enable=YES 
connect_from_port_20=YES 
xferlog_std_format=YES 
ftpd_banner=Welcome to blah FTP service. 
listen=YES pam_service_name=vsftpd
userlist_enable=YES tcp_wrappers=YES
pasv_enable=YES pasv_promiscuous=YES
pasv_min_port=6000
pasv_max_port=7000 
ya tengo configurado lo que el servidor FTP vamos a trabajar en lo que es el tema de la 
codificacion con ssl.
Bueno para empezar vamos a crear lo que es un certificado ssl.
# openssl req -x509 -nodes -days- 365 -newkey rsa:1024 -key /etc/ssl/certs/vsftpd.pem
-out /etc/ssl/certs/vsftpd.pem 
despues de esto nos hara una serie de preguntas a las cuales tenemos que esponder no son 
preguntas tecnicas, asi que cualquiera las puede responder.  ya solo nos resta las ultimas
configuraciones para el demonio de FTP para que surja efecto SSL
# nano /etc/vsftpd.conf
ssl_enable=YES
allow_anon_ssl=NO
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/certs/vsftpd.pem


ahora ya solo nos queda reiniciar el servicio y todo listo para disfrutar de un servidor FTP seguro.

# /etc/init.d/vsftdd restart

jueves, 23 de febrero de 2012

Cisco.Enable TCP keepalives


To enable TCP keepalives on the routers, use the following configuration commands:
Router1# config term
Router1(config)# service tcp-keepalives-in
Router1(config)# service tcp-keepalives-out
Router1(config)# end

Cisco.IP subnet Zero


What is IP Subnet Zero? – Cisco Articles & Tips
miércoles, 21 de julio de 2010
08:33 p.m.
I am sure you have used the Cisco IOS command show running-config before, and noticed a peculiar default command in the configuration. The command I am talking about is ip subnet-zero. Here is what I am talking about:
 But what is this command? Why is it there? Let’s find out.
What is a zero subnet in the first place?
Before we talk about the command, let’s ask ourselves, “In the first place, what is a zero subnet?” Under old IP subnetting rules, the all 0’s subnet was reserved for the network, and the all 1’s subnet was reserved for the broadcast. Over time, engineers found that the all 0’s subnet wasn’t really used and, if it could be handed out as a useable network, many IP addresses could be changed.
An example of an IP address that is using a zero subnet is 10.1.0.1 with a subnet mask of 255.255.255.0. This IP address may look pretty weird to you. Some people may even try to argue that it is an invalid IP address because there is a 0 in third octet. However, today, this IP address is perfectly legal when it comes to subnetting. Thus, if I had an IP address of 10.1.0.0 with a 255.255.0.0 subnet mask and wanted to subnet it, I could actually get 255 valid networks out of it by using the 0 subnet. In other words, I could have networks ranging from 10.1.{0-254}.X where the X represents hosts 1-254. This gives me room for networks 0-254, or 255 total networks, by using the 0 subnet.
Do I need to enable my router to recognize the zero subnet?
The quick answer to this question is NO. Your Cisco IOS router, by default, has the command ip subnet-zero enabled on the router. Because of this command, the zero subnet can already be recognized.
Do I really want to use the zero subnet?
Just because something is there, doesn’t mean you should use it. That is true in the case of the zero subnet. Because many people still believe that the zero subnet is not a legal subnet, I would avoid using it if possible. I would do this just to avoid confusion when it comes to network configuration. On the other hand, if you work for a large Internet Service Provider and are handing out blocks of IP addresses, I would definitely hand out the zero block to help conserve your IP address resources.
Summary
In this article, we learned the difference between the following 3 commands:
  • ip default-gateway
  • ip default-network
  • ip route 0.0.0.0 0.0.0.0 (configuring a default route)
The default-gateway command should only be used when a router is functioning as a bridge. The ip default-network and ip route 0.0.0.0 0.0.0.0 commands should be used to tell the router what route to select as the “gateway of last resort”.

Cisco.NAT


NAT puede funcionar de forma Estatico o Dinamico.

El NAT Estatico puede ser útil para host internos que deben ser accesibles desde internet como servidores DNS, servidores web o de correo electrónico.

Se configuran direcciones en una tabla de búsqueda y se asocian una por una de forma estática.
Configuración de NAT Estatico: ( donde 172.16.129.2 es ip privada y 200.42.1.11 es ip publica)
Router-Cisco#config t
Router-Cisco(config)# ip nat inside source static 172.16.129.2 200.42.1.11
Router-Cisco(config)# interface serial 0
Router-Cisco(config-if)# ip nat outside
Router-Cisco(config)# interface ethernet 0
Router-Cisco(config-if)# ip nat inside

El NAT dinamico está diseñado para mapear una dirección IP privada a una dirección pública de entre un pool de direcciones públicas ya establecido. Es decir, Cualquier dirección IP pública de este pool se asigna a un host de la red interna.
1) Primero definir un pool de direcciones (las direcciones públicas que nos asigne nuestro ISP)
Router-Cisco#configure treminal
Router-Cisco(config)# ip nat pool 1 200.42.1.1 200.42.1.10 netmask 255.255.255.0
2) Crear una lista de acceso estándard que permita las direcciones internas que se deben traducir.
Router-Cisco(config)# access-list 1 permit 172.16.129.0 0 0.0.0.255
3) Configurar la NAT dinamico basada en la dirección de origen especificando la lista de acceso definida en el paso anterior.
Router-Cisco(config)# ip nat inside source list 1 pool 1
4) Especificar la interfaz interna y marcarla como conectada al interior.
Router-Cisco(config)# interface etherne 0
Router-Cisco(config-if)# ip nat inside
Router-Cisco(config-if)# exit
5) Especificar la interfaz externa y marcarla como conectada al exterior.
Router-Cisco(config)# interface serial 0
Router-Cisco(config)# ip nat outside
Comandos para verificación de la tabla NAT
show ip nat translations
show ip nat statistics
debug ip nat