Terkadang mungkin anda perlu mengubah ip outgoing email anda dikarenakan ip email server anda terblokir (bisa dicek melalui mxtoolbox.com). kebetulan beberapa waktu yang lalu ada klien saya yang request untuk email massal atau lebih dikenal dengan istilah email blast.

Berikut ini adalah cara menggunakan ip rotasi secara berkala pada exim. hal ini biasanya digunakan untuk menjaga reputasi ip dari mail server anda sendiri. (tapi tidak direkomendasikan untuk melakukan spamming/ NOT RECOMMENDED FOR SPAMMING!)

How To Enable IP Rotation in Exim

Cara #1 Menggunakan exim.conf

edit file /etc/exim.conf

vi /etc/exim.conf

cari pada baris : interface =

Replace pada baris tersebut dengan

interface = 192.168.0.1${eval:${substr{-2}{1}{$tod_zulu}}%9+1}

maksud dari script diatas+1 adalah ip pertama, contoh 192.168.0.1′1′ dan %9 adalah berapa banyak ip anda. maksudnya ip yang dimulai dari 1 (192.168.0.11) ke 9 buah ip address berikutnya 10 (192.168.0.10)

Jika server anda mempunyai IP Address 192.168.0.11 sampai 192.168.0.20, anda dapat menggunakan script dibawah ini

contoh:

interface = 192.168.11.${eval:${substr{-2}{1}{$tod_zulu}}%15+96}

script diatas akan merotasi ip address dimulai dari 192.168.11.96 sampai dengan 192.168.11.111

Cara #2 Menggunakan Metode Crontab

buat file ip_rotate.sh

vi /root/ip_rotate.sh

tekan “i” untuk insert code

#!/bin/bash
# Exim Outgoing IP address rotator
# Files: /etc/mailipaddrpool : list of IP addresses to use for mail

ipfile=/etc/mailipaddrpool
curip=$(grep "*:" /etc/mailips |awk '{print $2}')

if [[ "$curip" == "" ]] || ! grep $curip $ipfile >/dev/null ; then
	curip=$(tail -1 $ipfile)
fi

nextipct=$(cat $ipfile |grep -A 1 $curip |wc -l)

if [ "$nextipct" == "1" ];then
	nextip=$(head -1 $ipfile)
else
	nextip=$(cat $ipfile |grep -A 1 $curip | tail -1)
fi

sed '/*:/d' -i /etc/mailips
sed '/^$/d' -i /etc/mailips
echo "*: $nextip" >> /etc/mailips

isikan file /etc/mailipaddrpool dengan ip address yang anda gunakan saat ini, contoh

vi /etc/mailipaddrpool

lalu buat cronjob-nya dengan cara

crontab -e

lalu tambahkan pada baris paling bawah

*/15 * * * * /bin/bash /root/ip_rotate.sh >/dev/null 2>&1

arti dari cronjob diatas adalah secara otomatis ip outgoing exim anda akan terganti setiap 15 menit.

Salam Gemar Oprek!

NB:
postingan ini hanya untuk edukasi semata. mohon gunakan metode ini dengan bijak, GemarOprek.com tidak bertanggung jawab atas penggunaan yang menyalahi hukum dan UU indonesia ataupun Internasional