Cómo cambiar la dirección IP por la que envía EXIM

Hosting cPanel   5 octubre, 2010   Comentarios desactivados en Cómo cambiar la dirección IP por la que envía EXIM

Cualquier admnistrador que disponga de un servidor compartido para proporcionar servicios de alojamiento web estará más que acostumbrado a las protestas de sus clientes por la pertenencia de la ip  a una o varias listas negras.

En un servidor con cPanel, la configuración por defecto de exim utiliza la dirección ip  compartida por el servidor para enviar el correo electrónico,  lo que significa que todos sus clientes de ese servidor compartido están enviando correo electrónico desde la misma IP.

Con sólo que un spammer  hackee la cuenta de un cliente y se dedique a enviar correo electrónico masivo a través de un script, todos los clientes  que comparte la misma ip en el hosting  se quejarán que todo el correo que envían les viene de vuelta ya que son rechazados al encontrarse la ip que comparten en una serie de listas negras de spammers.

Si dispone de una dirección IP adicional, podría utilizar ésta para enviar el correo electrónico. Esta IP debe estar configurada en el servidor con un PTR válido. Probablemente habrás visto en los foros de cPanel que usted puedes cambiar la siguientes íneas de configuración del exim en el archivo (/etc/exim.conf/) y reiniciarlo posteriormente:

remote_smtp:
driver = smtp
interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}

dk_remote_smtp:
driver = smtp
interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}
dk_private_key = "/var/cpanel/domain_keys/private/${dk_domain}"
dk_canon = nofws
dk_selector = default

En el ejemplo anterior, lo que habría que hacer es comentar las líneas del interfaz y sustituirlas por:

interface = xx.xx.xx.xx

Sin embargo, esto tiende a ser una solución momentánea o poco estable, ya que con una actualización de cPanel o cualquier cambio realizado en el editor de configuración del WHM para el EXIM se regenerará la configuración de Exim y sobreescribirán los cambios. Para hacerlo de manera permanente será necesario utilizar el archivo /etc/mailips.

Para establecer este valor, deberás ir a WHM>Exim Configuration y activar la siguiente opción:

** Send outgoing mail from the ip that matches the domain name in /etc/mailips (*: IP can be added to the file to change the main outgoing interface) [?]

O editar /etc/exim.conf.localopts y cambiar (o añadir sino existe) la siguiente línea:

per_domain_mailips=1

Ejecuta:
/scripts/buildeximconf
service exim restart

*El archivo /etc/mailips debería tener permisos de root:exim, chmod 440 sino no se creará

chattr +i /etc/mailips

CAMBIAR LA IP DE ENVIO PARA TODO EL SERVIDOR
Si deseas que todo el servidor envíe el correo electrónico utilizando la misma IP, sólo tienes que añadir lo siguiente al archivo /etc/mailips:

*: XXX.XXX.XXX.XXX

A continuación añaade la IP y su resolución PTR a /etc/mail_reverse_dns:

XXX.XXX.XXX.XXX. hostname.tld

Esto le indicará a EXIM que use esa IP para cualquier cuenta de correo del servidor.

CAMBIAR LA IP DE ENVIO POR DOMINIO
Si desea que los usuarios con direcciones IP dedicadas, las utilicen para enviar correo electrónico puede añadirlas a /etc/mailips. De todas formas en la documentación de cPanel dispones de los pasos necesarios para hacerlo correctamente:

http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/EximDifferentIps

Si dispones de bastantes IPS asignadas puedes utilizar el siguiente script que completa el archivo /etc/mailips automáticamente:

while read line ; do DOMAIN=`echo -e $line |awk ‘{print $2}’` && IP=`echo -e $line |awk ‘{print $1}’ |cut -d: -f1` && echo «$DOMAIN: $IP» >> /etc/mailips ;done < /etc/domainips

Añadiendo la siguiente linea en el archivo, le dirás al resto de los dominios que salgann por la ip que establezcas detrás del comodín (*)

*: XXX.XXX.XXX.XXX

Posteriormente ejecuta:

cp /etc/domainips /etc/mail_reverse_dns

Esto actualizará todos los sitios exitentes con sus direcciones IP dedicadas a enviar mail a través de las mismas.