lunes, 8 de octubre de 2012

RHEV-tools on CentOS

RHEV-tools on CentOS

Install

sudo wget http://www.dreyou.org/ovirt/ovirt-dre.repo -P /etc/yum.repos.d/
yum -y install rhev-agent
Before (No IP or memory info)


After



domingo, 12 de agosto de 2012

Cita

"El pasado es experiencia que el presente aprovecha y el futuro perfecciona"

viernes, 10 de agosto de 2012

Usar imagenes ISO almacenadas en un USB en XenServer

Montar imágenes ISO desde un USB para usar en XenCenter


Estoy preparando una demo para un cliente y he necesitado poner imágenes ISO que tengo en un Pen drive para usarlas en las maquinas virtuales que tengo en un XenServer. Al principio parecía que con poner el USB en el servidor era suficiente.

Se identifica el USB pero no se ven las ISO que hay dentro.

Pasos para usar el Pen drive


1. Formatear el Pen drive en formato ext3. (/dev/sdb en mi caso)

mkfs.ext3 /dev/sdb


2. Colocamos las imágenes ISO en el pen drive.
3. Ponemos el Pen drive en el servidor.


4. Listamos los discos que ve el servidor e identificamos el disco usb.
ls -l /dev/disk/by-id 
lrwxrwxrwx 1 root root  9 Aug  8 10:15 scsi-SATA_ADATA_S596_TurbWWWWWWW-WWWW-777809B -> ../../sda
lrwxrwxrwx 1 root root 10 Aug  8 10:15 scsi-SATA_ADATA_S596_TurbWWWWWWW-WWWW-777809B-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Aug  8 10:15 scsi-SATA_ADATA_S596_TurbWWWWWWW-WWWW-777809B-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Aug  8 10:15 scsi-SATA_ADATA_S596_TurbWWWWWWW-WWWW-777809B-part3 -> ../../sda3
lrwxrwxrwx 1 root root  9 Aug  8 10:15 scsi-SATA_WDC_WD5000AAKX-_WD-WCAYUE088182 -> ../../sdb
lrwxrwxrwx 1 root root  9 Aug 10 12:15 usb-LG_USB_Drive_AA04012700013275 -> ../../sdc
5. Creamos el directorio para el montaje del Pen drive en el servidor.
mkdir /mnt/usb01
6. Montamos el Pen drive en el directorio generado.
mount /dev/sdc /mnt/usb01/
7. Generamos un uuid para identificar el disco nuevo. Nos devuelve un churro enorme.
uuidgen
401f2d85-48a1-497e-aef9-d8628c0d653b
Podemos preguntar por los argumentos que le podemos pasar al comando xe usando el formato xe help comando por ejemplo xe help pbd-create.

8. Definimos un nuevo disco duro con la etiqueta MIUSB, de tipo ISO y con este uuid que acabo de generar.
xe sr-introduce name-label=“MIUSB” content-type=iso shared=false type=iso uuid=401f2d85-48a1-497e-aef9-d8628c0d653b
responde con el uuid
401f2d85-48a1-497e-aef9-d8628c0d653b

9. Le decimos el servidor que este uuid sea auto escaneado.

xe sr-param-set other-config:auto-scan=true uuid=401f2d85-48a1-497e-aef9-d8628c0d653b
10. En el XenCenter podemos ver el nuevo Storage.


11.  Buscamos el uuid del servidor Xen.
xe host-list
uuid ( RO)    : c22e2cb1-7d16-48ca-ac3e-6ee10963a79c
name-label ( RW): XXXXXXXXX
name-description ( RW): Default install of XenServer
11. Le decimos al servidor Xen que tiene un nuevo storage y donde localizarlo.
xe pbd-create host-uuid="c22e2cb1-7d16-48ca-ac3e-6ee10963a79c" sr-uuid=401f2d85-48a1-497e-aef9-d8628c0d653b device-config:location="/mnt/usb01/" device-config:options="-o bind"
devuelve un uuid
254023d8-fdf4-f8c9-eb96-cf368da9217d
12. Usamos el uuid devuelto para que monte el disco nuevo.
xe pbd-plug uuid=254023d8-fdf4-f8c9-eb96-cf368da9217d


13. Ya podemos ver las imágenes ISO del usb.

Script:
#!/bin/bash

UUID=`uuidgen`
HOSTID=`xe host-list | grep uuid | cut -d':' -f2 | cut -d' ' -f2`
xe sr-introduce name-label=“MIUSB” content-type=iso shared=false type=iso uuid=$UUID
xe sr-param-set other-config:auto-scan=true uuid=$UUID
RESULTID=`xe pbd-create host-uuid=$HOSTID sr-uuid=$UUID device-config:location="/mnt/usb01/" device-config:options="-o bind"`
xe pbd-plug uuid=$RESULTID

jueves, 9 de agosto de 2012

How to extend a virtual hard drive - The Red Hat way

How to extend a virtual hard drive

There is no easy way to extend a hard drive on the Red Hat Virtualization platform (RHEV 3.0). Something so simple if you use VMware or XenCenter it's impossible to achieve using the Red Hat Enterprise Virtualization Manager.

Be careful...

How to
 (This is valid for a server or a desktop virtual machine)
1. Shutdown the server.

2. Export the server to the Export Domain. This will be a NFS file system.

3. Log on to the server where the Export Domain is attached.

4. You have to find the exported virtual machine. It will be better if at that moment the exported virtual machine it's the only one on the Export Domain. The virtual machine name it will be something very strange...

"/opt/exports is my NFS mount point"
cd /opt/exports/71439199-46c8-416f-a423-6db1afb68bdd
drwxr-xr-x 2 vdsm kvm 4096 jul 25 12:07 dom_md
drwxr-xr-x 3 vdsm kvm 4096 ago 9 11:51 images
drwxr-xr-x 4 vdsm kvm 4096 jul 25 12:08 master
"Here will be our virtual machine hard drive"

cd images/0d0e949a-ec31-4e15-b5da-6e1a88d1d139
-rw-rw---- 1 vdsm kvm 8589934592 ago 9 12:02 007135e1-7963-40c8-b013-0960b04a8854
-rw-r--r-- 1 vdsm kvm 325 ago 9 11:51 007135e1-7963-40c8-b013-0960b04a8854.meta

5. Extend the hard drive with qemu-img.

Change Size (15 Gb more in this example)
qemu-img resize 04286729-96d0-43a1-a7f4-dd9189f5a161 +15G
Check new size
-rw-rw---- 1 vdsm kvm 24696061952 ago 9 12:14 007135e1-7963-40c8-b013-0960b04a8854
-rw-r--r-- 1 vdsm kvm 325 ago 9 11:51 007135e1-7963-40c8-b013-0960b04a8854.meta
6. Edit the virtual machine file definition.
Change virtual machine values to the new hard drive size (fichero ovf)

cd /opt/exports/71439199-46c8-416f-a423-6db1afb68bdd
cd master/vms/42340635-92db-4395-a39e-405611839972
vi 42340635-92db-4395-a39e-405611839972.ovf

Values to change:
<?xml version='1.0' encoding='UTF-8'?><ovf:Envelope xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1/" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ovf:version="3.0.0.0"><References><File ovf:href="0d0e949a-ec31-4e15-b5da-6e1a88d1d139/007135e1-7963-40c8-b013-0960b04a8854" ovf:id="007135e1-7963-40c8-b013-0960b04a8854" ovf:size="8589934592" ovf:description="_ActiveImage_xxxxxxx_Tue May xxx xx:xx:xx WEST xxxx" /></References><Section xsi:type="ovf:NetworkSection_Type"><Info>List of networks</Info><Network ovf:name="Network 1" /></Section><Section xsi:type="ovf:DiskSection_Type"><Info>List of Virtual Disks</Info><Disk ovf:diskId="007135e1-7963-40c8-b013-0960b04a8854" ovf:size="8" ovf:actual_size="8" ovf:vm_snapshot_id="939f5e47-5391-46aa-a521-96a4
851a82d9" ovf:parentRef="" ovf:fileRef="0d0e949a-ec31-4e15-b5da-6e1a88d1d139/007135e1-7963-40c8-b013-0960b04a8854" ovf:format="http://www.vmware.com/specifications/vmdk.html#sparse" ovf:volume-format="RAW" ovf:volume-type="Preallocated" ovf:disk-interface="VirtIO" ovf:disk-type="System" ovf:boot="true" ovf:wipe-after-delete="false" /></Section><Content ovf:id="out" xsi:type="ovf:VirtualSystem_Type"><Name>cacharro</Name><TemplateId>00000000-0000-0000-0000-000000000000</TemplateId><TemplateName>Blank</TemplateName><Description>xxxxxxxxxxxx</Description><Domain></Domain><CreationDate>xxxx/xx/xx 06:38:52</CreationDate><IsInitilized>true</IsInitilized><IsAutoSuspend>false</IsAutoSuspend><
TimeZone></TimeZone><IsStateless>false</IsStateless><Origin>0</Origin><default_boot_sequence>0</default_boot_sequence><VmType>1</VmType><DefaultDisplayType>1</DefaultDisplayType><MinAllocatedMem>1024</MinAllocatedMem><Section ovf:id="4234
0635-92db-4395-a39e-405611839972" ovf:required="false" xsi:type="ovf:OperatingSystemSection_Type"><Info>Guest Operating System</Info><Description>OtherLinux</Description></Section><Section xsi:type="ovf:VirtualHardwareSection_Type"><Info>
1 CPU, 1024 Memeory</Info><System><vssd:VirtualSystemType>RHEVM 3.0.0.0</vssd:VirtualSystemType></System><Item><rasd:Caption>1 virtual cpu</rasd:Caption><rasd:Description>Number of virtual CPU</rasd:Description><rasd:InstanceId>1</rasd:In
stanceId><rasd:ResourceType>3</rasd:ResourceType><rasd:num_of_sockets>1</rasd:num_of_sockets><rasd:cpu_per_socket>1</rasd:cpu_per_socket></Item><Item><rasd:Caption>1024 MB of memory</rasd:Caption><rasd:Description>Memory Size</rasd:Description><rasd:InstanceId>2</rasd:InstanceId><rasd:ResourceType>4</rasd:ResourceType><rasd:AllocationUnits>MegaBytes</rasd:AllocationUnits><rasd:VirtualQuantity>1024</rasd:VirtualQuantity></Item><Item><rasd:Caption>Drive 1</rasd:Caption><ras
d:InstanceId>007135e1-7963-40c8-b013-0960b04a8854</rasd:InstanceId><rasd:ResourceType>17</rasd:ResourceType><rasd:HostResource>0d0e949a-ec31-4e15-b5da-6e1a88d1d139/007135e1-7963-40c8-b013-0960b04a8854</rasd:HostResource><rasd:Parent>00000
000-0000-0000-0000-000000000000</rasd:Parent><rasd:Template>00000000-0000-0000-0000-000000000000</rasd:Template><rasd:ApplicationList></rasd:ApplicationList><rasd:StorageId>f02a341d-fdce-4abe-8f86-94c26492a088</rasd:StorageId><rasd:Storag
ePoolId>48e51ec0-5ef7-11e1-9407-00505696000d</rasd:StoragePoolId><rasd:CreationDate>xxxx/xx/xx 11:08:13</rasd:CreationDate><rasd:LastModified>xxxx/xx/xx 11:08:13</rasd:LastModified><rasd:last_modified_date>xxxx/xx/xx 11:02:37</rasd:last_modified_date></Item><Item><rasd:Caption>Ethernet adapter on rhevm</rasd:Caption><rasd:InstanceId>3</rasd:InstanceId><rasd:ResourceType>10</rasd:ResourceType><rasd:ResourceSubType>3</rasd:ResourceSubType><rasd:Connection>rhevm</rasd:Connec
tion><rasd:Name>nic1</rasd:Name><rasd:MACAddress>00:1a:4a:a8:02:03</rasd:MACAddress><rasd:speed>1000</rasd:speed></Item><Item><rasd:Caption>USB Controller</rasd:Caption><rasd:InstanceId>4</rasd:InstanceId><rasd:ResourceType>23</rasd:ResourceType><rasd:UsbPolicy>Enabled</rasd:UsbPolicy></Item><Item><rasd:Caption>Graphical Controller</rasd:Caption><rasd:InstanceId>5</rasd:InstanceId><rasd:ResourceType>20</rasd:ResourceType><rasd:VirtualQuantity>1</rasd:VirtualQuantity></Item></Section></Content></ovf:Envelope>
7. You have to remove the exported virtual machine from the VMs prior to import the extended one.

8. Import the extended server.


That's all folks.

martes, 1 de mayo de 2012

Usando virt-v2v para convetir de ESX a RHEV

Instalar en un servidor (Red Hat a ser posible) el paquete virt-v2v
yum install virt-v2v
Conexión con el ESX de VMware

En el directorio del usuario que vamos a usar para ejecutar el convertidor necesitamos crear un fichero donde la aplicación buscará las credenciales para conectarse al ESX. El home del usuario está en $HOME y el fichero se tiene que llamar .netrc con permisos 0600
cd $HOME
vi .netrc
machine hostname_esx login usuario_con_acceso_al_esx password la_clave_del_usuario
chmod 0600 .netrc 
Convirtiendo máquinas linux

No he tenido ningún problema al ejecutar este tipo de conversión. Tras ejecutar el proceso la única tarea que realicé en la maquina convertida fue cambiar la MAC asociada a la tarjeta de red. La conversión se encargó de des-instalar las vmware-tools e instaló los módulos necesarios para los drivers virtIO.
Datos para la conversión:

Origen
esx://esxorigen.dominio.net
Le pasamos como parámetro, en la URL, un indicador para decirle a la utilidad que no verifique el certificado del ESX.
/?no_verify=1
Destino
Mi destino es un Dominio Export de RHEV. Se trata de un compartido NFS (xxxx.dominio.net:/opt/exports) donde se alojará la máquina convertida.

Red
En la maquina destino le vamos a asignar la logical network rhevm (creada por defecto en la instalación del RHEV)

Nombre del servidor
Es el nombre que tenemos registrado en el ESX para la máquina virtual a convertir.
virt-v2v -ic esx://arafo.opencanarias.com/?no_verify=1 -o rhev -osd fenix.opencanarias.com:/opt/exports --network rhevm techmotrip_pre
Problemas convirtiendo máquinas

Los errores que devuelve la aplicación virt-v2v son extraños. Me he encontrado errores indicando que no se encuentra el ESX de origen de la maquina a convertir y el problema era con el nombre de la máquina virtual a convertir en el almacenamiento.

virt-v2v -ic esx://prueba.esx.local/?no_verify=1 -o rhev -osd destino.rhev.local:/opt/exports --network rhevm xxxxxx

libvirt error code: 42, message: No se encontró dominio: No existe un dominio denominado 'xxxxxx'

Esto indica que en el ESX prueba.esx.local no sabe nada de una máquina virtual que se llame xxxxxx

virt-v2v: falló al conectarse con el servidor esx: not found

Por lo que he visto, si la maquina que vas a convertir tiene un nombre en el Virtual Center y otro en el DataStore, virt-v2v tiene problemas para sacar la maquina. Hay que hacer coincidir ambos.


Convirtiendo máquinas Windows

En este caso me he encontrado con un problemas a la hora de convertir las máquinas. La conversión comienza correctamente, lee los discos origen y luego sale por pantalla el mensaje "virt-v2v: No root device found in this operating system image." Este mensaje aparece convirtiendo Windows XP o servidores Windows 2000 y Windows 2003.

Seguiré probando...

jueves, 15 de marzo de 2012

Sistemas de Virtualización

Mi trabajo

Llevo trabajando con sistema de virtualización desde la version 2.5 de VMware. Ya ni recuerdo en que año empecé. Recuerdo perfectamente como virtualizamos todo el CPD de CajaCanarias. En aquel entonces teníamos un montón de servidores físicos con Windows NT 4.0 y Windows 2000. Hasta teníamos redes Token-ring... Si que ha llovido desde entonces...

VMware

Hoy por hoy, todas las empresas confían en VMware como producto de Virtualización Empresarial. En mi humilde opinión, los servidores físicos pasaron a la historia hace tiempo. No quiero saber nada de servidores físicos. En los entornos en que he trabajo todo se ha basado en hardware IBM y DELL (no quiero hacer comentarios sobre los Blade Center de DELL ya que no quedaría muy bien).

La suerte de un buen Hardware

  1. Blade Center de IBM (modelo H).
  2. Blades HS21, HS22 y Hx5 (que pasada estos últimos).
  3. DS3400, DS4500, DS5000 y ahora una fabulosa XIV.
  4. Todo está redundado. (Fuentes, switch ethernet, switch de fibra, etc).
ESXi 5.0

Hace unas semanas, la empresa compró dos cuchillas HS22 nuevos para nuestro Blade Center. Ambas cuchillas vinieron sin discos internos donde instalar el Hipervisor. Hicimos pruebas de arranque como Boot from SAN, que funcionó de las mil maravillas sin ningún tipo de complicaciones más allá de configurar la BIOS de la cuchilla. La segunda cuchilla la probamos con PXE. Una vez configurado funciona muy bien, pero madre mia... Menuda configuración... Te vuelves un poco loco con la power shell hasta que arranca y se configura correctamente el Blade.

VMware View 5.0

Ahora mismo estamos inmersos en una prueba del VMware View 5.0. Nuestro hadrware para la prueba ha quedado de la siguiente manera:
  1. HS22 con 2 CPUs Quad core.
  2. 32 Gb de RAM.
  3. Dos LUNS de 500 GB cada una. (VMFS5).
El sistema está conformado por un Virtual Center, un View Manager y un View Security Server expuesto a Internet por medio de una DMZ.

Hemos generado dos tipos de escritorio, un Windows XP 32 Bits y un Windows 7 64 Bits. Ambos escritorios funcionan a la perfección. En otra empresa donde trabajé ya había montando una infraestrcutira de VMware View 4.0 y llegamos a tener más de 400 escritorios virtuales.

View Persona Management

Hay que destacar una nueva opción que aparece en el View 5.0. El View Persona Management hace que los perfiles de los usuarios que usan los VDIs sean móviles. Las pruebas que hemos realizado son satisfactorias y yo apstaría por esta opción en cualquier empresa. Con esta opción podemos hacer que cada usuario tenga sus preferencias, documentos, escritorio, etc en un servidor centralizado y que al entrar en cualquier VDI este perfil se baje a ese escritorio.

y ahora

La otra cuchilla que queda la hemos dedicado al Hipervisor de Red HAT. Eso en otra entrada....

miércoles, 22 de febrero de 2012

Servidor Syslog

Instalación de un servidor Syslog para logs centralizados (parte 1)

   Tenemos un cliente que dispone de una serie de máquinas que no permiten el envío de alertas por correo. Lo que si permiten,es hacer uso de un servidor Syslog. Con esta entrada trataré de explicar como montar un sistema que nos permita recopilar información desde cualquier origen y tratar dicha información.

Sistema

   El sistemas donde realizamos la instalación tiene las siguientes características: (no es muy difícil adaptarlo a otros sabores linux)

  • Centos 6.2 x64
  • Apache 2.2.15  (Ponemos una página donde ver los logs)
  • MySql 5.1.61 (Aquí guardamos los logs)
  • loganalyzer
  • Php 5.3.3
  • rsyslog 4.6.2
Parte del servidor

   La instalación de los componentes del servidor no es compleja. Aún así comento todos los paquetes que he tenido que instalar:
  1. Apache
    • yum install httpd
  2. MySql
    • yum install mysql-server
  3. Php
    • yum install php php-mysql 
   Ahora preparo el sistemas para que arranque automáticamente el MySql y el Apache.
    •  chkconfig mysqld on
    • chkconfig httpd on
Como queremos que funcione el receptor de mensajes 


   En esta instalación nos interesa que los mensaje de la empresa donde reside el syslog, se alojen en una tabla de la base de datos y los mensajes que vendrán de la otra empresa en otra tabla dentro de la misma base de datos.

Generación de la base de datos

   De la configuración del MySql, sólo comentar que añadimos el parámetro bind=127.0.0.1 a el fichero /etc/my.cfg para que el servidor escuche sólo en la dirección local. No acepta conexiones externas a la base de datos. De este modo, añadimos un plus de seguridad al sistema. 

   El fichero con la estructura de la base de datos que usa el rsyslog, lo podemos encontrar en /usr/share/doc/rsyslog-mysql-4.6.2/createDB.sql. Ahora sólo necesitamos cargar dicho fichero en el MySql para que se genere la Base de Datos.

     mysql -u root -p < /usr/share/doc/rsyslog-mysql-4.6.2/createDB.sql

   Este comando nos genera la base de datos Syslog con dos tablas, SystemEvents y SystemEventsProperties. A nosotros nos interesa tener dos tablas diferenciadas para cada empresa. Desde dentro del gestor MySql, generamos las tablas como queremos "create table EMPRESA01 like SystemEvents;" y "create table EMPRESA02 like SystemEvents;". Por último, nos falta generar un usuario con acceso a la base de datos. (Eso seguro que lo sabes hacer).


Ahora instalamos el loganalyzer

   Descomprimimos el paquete en una carpeta y lo movemos al directorio elegido para servir las páginas de la aplicación. Previamente hay que configurar el Apache para que sirva dichas páginas. Si colocas los fichero en /var/www/html será donde los busque por defecto. Yo te sugiero cambiarlos de ubicación a por ejemplo /var/www/loganalizer.

  1. mkdir /var/www/loganalyzer-3.5.1
  2. cd /var/www
  3. ln -s loganalyzer-3.5.1 loganalyzer    (Esto nos permite cambiar de versión sin tocar nada en el Apache, sólo cambiando el enlace simbólico).
  4. cd /etc/httpd/conf.d
  5. vi loganalyzer.conf   (Dentro del fichero vale con colocar "Alias /loganalyzer /var/www/loganalyzer)
  6. /etc/init.d/httpd restart
    Ahora copiamos la aplicación.
  1. cp -r /opt/loganalyzer/src/* /var/www/loganalyzer
  2. cp -r /opt/loganalyzer/contrib/* /var/www/loganalyzer
  3. Creamos la base de datos loganalyzer en el MySql y un usuario para acceder a la misma.
  4. Desde un navegador http://NUESTROSERVIDOR/loganalyzer   (Rellenamos los campos que nos va pidiendo activando la creación de la base de datos para el loganalyzer)
Configuración del rsyslog del servidor

   Al fichero por defecto del rsyslog le añadimos las cosas que se ven en negrita. En este momento permitimos que envíen mensajes una serie de redes y que dichos mensaje vayan a la tabla que queremos.

#### MODULES ####

# Provides TCP syslog reception
$ModLoad imtcp.so 
$InputTCPServerRun 514
$ModLoad ommysql        # Mysql module

# Mensajes de la Empresa 01

$AllowedSender TCP, 127.0.0.1, 192.168.1.0/24

# Template
$template empresa01tmpl,"insert into Empresa01 (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL
$template empresa02tmpl, "insert into Empresa02 (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL

#### RULES ###
#

# Todo va al MySql
*.* :ommysql:127.0.0.1,Syslog,USUARIO_BD,CLAVE_USUARIO_BD;opencantmpl


   Al reiniciar el rsyslog (/etc/init.d/rsyslog restart) deben aparecer los eventos del reinicio en la base de datos Syslog, en la tabla Empresa01.

Enviar los mensajes desde un servidor remoto

   Editamos el fichero /etc/rsyslog.conf y añadimos *.warning @@servidor_remoto:514
a la configuración. Cuidado con el nivel de log que enviamos, en este caso warning o superior, o nos inundará de mensajes el sistema.


             .... Mañana vemos como hacer que otros dispositivos usen este receptor syslog

martes, 10 de enero de 2012

Envío de correo por pasarela SMTP vía Telnet con autenticación

   Al final, de una manera u otra, tengo que usar el cliente telnet para verificar una pasarela de correo. Normalmente lo encuentro en Internet y creo que ya es hora de tenerlo en mi Blog para así no tener que buscar más y tenerlo más a mano. Menos rollo...


  1. Ejecutamos un telnet al servidor y al puerto 25. (telnet testserver.kkkk.com 25)
  2. Lanzamos el comando HELO. (helo)
  3. Nos autenticamos. (auth login). Nos responde con "username:" en BASE64 (334 VXNlcm5hbWU6).
  4. Tenemos que introducir nuestro login en BASE64 (Usa esta calculadora encode).
  5. El servidor responde con "password:" en BASE64 (334 UGFzc3dvcmQ6).
  6. Ponemos nuestra password en BASE64.
  7. El servidor debe responder con Authentication successful.
  8. Ahora indicamos el correo origen. (mail from:test@kkk.com)
  9. Destino del correo. (rcpt to:prueba@kkk.com)
  10. Escribimos DATA para introducir el cuerpo del mensaje. (data). La entrada terminal con un "." en una linea.
  11. Tras DATA podemos introducir un asunto. (subject: Esto es una prueba).
  12. La respuesta debe ser un 250 OK.
   Pues ya lo tengo como una entrada en mi Blog. Por cierto, si no se necesita autenticación podemos saltarnos los pasos del 3 al 7 pasar directamente desde el punto 2 al punto 8.