# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Múltiples sistemas operativos disponibles desde un USB

MultiBoot ISOs

MultiBoot USB permite crear un USB de arranque en el cual añadir las ISO de sistemas operativos que queramos. Finalmente, al arrancar un equipo con el USB disponemos de un menú (GRUB) del que seleccionar el sistema operativo con el que arrancar.

Esto es extremadamente útil pues permite disponer, en una única memoria USB todos los sistemas operativos que necesitemos, Live-CD, distribuciones de rescate, utilidades como Ubuntu, Fedora, openSUSE, GParted partition disc, Ophcrack password reset, etc

Podéis descargar MultiBootISOs desde el sitio web www.pendrivelinux.com, donde encontraréis los pasos para la creación del USB y más información (También en LifeHacker)

Cambiar parámetros de red HP iLO desde Linux

Seguimos repasando algunas de las posibilidades que nos ofrece hponcfg, utilidad que permite cambiar desde el sistema operativo GNU/Linux la configuración de la iLO (Integrated Lights-Out) de servidores HP Proliant.

En este caso vamos a ver como modificar los parámetros de red (IP, máscara, puerta de enlace, etc) que se utilizan para posteriormente acceder a la web de gestión iLO.

Seguimos utilizando los ejemplos en formato XML de HP Lights-Out XML PERL Scripting Sample for Linux. A continuación el utilizado para realizar modificaciones en los parámetros de red:

<!--         RIBCL Sample Script for HP Lights-Out Products          -->
<!--Copyright (c) 2003,2010 Hewlett-Packard Development Company, L.P.-->
<!-- Description:  This is a sample XML script to configure the      -->
<!--               network settings for following devices:           -->
<!--                 Integrated Lights-Out 3 (iLO 3)                 -->
<!--                 Integrated Lights-Out 2 (iLO 2)                 -->
<!--                 Integrated Lights-Out (iLO)                     -->
<!--                 Remote Insight Lights-Out Edition II (RILOE II) -->
<!-- NOTE:  You will need to replace the USER_LOGIN and PASSWORD     -->
<!--        and other values inside the quotation marks with values  -->
<!--        that are appropriate for your environment.               -->
<!--        Double check all values before executing this script.    -->
<!--        Incorrect or mismatched network settings may cause you   -->
<!--        to lose the ability to connect to your Lights-Out device.-->
<!--        Use CPQLOCFG.EXE ver 2.26 or greater with this script.   -->
<!--        This script was written for iLO 3 firmware version 1.00  -->
<!--        release.                                                 -->
<!--        See "HP Integrated Lights-Out Management Processor       -->
<!--        Scripting and Command Line Resource Guide" for more      -->
<!--        information on scripting and the syntax of the RIBCL     -->
<!--        XML.                                                     -->
<!--        Firmware support infomation for this script:             -->
<!--            iLO 3 - All versions.                                -->
<!--            iLO 2 - All versions.                                -->
<!--              iLO - All versions.                                -->
<!--         RILOE II - All versions.                                -->
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="adminname" PASSWORD="password">
<RIB_INFO MODE="write">
<MOD_NETWORK_SETTINGS>
<!--        Firmware support infomation for next 4 tags :      -->
<!--            iLO 3 - All versions.                          -->
<!--            iLO 2 - All versions.                          -->
<!--              iLO - All versions.                          -->
<!--         RILOE II - None.                                  -->
<ENABLE_NIC value="Yes"/>
<REG_DDNS_SERVER value="Yes"/>
<PING_GATEWAY value="No"/>
<DHCP_DOMAIN_NAME value="Yes"/>
<!--        Firmware support infomation for next 22 tags :     -->
<!--            iLO 3 - All versions.                          -->
<!--            iLO 2 - All versions.                          -->
<!--              iLO - All versions.                          -->
<!--         RILOE II - All versions.                          -->
<SPEED_AUTOSELECT value="YES"/>
<NIC_SPEED value="100"/>
<FULL_DUPLEX value="Yes"/>
<DHCP_ENABLE value="No"/>
<IP_ADDRESS value="172.20.60.152"/>
<SUBNET_MASK value="255.255.255.0"/>
<GATEWAY_IP_ADDRESS value="172.20.60.1"/>
<DNS_NAME value="demoilo"/>
<DOMAIN_NAME value="internal.com"/>
<DHCP_GATEWAY value="Yes"/>
<DHCP_DNS_SERVER value="Yes"/>
<DHCP_WINS_SERVER value="Yes"/>
<DHCP_STATIC_ROUTE value="Yes"/>
<REG_WINS_SERVER value="Yes"/>
<PRIM_DNS_SERVER value="0.0.0.0"/>
<SEC_DNS_SERVER value="0.0.0.0"/>
<TER_DNS_SERVER value="0.0.0.0"/>
<PRIM_WINS_SERVER value="0.0.0.0"/>
<SEC_WINS_SERVER value="0.0.0.0"/>
<STATIC_ROUTE_1 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
<STATIC_ROUTE_2 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
<STATIC_ROUTE_3 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
<!--        Firmware support infomation for next 4 tags :      -->
<!--            iLO 3 - All versions.                          -->
<!--            iLO 2 - None.                                  -->
<!--              iLO - None.                                  -->
<!--         RILOE II - None.                                  -->
<DHCP_SNTP_SETTINGS value="Yes"/>
<SNTP_SERVER1 value="0.0.0.0"/>
<SNTP_SERVER2 value="0.0.0.0"/>
<TIMEZONE value="America/Anchorage"/>
<!-- This tag can be used on an iLO blade server to force iLO  -->
<!-- to attempt to get an IP address from the signal backplane -->
<!-- in a server enclosure.  The IP address must be set prior  -->
<!-- with Mod_Enc_Bay_IP_Settings.xml                          -->
<!--        Firmware support infomation for next tag:          -->
<!--            iLO 3 - All versions.                          -->
<!--            iLO 2 - All versions.                          -->
<!--              iLO - All versions.                          -->
<!--         RILOE II - None.                                  -->
<!--
<ENCLOSURE_IP_ENABLE VALUE="Yes"/>
-->
<!--        Firmware support infomation for next tag:          -->
<!--            iLO 3 - None.                                  -->
<!--            iLO 2 - None.                                  -->
<!--              iLO - None.                                  -->
<!--         RILOE II - All versions.                          -->
<!--
<WEB_AGENT_IP_ADDRESS value="192.168.0.1"/>
-->
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>

En este XML tenemos que modificar primero los datos de conexión como administrador USER_LOGIN y PASSWORD y posteriormente a los parámetros que cada uno necesitemos modificar (IP_ADDRESS, SUBNET_MASK, GATEWAY_IP_ADDRESS…).

Si únicamente necesitáis cambiar los valores básicos, ahí va un script reducido y más fácil de entender:

<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="xxxxxxxx" PASSWORD="xxxxxxx">
<RIB_INFO MODE="WRITE" >
<MOD_NETWORK_SETTINGS>
<IP_ADDRESS VALUE = "192.168.0.100"/>
<SUBNET_MASK VALUE = "255.255.255.0"/>
<GATEWAY_IP_ADDRESS VALUE = "192.168.0.1"/>
<PRIM_DNS_SERVER value = "192.168.0.222"/>
<DHCP_ENABLE VALUE = "N"/>
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>

Una vez modificado todo el script a conveniencia lo ejecutamos contra la aplicación:

# hponcfg -f cambio-red.xml

Si en la salida de ejecución del comando recibimos “Script succeeded” el cambio debería haber funcionado y ya podríamos acceder con los nuevos datos.

Cambiar password de HP iLO desde Linux

Hponcfg es una utilidad que forma parte del HP Proliant Support Pack y que nos permite gestionar desde el sistema operativo todos los parámetros de iLO (Integrated Lights-Out) de servidores HP Proliant. Una vez descargado simplemente se instala como cualquier rpm:

#rpm -i hponcfg-3.0.0-0.noarch.rpm

Hoy vamos a ver como modificar la clave de acceso a la interfaz web de gestión de iLO sin tener que reiniciar el sistema y hacerlo en el arranque.

HP nos ofrece una serie de scripts en formato XML de ejemplo (HP Lights-Out XML PERL Scripting Sample for Linux) que podemos utilizar para realizar todas estas labores. Iré mostrando estos días los que me parecen más interesantes.

Para cambiar la clave de un usuario de acceso a iLO utilizaremos el siguiente script XML:

<!--         RIBCL Sample Script for HP Lights-Out Products          -->
<!--Copyright (c) 2003,2010 Hewlett-Packard Development Company, L.P.-->
<!-- Description:  This is a sample XML script to change a user's    -->
<!--               password in the database of local users on        -->
<!--               following devices:                                -->
<!--                 Integrated Lights-Out 3 (iLO 3)                 -->
<!--                 Integrated Lights-Out 2 (iLO 2)                 -->
<!--                 Integrated Lights-Out (iLO)                     -->
<!--                 Remote Insight Lights-Out Edition II (RILOE II) -->
<!-- NOTE:  You will need to replace the values inside the quote     -->
<!--        marks with values that are appropriate for your          -->
<!--        environment.                                             -->
<!--        Use CPQLOCFG.EXE ver 2.26 or greater with this script    -->
<!--        This script was written for iLO 3 firmware version 1.00. -->
<!--        release.                                                 -->
<!--        See "HP Integrated Lights-Out Management Processor       -->
<!--        Scripting and Command Line Resource Guide" for more      -->
<!--        information on scripting and the syntax of the RIBCL     -->
<!--        XML.                                                     -->
<!--        Firmware support infomation for this script:             -->
<!--            iLO 3 - All versions.                                -->
<!--            iLO 2 - All versions.                                -->
<!--              iLO - All versions.                                -->
<!--         RILOE II - All versions.                                -->
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="adminname" PASSWORD="password">
<USER_INFO MODE="write">
<MOD_USER USER_LOGIN="username">
<PASSWORD value="newpassword"/>
</MOD_USER>
</USER_INFO>
</LOGIN>
</RIBCL>

Como véis es bastante sencillo, solo tenemos que especificar los datos de acceso del usuario administrador actual y posteriormente elegir los nuevos datos del usuario a modificar. Finalmente ejecutamos el script del siguiente modo:

# hponcfg -f cambio-clave.xml

Si en la salida de ejecución del comando recibimos “Script succeeded” el cambio debería haber funcionado y ya podríamos acceder con los nuevos datos.

Hpasmcli: monitorizar el estado de hardware HP Proliant desde linux

Hpasmcli (HP management CLI for Linux) es una utilidad que forma parte del “HP Proliant Support Pack” y que permite monitorizar y visualizar el estado del hardware de un servidor HP de forma sencilla. En este caso vamos a ver las opciones que nos ofrece dentro de un servidor con sistema operativo GNU/Linux.

Para instalarlo en sistemas RHEL/Fedora/CentOS bajamos el rpm correspondiente (o el support pack completo) y lo instalamos:

# rpm -i hpasm-7.8.0-88.rhel5.i386.rpm

Una vez instalado podemos ver las distintas posibilidades que nos ofrece, hoy nos centramos solo en SHOW, hay más cosas disponibles pero ahora no las vamos a ver.

# hpasmcli
HP management CLI for Linux (v1.0)
Copyright 2004 Hewlett-Packard Development Group, L.P.

--------------------------------------------------------------------------
NOTE: Some hpasmcli commands may not be supported on all Proliant servers.
      Type 'help' to get a list of all top level commands.
--------------------------------------------------------------------------
hpasmcli> show
	 SHOW ASR
	 SHOW BOOT
	 SHOW DIMM
	 SHOW F1
	 SHOW FANS
	 SHOW HT
	 SHOW IML
	 SHOW IPL
	 SHOW NAME
	 SHOW PORTMAP
	 SHOW POWERSUPPLY
	 SHOW PXE
	 SHOW SERIAL [ BIOS | EMBEDDED | VIRTUAL ]
	 SHOW SERVER
	 SHOW TEMP
	 SHOW UID
	 SHOW WOL

Ver el estado de las fuentes de alimentación en HP Proliant

# hpasmcli -s 'show POWERSUPPLY;'

Power supply #1
	Present  : Yes
	Redundant: Yes
	Condition: Ok
	Hotplug  : Supported

Power supply #2
	Present  : Yes
	Redundant: Yes
	Condition: Ok
	Hotplug  : Supported

Ver el estado de los ventiladores en HP Proliant

# hpasmcli -s 'show FANS;'

Fan  Location        Present Speed  of max  Redundant  Partner  Hot-pluggable
---  --------        ------- -----  ------  ---------  -------  -------------
#1   POWERSUPPLY_BAY Yes     NORMAL 34%     Yes        1        No
#2   CPU#2           Yes     NORMAL 29%     Yes        1        No
#3   CPU#1           Yes     NORMAL 34%     Yes        1        No

Ver temperaturas en HP Proliant

# hpasmcli -s 'show TEMP;'

Sensor   Location              Temp       Threshold
------   --------              ----       ---------
#0        SYSTEM_BD             -          -
#1        I/O_ZONE             38C/100F   65C/149F
#2        AMBIENT              16C/60F    40C/104F
#3        CPU#1                31C/87F    95C/203F
#4        CPU#1                31C/87F    95C/203F
#5        POWER_SUPPLY_BAY     24C/75F    60C/140F
#6        CPU#2                 -         95C/203F
#7        CPU#2                 -         95C/203F

Ver información de las memorias RAM

# hpasmcli -s 'show DIMM;'

DIMM Configuration
------------------
Cartridge #:   0
Module #:      1
Present:       Yes
Form Factor:   fh
Memory Type:   14h
Size:          512 MB
Speed:         667 MHz
Status:        Ok

Cartridge #:   0
Module #:      3
Present:       Yes
Form Factor:   fh
Memory Type:   14h
Size:          512 MB
Speed:         667 MHz
Status:        Ok

Ver información general del servidor

# hpasmcli -s 'show SERVER;'

System        : ProLiant DL360 G6
Serial No.    : XXXXXXXXX
ROM version   : P58 XX/XX/XXXX
iLo present   : Yes
Embedded NICs : 2
	NIC1 MAC: 00:00:00:00:00:00
	NIC2 MAC: 00:00:00:00:00:00

Processor: 0
	Name         : Intel Xeon
	Stepping     : 6
	Speed        : 1600 MHz
	Bus          : 1066 MHz
	Core         : 2
	Thread       : 2
	Socket       : 1
	Level2 Cache : 4096 KBytes
	Status       : Ok

Processor total  : 1

Memory installed : 2048 MBytes
ECC supported    : Yes

Estas serían a mi modo de ver las opciones más interesantes, podéis investigar el resto que he puesto al principio de la entrada.

Gestión de RAID Array en servidores HP desde Linux

HP, a través de su Proliant Support Pack ofrece una serie de utilidades que permiten gestionar y monitorizar la mayoría del Hardware del equipo en servidores Proliant. En este caso vamos a instalar “HP Array Configuration Utility CLI for Linux“, hpacucli, con la cual podremos monitorizar el estado de los discos duros, el RAID y la controladora.

Descarga de HP Proliant Support Pack
Descarga de HP Array Configuration Utility CLI for Linux

La instalación de hpacucli en equipos RHEL, CentOS, Fedora se realiza directamente con el rpm que nos proporcionan en el Support Pack o en la descarga individual:

# rpm -i hpacucli-8.40-4.0.noarch.rpm 

Una vez instalado, podemos utilizar la aplicación a través del comando hpacucli. Si lo ejecutáis sin ningún parámetro entraréis en una consola sobre la cual comenzar a trabajar, el comando help mostrará todas las opciones:

# hpacucli
HP Array Configuration Utility CLI 8.40-4.0
Detecting Controllers...Done.
Type "help" for a list of supported commands.
Type "exit" to close the console.

=> help

CLI Syntax
   A typical ACU CLI command line consists of three parts: a target device,
   a command, and a parameter with values if necessary. Using angle brackets to
   denote a required variable and plain brackets to denote an optional
   variable, the structure of a typical ACU CLI command line is as follows:

        [parameter=value]

    is of format:
      [controller all|slot=#|wwn=#|chassisname="AAA"|
                  serialnumber=#|chassisserialnumber=#|ctrlpath=#:# ]
      [array all|]
      [physicaldrive all|allunassigned|[#:]#:#|[#:]#:#-[#:]#:#]
      [logicaldrive all|#]
      [licensekey all|]
      Note 1: The #:#:# syntax is only needed for systems that
              specify port:box:bay. Other physical drive targeting
              schemes are box:bay and port:id.
      Note 2: The chassisserialnumber is known in ACU as the
              RAID Array Serial Number. The chassisname is known
              in ACU as the RAID Array ID.
      Note 3: ctrlpath=#:# maps to "smart enclosure hooked up to
              host bus adapter slot:host bus adapter port"

   Example targets:
      controller slot=5
      controller chassisname="Lab C"
      controller serialnumber=P21DA2322S
      controller chassisserialnumber=9J3CJN71XDCH
      controller wwn=500308B300701011
      controller slot=7 array A
      controller slot=5 logicaldrive 5
      controller slot=5 physicaldrive 1:5
      controller slot=5 physicaldrive 1E:2:3
      controller slot=5 licensekey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

For detailed command information type any of the following:
   help add
   help create
   help delete
   help diag
   help modify
   help remove
   help shorthand
   help show
   help target
   help rescan

Help also accepts commonly used CLI parameters and ACU keywords. Adding
additional keywords will further filter the help output. Examples:
   help ssp        (shows all ssp help including show and modify commands)
   help ssp modify (restricts ssp help to only modify commands)
   help migrate
   help expand
   help extend
   help   ... 

=>

En el siguiente ejemplo vemos el estado de dos discos que forman un RAID 1 en la controladora:

# hpacucli controller slot=0 physicaldrive all show status

   physicaldrive 1I:1:1 (port 1I:box 1:bay 1, 72 GB): OK
   physicaldrive 1I:1:2 (port 1I:box 1:bay 2, 72 GB): OK

Para ver el estado de la controladora y su caché:

# hpacucli ctrl all show status

Smart Array E200i in Slot 0 (Embedded)
   Controller Status: OK
   Cache Status: OK

También podréis modificar el RAID, volúmenes lógicos y demás, es cuestión de revisar todas las opciones que incorpora.

Crea imagenes de arranque Windows o Linux en tu USB

UNetbootin

UNetbootin es un software gratuito que permite crear discos de arranque de una gran variedad de distribuciones Linux y Windows sin la necesidad de quemar la imagen en un CD, se pueden crear directamente en nuestro USB con un simple click.

El programa te ofrece un listado de distribuciones, eliges la que quieres y se encarga de descargarla y grabarla en el USB para que directamente puedas arrancar el sistema con él. También puedes bajar tu mismo la distribución que quieras y decir al programa que la utilice, personalizar parámetros del kernel, initrd, etc.

Podéis ver todas sus funcionalidades y descargarlo en el sitio web oficial: unetbootin.sourceforge.net

Gracias Vaxter

Listado de plugins, scripts y plantillas para Cacti

Cacti

Os dejo los dos enlaces más útiles en lo que a plugins para Cacti se refiere. Son listados de plugins, el enlace al post de los foros de Cacti contiene una recopilación de todos los plugins, scripts y plantillas disponibles:

- Listado completo de Plugins, Scripts y plantillas para Cacti.
- Listado de plugins para Cacti en Debian Help.

Leer correo de una cuenta POP a través de TELNET

Hoy voy a seguir con las explicaciones referentes a acceder a servicios a través de telnet, ya sea para chequear que el funcionamiento del servicio es el correcto o por verdadera necesidad de enviar/recibir un correo de este modo.

En este caso vamos a acceder al servicio POP de una cuenta de correo para leer los correos que hay pendientes de ser recibidos en la cuenta de email. Algo muy importante que has de conocer antes de ejecutar esta técnica es que estás enviando tu clave de la cuenta de correo en texto plano y sin encriptar, no es recomendable utilizar este método a no ser que sea para chequear que simplemente el servicio funciona.

En primer lugar conectamos por el puerto por defecto del servicio pop, el 110:

$ telnet mail.miservidor.com 110

Si todo va bien, el servidor nos responderá algo similar a esto:

$ telnet mail.miservidor.com 110
Trying mail.miservidor.com ...
Connected to .mail.miservidor.com
Escape character is '^]'.
+OK Hello there.

En este momento es cuando debemos introducir nuestras credenciales de acceso (cuenta de correo y clave):

user micuenta@miservidor.com
+OK Password required.
pass **************
+OK logged in.

Ya estamos conectados al servidor POP, los comandos más básicos son los siguientes:

  • list: Muestra un listado de los correos que hay almacenados en el servidor y su tamaño:
    list
    +OK POP3 clients that break here, they violate STD53.
    1 653
    2 1340
    3 1983
    4 3736
  • retr: Comando para leer un determinado mensaje, simplemente seleccionamos el identificador del mensaje que queremos leer:
    list
    +OK POP3 clients that break here, they violate STD53.
    1 1442
    .
    retr 1
    +OK 1442 octets follow.
    Return-path:
    Envelope-to: xxxx@xxxxx
    Delivery-date: Mon, 05 Oct 2009 21:48:13 +0200
    Received: from xxx.xxx.xx ([xx.xx.xx.xx])
    	by xxx.xx.xx with esmtp (Exim 4.69)
    
    etc....
  • dele: Comando para borrar un correo, simplemente dele seguido del ID:
    dele 1
    +OK Deleted.
    
  • Para finalizar la conexión utilizaremos quit:
    quit
    +OK Bye.
    

Otros comandos son stat para ver el tamaño y número total de los mensajes en cola, top para leer X líneas de un mensaje o rset para deshacer la eliminación de un mensaje.