Postfix internal routing dilevery
Postfix:Internal Routing Delivery
Ini adalah versi perbaikan dari thread yang ada dimilist postfix.or.id.
Kesalahan fatal pada penggunaan syntax canonical_maps adalah proses penukaran alamat email yang tidak terkendali, baik pada posisi sender dan recipient.
Untuk mengatasinya maka akan dipakai opsi recipient_canonical_maps, dan sender_canonical_maps dimana alamat yang akan ditukar pada saat receive atau sending dapat diatur.
Internal Routing Delivery, bisa dikatakan _salah satu_ solusi untuk membuat banyak server beda regional dengan 1 domain, dimana beberapa user pada domain tersebut ada dibeberapa server.
Software bantu dan kondisi
* Distro (wajib) Trustix Secure Linux 2.2 Cloud
* Postfix 2.1.5 (default instalasi rpm)
* Tpop3
* Fetchmail
Kondisi yang berlaku disini adalah memakai local user, belum diaplikasikan pada virtual-user.
Bayangkanlah...
Suatu perusahaan berpusat diJakarta, mempunyai 100 karyawan.
Semua aktivitas email (smtp dan pop3) dilakukan diserver jakarta. Dengan domain abc.com
Karyawan dijakarta diantara-nya ani,agnes,ayu,anto,ari,abu dan lain-lain
Karena kondisi bisnis yang bagus, perusahaan ini-pun membuka cabang di berbagai daerah. Anggap Bandung.
Dengan jumlah karyawan 30 orang, diantaranya, budi,badu,beni,beno,bejo.
Koneksi internet hanya memakai dial-up (melask�-tenan).
Karena berada pada 1 induk perusahaan maka format email karyawan diBandung-pun sama yaitu nama@abc.com
misal budi@abc.com,badu@abc.com, bejo@abc.com dan seterusnya.
Maka jumlah email user di server jakarta menjadi 130 user.
Diputuskan aktivitas smtp ikut pada smtp server dial-up isp, sedangkan pop3 tetap ikut pada server jakarta.
Setelah berjalan beberapa saat dirasakan ada satu kelemahan,yaitu :
Pada saat user dicabang ingin mengirim email kepada sesama user cabang 1 wilayah (misal budi@abc.com ke badu@abc.com),
maka harus menunggu hingga modem hidup.
Hal ini terjadi karena pada saat budi melakukan perintah send, MUA akan berusaha mengirimkan-nya ke server jakarta.
Dan badu-pun baru akan bisa mendonlot/menarik email tersebut bila sudah diterima server jakarta.
Dapat dibayangkan proses yang seharusnya bisa cepat menjadi lambat karena harus berputar di internet.
Atau mudah-nya disebut sebagai eksternal routing delivery, karena harus konek dulu ke server jakarta.
Anda sebagai Mailserver administrator diberi tugas untuk menyelesaikan masalah ini.
Solusi
1.
Membangun 1 buah mail server di cabang. Dengan nama bandung.abc.com.
Ini jelas bisa dibangun, tetapi sekarang bila budi ingin mengirimkan email ke badu maka akan ditulis badu@bandung.abc.com.
User komplain karena tidak sepraktis dulu, karena harus menambahkan bandung.
Pihak manajemen-pun tidak ingin penambahan cost untuk membuat kartu nama baru, karena perubahan ini.
Sedangkan bila ditulis badu@abc.com, maka email akan kembali diroutingkan ke internet.
Dan karena mempergunakan sistem dial-up maka domain bandung.abc.com tidak akan dikenali di internet
2.
Membangun 1 buah mail server di cabang. Dengan nama domain sama dengan domain induk abc.com.
Dengan cara begini, pada saat budi akan mengirimkan email ke badu cukup ditulis badu@abc.com.
User dan manajemen senang.
Tapi pada saat akan mengirimkan email ke user jakarta, misal ani@abc.com, permasalahan baru timbul.
Dari sisi server muncul pesan error bahwa user ani tidak ada.
Hal ini wajar karena user ani hanya dikenali diserver jakarta.
3.
Membangun 1 buah mail server di cabang. Dari pengalaman #2 maka dapat dipastikan nama domain harus beda dengan domain pusat.
Maka dipilih kembali bandung.abc.com.
Hanya saja kali ini mulai dimasukkan user domain user locak ke dalam file aliases. Dengan harapan bisa membelokkan delivery email. misal:
root@quad root# echo "badu@abc.com: badu" >> /etc/postfix/aliases
root@quad root# newaliases
postalias: warning: /etc/postfix/aliases, line 209: name must be local
Ups, ternyata aliases menolak jika di-isi dengan full dengan nama domain.
4.
Membangun 1 buah mail server di cabang. Dari pengalaman #2 maka dapat dipastikan nama domain harus beda dengan domain pusat.
Maka dipilih kembali bandung.abc.com.
Dari pengalaman #3 maka diketahui opsi aliases tidak dapat dipergunakan.
Untungnya postfix masih menyediakan opsi lain yang masih dapat dipergunakan. Yaitu canonical.
root@quad root# postconf -d | grep canonical
canonical_maps =
recipient_canonical_maps =
sender_canonical_maps =
root@quad root# man canonical
....
The optional canonical table specifies an address mapping for local and
non-local addresses. The mapping is used by the cleanup(8) daemon. The
address mapping is recursive.
....
Intinya canonical akan manipulasi alamat local dan non-local.
Proses mapping ini akan merubah fisik header dari email yang bersangkutan.
Misal, dibuat mapping badu@abc.com badu@bandung.abc.com
Dapat dibaca, bila ada email dengan tujuan badu@abc.com maka akan dirubah menjadi badu@bandung.abc.com.
Hal ini dapat dibuktikan pada MUA user, misal Lookout Express�, Eudora atau Kmail.
Untuk keperluan kasus perusahaan abc.com maka yang dilakukan adalah, tambahkan opsi berikut pada main.cf
root@quad root# cd /etc/postfix
root@quad postfix# echo "recipient_canonical_maps = hash:/etc/postfix/recipient_canonical" >> main.cf
root@quad postfix# echo "sender_canonical_maps = hash:/etc/postfix/sender_canonical" >> main.cf
recipient_canonical_maps dipergunakan untuk membelok-kan email bila sesama user local berkirim email.
sender_canonical_maps dipergunakan untuk mengembalikan alamat email ke alamat asli pada saat melakukan replay.
Pada /etc/postfix/recipient_canonical di-isikan sebagian/seluruh user local yang ada.
budi@abc.com budi@bandung.abc.com
badu@abc.com badu@bandung.abc.com
beni@abc.com beni@bandung.abc.com
beno@abc.com beno@bandung.abc.com
bejo@abc.com bejo@bandung.abc.com
Pada /etc/postfix/sender_canonical di-isikan.
@bandung.abc.com @abc.com
Lalu ubah menjadi file db dan reload postfix.
root@quad postfix# postmap recipient_canonical
root@quad postfix# postmap sender_canonical
root@quad postfix# postfix reload
root@quad postfix# postconf -n | grep canonical
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
sender_canonical_maps = hash:/etc/postfix/sender_canonical
Sekarang user local bisa saling berkirim email dengan domain tetap abc.com.
Agar user tidak perlu konek ke-dua pop3 (local dan pusat), maka alamat pop3 server-pun sebaiknya dipindah kan server local.
Dan dengan aplikasi fetchmail, secara periodic, akan mendolot email dari server pusat ke server local.
Karena pada sender_canonical_maps akan mengganti seluruh alamat sender, maka ada kemungkinan pada saat sistem akan mengirimkan email ke root/postmaster, email akan terkirim ke root/postmaster domain pusat.
Untuk menghindari hal ini maka set alias untuk postmaster dan/atau root pada file /etc/postfix/aliases.
root@quad postfix# echo "postmaster: root" >> /etc/postfix/aliases
root@quad postfix# echo "root: badu" >> /etc/postfix/aliases
root@quad postfix# newaliases
penutup
Mohon maaf beli judul artikelnya ndak match, masalahnya bingung mau dinamai apa.
Terimakasih untuk thexxxxx.net yang sudah memberikan ide untuk tulisan ini.
Tulisan Adi Sudana
January 25, 2013 at 12:08 AM
I do not even understand how I stopped up here, however I assumed this publish used to be good.
I don't recognize who you might be however certainly you are going to a well-known blogger when you are not already. Cheers!
Feel free to surf my page : above ground Pool Decks And Landscaping
January 28, 2013 at 2:27 AM
I got this web page from my friend who informed me about this web page and now this time I am visiting this web page and reading very informative articles or reviews at this place.
Also visit my page : above ground swimming Pools At walmart
January 30, 2013 at 11:55 AM
Greetings from Los angeles! I'm bored at work so I decided to check out your website on my iphone during lunch break. I enjoy the info you provide here and can't wait to take a look
when I get home. I'm shocked at how quick your blog loaded on my cell phone .. I'm not even using WIFI, just
3G .. Anyways, very good blog!
Also visit my web-site : 0salo.net
February 23, 2013 at 7:43 PM
wonderful put up, very informative. I wonder why the opposite experts
of this sector do not realize this. You should proceed your writing.
I'm confident, you've a huge readers' base already!
Here is my web site ... http://sharepointex.blogspot.fr
February 23, 2013 at 10:31 PM
It's amazing for me to have a site, which is valuable in favor of my know-how. thanks admin
Feel free to surf to my web page abc networking group
April 17, 2013 at 12:32 PM
Heya exceptional website! Does running a
blog like this take a massive amount work? I have absolutely no knowledge of computer programming however I
was hoping to start my own blog in the near future. Anyway,
if you have any ideas or techniques for new blog owners please share.
I know this is off subject nevertheless I simply wanted to ask.
Thank you!
Also visit my web page: aboriginal people of japan
April 18, 2013 at 5:03 PM
Excellent site you have got here.. It's hard to find high-quality writing like yours these days. I honestly appreciate people like you! Take care!!
Feel free to surf to my website blog.homeschoolchristian.com
April 18, 2013 at 5:03 PM
Excellent site you have got here.. It's hard to find high-quality writing like yours these days. I honestly appreciate people like you! Take care!!
Review my homepage blog.homeschoolchristian.com
May 23, 2013 at 12:24 PM
Ϻy relatives alwaуs say thаt I am killing my
timе here at web, hoωeveг
I know I am getting knowledge еverydаy by readіng thes
pleasant articles.
Alsо viѕit my page :: diamondlinks review
May 28, 2013 at 3:16 PM
Heу very inteгeѕting blog!
Feеl free tο ѕurf to my ωeblog matrixshafts.com
May 28, 2013 at 10:06 PM
Valuаble infο. Foгtunаte me I
found yοuг website unintentiоnally, and І'm shocked why this accident didn't came about earlier!
I booκmaгκed it.
Here is my ωeb pаge leamichestrane.blog.tiscali.it