Wednesday, 9 September 2009

Changing Email Server IP address on a cPanel Server


Quite few times your server's main/shared IP address may get black listed by most of RBLs due to x reasons.

In such situations, it would be very difficult to receive/send some important emails due to this black list.

In such situation a quick solution is to route the emails through a secondary IP address on the same server which is not

black listed under those RBLs.

The mail server on cpanel i.e exim allows you to change the default IP address used by the mail server so that you would be

able to route all emails through this new secondary IP address.

Here are the step by step instructions for you to configure your exim mail server to use new IP address.

Step 1 : Shutdown the exim service.

# service exim stop or /etc/init.d/exim stop

Step 2 : Edit your exim configuration file.

# vi /etc/exim.conf

Step 3: go to "remote_smtp" section under "TRANSPORTS CONFIGURATION".

By default it would look like below:

Quote:

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_ho stname}}

Step 4 : Remove or comment line containing "interface" and "helo_data" and add new "interface" to match with that of your new

IP address. It should look like as follows:

Quote:

remote_smtp:

driver = smtp

interface = 12.12.12.12 # Your IP address.

Step 5 : Save your changes and exit out from your exim configuration file.

Note : Dont forget to set read only attributes on exim configuration file, so that it wont get reset to default

automatically.

You can do it using following command:

# chattr +aui /etc/exim.conf

Step 6 : start exim service on your server.

# service exim restart or /etc/init.d/exim restart

Step 7 : Make sure to set reverse DNS for this new IP address to point a valid FQDN.

Step 8 : Try sending a test email and you will find that, it was sent using this new IP address configured under your exim

configuration.

You can verify it by checking the header of new email under exim's log file i.e /var/log/exim_mainlog

Quite few times your server's main/shared IP address may get black listed by most of RBLs due to x reasons.

In such situations, it would be very difficult to receive/send some important emails due to this black list.

In such situation a quick solution is to route the emails through a secondary IP address on the same server which is not



black listed under those RBLs.



The mail server on cpanel i.e exim allows you to change the default IP address used by the mail server so that you would be



able to route all emails through this new secondary IP address.



Here are the step by step instructions for you to configure your exim mail server to use new IP address.



Step 1 : Shutdown the exim service.



# service exim stop or /etc/init.d/exim stop



Step 2 : Edit your exim configuration file.



# vi /etc/exim.conf



Step 3: go to "remote_smtp" section under "TRANSPORTS CONFIGURATION".

By default it would look like below:



Quote:



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_ho stname}}

Step 4 : Remove or comment line containing "interface" and "helo_data" and add new "interface" to match with that of your new

IP address. It should look like as follows:

Quote:



remote_smtp:

driver = smtp

interface = 12.12.12.12 # Your IP address.



Step 5 : Save your changes and exit out from your exim configuration file.



Note : Dont forget to set read only attributes on exim configuration file, so that it wont get reset to default



automatically.



You can do it using following command:



# chattr +aui /etc/exim.conf



Step 6 : start exim service on your server.



# service exim restart or /etc/init.d/exim restart



Step 7 : Make sure to set reverse DNS for this new IP address to point a valid FQDN.



Step 8 : Try sending a test email and you will find that, it was sent using this new IP address configured under your exim



configuration.



You can verify it by checking the header of new email under exim's log file i.e /var/log/exim_mainlog



Make sure you replace the "IPAddress" in the following command with an additional IP of your server.



Quote:

iptables -t nat -A POSTROUTING -o eth0 -p tcp -j SNAT --dport 25 --to-source IPAddress

The above rule will change the source IP of all the outgoing packets meant for port 25 to the new IP address. Save the new rule else a restart of iptables will remove it:



Quote:

/etc/init.d/iptables save

As mentioned in the 7th step by Nick J, you need to set reverse DNS (rDNS) for this new IP address to point a valid FQDN but make sure the FQDN should point back to the same IP.




No comments:

Post a Comment