Archive

Archive for October, 2009

How to sendmail masquerading – CentOS / Red Hat 5

Si necesitas enviar correos de tu servidor linux, pero estos no llegan al destinatario final, y el maillog luce similar a este:

server1 sendmail[2513]: n9ALeZ8h002511: to=<user@example.com>, delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=120331, relay=mail.example.com. [200.10.20.3], dsn=4.2.0, stat=Deferred: 450 <root@server1.yourcompany.com>: Sender address rejected: Domain not found

Entonces te interesará seguir leyendo este post.

Este tipo de rechazo se produce por el incumplimiento de alguna de las normas descritas en la RFC 2821 para el protocolo SMTP. Generalmente ocurre cuando el host que envía el correo  tiene un FQDN (Fully Qualified Domain Name) que no puede ser resuelto por DNS en el servidor de destino (no existe un registro para el host en la zona del dominio, o bien, no existe el dominio)

El escenario a analizar será el siguiente:

  • dominio de tu organización: yourcompany.com
  • FQDN del servidor linux: server1.yourcompany.com
  • dominio del destinatario: example.com

 

Asumiremos que el dominio yourcompany.com es válido en Internet, sin embargo, no existe un registro tipo A “server1″ en la zona “yourcompany.com”, o sea, el FQDN server1.yourcompnay.com no puede ser resuelto por DNS. Por último server1.yourcompnay.com no actúa cómo un servidor de correo electrónico, sólo envía.

La solución consiste en enmascarar el host de origen: server1.yourcompnay.com cómo yourcompnay.com

Observación: Este Cómo está basado en sendmail 8.13 y Red Hat 5.3 . Aunque las instrucciones son bastante generales, y deberían aplicar para otras distribuciones de Linux con algunos cambios mínimos.

Ejecuta todos los comandos a continuación cómo root:

# yum install sendmail sendmail-cf mailx

Edita el archivo /etc/mail/sendmail.mc y ubica estas líneas:

EXPOSED_USER(`root')dnl
dnl MASQUERADE_AS(`mydomain.tld')dnl
dnl MASQUERADE_DOMAIN(mydomain.tld)dnl
dnl FEATURE(masquerade_entire_domain)dnl
dnl FEATURE(masquerade_envelope)dnl

Las lineas que comienzan con “dnl” son comentarios. Así que ahora comentaremos y descomentaremos para conseguir nuestro objetivo. Edítalas para que queden así:

dnl EXPOSED_USER(`root')dnl
MASQUERADE_AS(`yourcompany.com')dnl
MASQUERADE_DOMAIN(yourcompany.com)dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(masquerade_envelope)dnl

Acá asumimos que el dominio a enmascarar es “yourcompany.com”, procura reemplazarlo por el tuyo. Guarda y cierra. Es momento de regenerar el archivo de configuración de sendmail y reiniciar el servicio:

# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
# service sendmail restart

¡A probar! si todo salió bien, el destinatario debería recibir el correo:

mail -s "hello world" user@example.com < /dev/null

El log de sendmail ahora debería lucir así:

server1 sendmail[6336]: n9BJkM0Z006334: to=<user@example.com>, ctladdr=<root@server1.yourcompany.com> (0/0), delay=00:00:04, xdelay=00:00:04, mailer=esmtp, pri=120379, relay=mail.example.com. [200.10.20.3], dsn=2.0.0, stat=Sent (Ok: queued as EA4A35EC00B)

Si después de los cambios, tus correos aún no llegan al destinatario, es probable que tengas que usar un smart host para despacharlos. Quedará pendiente para el próximo post.

Corrección Ortográfica en Pidgin – Fedora 11

Pidgin, el cliente de mensajería instantánea que uso en linux, para hacer corrección ortográfica de acuerdo a un idioma, se basa en la localización (locale) del sistema. Esta característica está documentado en su FAQ

… Pidgin currently only supports spell checking in your locale language. This is because gtkspell 2 does not offer a good way for us to know which dictionaries are available or to switch between them …

Una vez identificada la localización, utiliza el diccionario que corresponda para hacer la corrección. Pero para mí esto es un problema: mi sistema utiliza por omisión la localización “en_US”, incluyendo a Gnome (o sea, está en inglés), sin embargo, a diario me comunico con mis contactos en español, y requiero de un corrector ortográfico en mi idioma.

Existe una solución, y es establecer manualmente y por usuario, el diccionario a utilizar. Pero esta alternativa no es muy práctica, sobretodo cuando tienes muchos contactos. Si estás en una situación similar, sigue estos pasos:

Para instalar la localización y el diccionario en español, cómo root ejecuta:

# yum groupinstall "Spanish Support"
# yum install aspell aspell-es

Luego viene el “hack”. La idea es hacer creer a pidgin que mi localización es “es_ES” en vez de “en_US”. Cómo root ejecuta:

# touch /usr/bin/pidgin-es && chmod +x /usr/bin/pidgin-es

Con tu editor preferido, edita el archivo /usr/bin/pidgin-es y agrega este contenido:

#!/bin/bash
export LANG=es_ES
/usr/bin/pidgin &

Por último, edita el acceso directo de Pidgin y apúntalo a este nuevo script: /usr/bin/pidgin-es (en vez de /usr/bin/pidgin). Ve a System > Preferences > Main Menu , en el Menu selecciona Applications > Internet y sobre Pidgin Internet Messenger has un clic con el botón derecho, selecciona Properties

Esta imagen representa cómo debe quedar

pidgin shortcut properties

Lenovo ThinkPad X61 no suena – Fedora 11

Luego de terminar la instalación de Fedora 11 con Gnome 2.26 , mi laptop no sonaba. La solución es sencilla: ve a System > Preferences > Advanced Volume Control y en la pestaña Switches observarás que sólo está habilitado Headphones, habilita Speaker y ya está.

alsamixer-gnome
La solución es simple, pero debo reconocer que me tomó un buen rato descubrir qué estaba pasando, todo estaba en orden: la tarjeta de sonido había sido reconocida por el Sistema Operativo, el volumen estaba al máximo, y el hardware está bueno, me constaba.

Middle button Lenovo ThinkPad X61 – Fedora 11

En Septiembre adquirí un Lenovo ThinkPad X61, lo primero que hice fue instalar Linux en el, opté por Fedora 11 con Gnome cómo Entorno Gráfico.
Después de unas horas de uso, y ya acostumbrado al trackpoint, algo faltaba: emular el middle button. Lo quería por dos razones:

    1. Si seleccionas texto, lo puedes pegar con un clic del middle button (muy útil en la consola)
    2. Si quieres hacer autoscroll, un clic del middle button y el cursor cambiará, allí te puedes desplazar hacia arriba o abajo con sólo mover el mouse (muy útil en el navegador)

    Una descripción mas detallada de sus características en este post de “Coding Horror”.

    ThinkPad_ThinkPoint

    Buscando cómo configurarlo, me encontré con un reporte en el Bugzilla de Red Hat y con un Cómo en ThinkWiki. La solución consiste en crear un archivo del tipo “HAL device information file”.
    Existen dos directorios dónde se pueden guardar estos archivos (con extensión .fdi)

    /usr/share/hal/fdi <- Configuraciones por parte de la distribución
    /etc/hal/fdi <- Configuraciones por parte del administrador

    Cómo root crearemos nuestro “HAL device information file” en este último directorio

    # vim /etc/hal/fdi/policy/mouse-wheel.fdi
    

    Con este contenido

    <match key="info.product" contains="TPPS/2 IBM TrackPoint">
     <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
     <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
     <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
     <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
     <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
     <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
    </match>
    

    Por último, cierra e inicia nuevamente la sesión en Gnome. Podrás observar que el "middle button" ya funciona. Si deseas hacer autoscroll, abre el navegador y visita alguna web, luego presiona el middle button, y sin soltarlo, mueve el trackpoint hacia arriba o abajo.