Isla de man cada vez mas cerca
26/08/2010 – 9:28 am | 2 Comments

Aún no hace ni 2 meses que empecé el proyecto “Yo me voy con Alejandro” la idea era sencilla irse a isla de man con un gran grupo de gente apoyandome… y vaya si lo …

Read the full story »
Cada dia

Todo lo que puedo contar, sin mucha relación entre ellos, pero que forman cada dia de mi vida

Yo me voy…

Yo me voy con Alejandro es un proyecto que une las ganas de viajar y las de conocer paises encima de mi V

Google Purpose

Mi meta, llegar a trabajar para Google en Zurich, una meta dificil de conseguir, pero no imposible.

Sys Admin

Soy administrador de sistemas, y es algo que me fascina, puede que algo sea util… o no.

web 2.0

minube, facebook, flickr, twitter,… todo tiene su espacio aquí.

Home » Carrusel, Destacados, Sys Admin

Configurar CentOS para enviar correos usando Exchange

Submitted by druidacelta on 09/04/2010 – 7:45 amOne Comment

La situación es la siguiente, imaginemos que tenemos una red interna del estilo host.domain.age y queremos enviar correos, logwach correos de root o de crontab a nuestro correo corporativo que es del estilo user@subdomain.domainII.es y OH CASUALIDAD este correo es virtual, no se puede hacer ping internamente (ni externamente a subdomain.domainII.es) porque no lo conoce ni el tato.

Pues este HOWTO o guia  explica como conseguir que estos correos funcionen usando sendmail, y claro está que salgan para un servidor exchange (windows 2003) que ya se encargará de mirar a que corresponde lo de subdomain.domainII.es

Lo primero es hacer un pequeño truco, y hacer un forzado para que todos los correos que tengan que ir a subdomain.domainII.es pasen a narices por el servidor exchange, que mira tu por donde esta en el domain.age de nuestra red corporativa.

# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain
10.1.140.x host host.domain.age
10.1.140.y exchange.domain.age subdomain.domainII.es

Podemos ver el “apaño” para que la ip 10.1.140.y sea la que corresponde a subdmain.domainII.es

Ahora nuestro sendmail.mc

#cat /etc/mail/sendmail.mc
divert(-1)dnl
include(`/usr/share/sendmail-cf/m4/cf.m4?)dnl
VERSIONID(`setup for linux’)dnl
OSTYPE(`linux’)dnl
define(`SMART_HOST’, `10.1.140.y‘)dnl
define(`confDEF_USER_ID’, “8:12”)dnl
define(`confTO_CONNECT’, `1m’)dnl
define(`confTRY_NULL_MX_LIST’, `True’)dnl
define(`confDONT_PROBE_INTERFACES’, `True’)dnl
define(`PROCMAIL_MAILER_PATH’, `/usr/bin/procmail’)dnl
define(`ALIAS_FILE’, `/etc/aliases’)dnl
define(`STATUS_FILE’, `/var/log/mail/statistics’)dnl
define(`UUCP_MAILER_MAX’, `2000000?)dnl
define(`confUSERDB_SPEC’, `/etc/mail/userdb.db’)dnl
define(`confPRIVACY_FLAGS’, `authwarnings,novrfy,noexpn,restrictqrun’)dnl
define(`confAUTH_OPTIONS’, `A’)dnl
define(`confTO_IDENT’, `0?)dnl
FEATURE(`no_default_msa’, `dnl’)dnl
FEATURE(`smrsh’, `/usr/sbin/smrsh’)dnl
FEATURE(`mailertable’, `hash -o /etc/mail/mailertable.db’)dnl
FEATURE(`virtusertable’, `hash -o /etc/mail/virtusertable.db’)dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail, `’, `procmail -t -Y -a $h -d $u’)dnl
FEATURE(`access_db’, `hash -T<TMPF> -o /etc/mail/access.db’)dnl
FEATURE(`blacklist_recipients’)dnl
EXPOSED_USER(`root’)dnl
DAEMON_OPTIONS(`Port=smtp, Name=MTA’)dnl
FEATURE(`accept_unresolvable_domains’)dnl
LOCAL_DOMAIN(`host.domain.age‘)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(`mailertable’,`hash -o /etc/mail/mailertable.db’)dnl
MAILER(smtp)dnl
dnl MAILER(procmail)dnl
Cw10.1.140.y

En este apartado entre las muchas opciones que tenemos ( man sendmail.mc ) lo principal es definir un smart que será a donde enviemos nuestras cosillas y un Cw que es más de lo mismo. También le indicamos como es el nombre del dominio para que nos llegue al correo con ese nombre.

Aqui también podemos hacer un MASQUERADE para simular que los correos llegan de algún dominio en concreto.

Configuramos nuestra tabla de correos, esto es, a donde se mandará si se desconoce la dirección, esto por supuesto se hace para ejercer más presión a la hora de llegada de correos.

#cat /etc/mail/mailertable
subdomain.domainII.es smtp:[10.1.140.y]

Añadimos en nuestro fichero de acceso que hacer en caso de un correo para ese sitio.

#echo “10.1.140.y RELAY” >>/etc/mail/access
#echo “subdomain.domainII.es RELAY”>>/etc/mail/access
#echo “exchange.domain.age RELAY”>>/etc/mail/access

Por ultimo solo tenemos que reiniciar el servicio de sendmail para poder mandar correos

#service sendmail restart

Con estos escasos cambios tendriamos configurado nuestro servidor de correo para enviar a nuestra cuenta corporativa a traves del servidor exchange (que es el que conoce a que corresponde el dominio virtual)

Como los DNS de nuestra máquina desconocen que es subdomain.domainII.es tardará del orden de 4 minutos en llegar un correo, esto es muuuuucho tiempo, asi que mejor que configurar para que no use los DNS.

#cat /etc/mail/service.switch
hosts files
aliases files

#echo “O ServiceSwitchFile=/etc/mail/service.switch” >>/etc/mail/sendmail.cf

LISTO

Es importante tener en cuenta que los echo añadden al final de los ficheros, mucho cuidado de sobreescribir algún dato o borrar algo. Es muy recomendable tener una copia de seguridad.

Esta guia fue redactada usando CentOS y RedHat Enterprise 5, en distribuciones como Debian o Suse puede variar la configuración asi como los comandos a usar.

One Comment »

Leave a comment!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar blog.