Ini adalah versi perbaikan dari thread yang ada dimilist postfix.or.id. 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
Bayangkanlah...Suatu perusahaan berpusat diJakarta, mempunyai 100 karyawan. Karena kondisi bisnis yang bagus, perusahaan ini-pun membuka cabang di berbagai daerah. Anggap Bandung. Setelah berjalan beberapa saat dirasakan ada satu kelemahan,yaitu : Anda sebagai Mailserver administrator diberi tugas untuk menyelesaikan masalah ini. |
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 [email protected].
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 [email protected], maka email akan kembali diroutingkan ke internet.
Dan karena mempergunakan sistem dial-up maka domain bandung.abc.com tidak akan dikenali di internet
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 [email protected].
User dan manajemen senang.
Tapi pada saat akan mengirimkan email ke user jakarta, misal [email protected], permasalahan baru timbul.
Dari sisi server muncul pesan error bahwa user ani tidak ada.
Hal ini wajar karena user ani hanya dikenali diserver jakarta.
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 "[email protected]: badu" >> /etc/postfix/aliases root@quad root# newaliases postalias: warning: /etc/postfix/aliases, line 209: name must be localUps, ternyata aliases menolak jika di-isi dengan full dengan nama domain.
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.
Misal, dibuat mapping [email protected] [email protected]
Dapat dibaca, bila ada email dengan tujuan [email protected] maka akan dirubah menjadi [email protected].
Hal ini dapat dibuktikan pada MUA user, misal Lookout Express�, Eudora atau Kmail.
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.
[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]Pada /etc/postfix/sender_canonical di-isikan.
@bandung.abc.com @abc.comLalu 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_canonicalSekarang user local bisa saling berkirim email dengan domain tetap abc.com.
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
Mohon maaf beli judul artikelnya ndak match, masalahnya bingung mau dinamai apa.
Terimakasih untuk thexxxxx.net yang sudah memberikan ide untuk tulisan ini.