Tips Membuat Split Dns

Posted by

Beberapa bulan yang lalu, Team Excellent melakukan remote install Zimbra pada salah satu klien di daerah Surabaya. Semua persiapan dan improvement yang biasa dilakukan sudah diterapkan pada email server dan menunggu switching pada email server baru.

Email server lama menggunakan IP Public secara langsung dan email server baru yang disiapkan oleh Excellent menggunakan IP lokal dan dikonfigurasi dibawah PAT/NAT. Tiba waktunya proses switching dan cukup dilakukan penggantian IP Public email server yang lama disimpan pada Router sekaligus Anti Spam yang dibuat untuk email server baru yang berada dibawah NAT/PAT.

Proses switching tidak membutuhkan propagasi dikarenakan tidak mengubah IP Public yang telah digunakan. Pasca switching, beberapa testing dilakukan mulai dari kirim sesama lokal, akses via webmail, email client, gadget dan yang lainnya. Pada saat testing penerimaan email dari luar, ada beberapa email yang masuk dan ada juga pengiriman dari beberapa domain tidak masuk.

Dicek dari sisi email server semuanya oke dan tidak ada masalah. Namun, pada saat proses penerimaan email dari domain luar tidak ada koneksi pada email server. Saya cek dari sisi anti spam, tidak ada pemblokiran dan dicek dari sisi email server juga tidak ada. Setelah dicek MX records via https://www.whatsmydns.net/ ternyata MX tidak ditemukan. Saya cek juga untuk NS Records-nya ternyata mengarah pada ns1.namadomainklien.tld. Saya cek IP Public ns1.namadomainklien.tld ternyata mengarah pada IP Public yang sama dengan IP Public email server.

skema-split-dns

Dengan kata lain, ternyata email server yang lama juga berfungsi sebagai DNS Server public. Waduuuh, pantas saja email tidak dapat diterima dari domain luar. Akhirnya saya tambahkan PAT pada Anti Spam (yang bertindak sebagai router juga) untuk port 53 yang juga mengarah pada email server baru. Pada email server baru yang telah memiliki DNS lokal, saya tambahkan IP Public pada nama mail.namadomainklien.tld dan ns1.namadomainklien.tld.

Setelah ditambahkan, cek kembali MX records via https://www.whatsmydns.net/ dan akhirnya dapat dikenali. Namun, setelah dicek IP addressnya, https://www.whatsmydns.net/ juga mengenali IP lokal yang saya gunakan karena nama mail.namadomainklien.tld memiliki 2 IP (IP lokal dan IP Public). Jika saya hapus IP Lokal, maka email server akan melakukan lookup pada IP Public yang mana mengarah pada IP Anti Spam dan diarahkan kembali ke email server (dibawah NAT/PAT). Disini terjadi looping lookup terhadap dns records.

Akhirnya dibuatlah skema split dns pada server email yang bertindak sebagai dns server public juga. Untuk lookup dns lokal, maka records dns lokal yang digunakan. Sedangkan untuk lookup dns public, maka records dns public yang digunakan. Bagaimana cara membuatnya?

Berikut adalah cara membuat split dns tersebut. Pada panduan ini, saya menggunakan sistem operasi SUSE Linux Enterprise Server. Secara prinsip, panduan ini juga dapat diaplikasikan pada semua sistem operasi yang digunakan.

vi /etc/named.conf

Buat zone untuk dns lokal dan public seperti berikut :

view "internal" {
match-clients { 127.0.0.1; 192.168.0.0/24; };
recursion yes;

zone "." in {
type hint;
file "root.hint";
};

zone "imanudin.com" in {
allow-transfer { any; };
file "master/imanudin.com.int";
type master;
};
};

view "external" {
match-clients { any; };
recursion no;

zone "." in {
type hint;
file "root.hint";
};

zone "imanudin.com" in {
allow-transfer { none; };
file "master/imanudin.com.ext";
type master;
};
};

Pada contoh zone diatas, zone imanudin.com untuk dns lokal berada pada folder master dengan nama imanudin.com.int dan hanya dapat diakses dari ip lokal 127.0.0.1 dan 192.168.0.0/24. Sedangkan zone imanudin.com untuk dns public berada pada folder master dengan nama imanudin.com.ext dan dapat diakses dari ip mana saja. File imanudin.com.int berisi records dengan IP lokal, sedangkan file imanudin.com.ext berisi records dengan IP Public.

Setelah dns dikonfigurasi dengan skema split dns, akhirnya records dns dapat dipisahkan antara dns lokal dan dns public. Proses propagasi dns public via https://www.whatsmydns.net/ juga cepat meskipun masih ada beberapa negara yang masih mengenal ip lokal.

Sungguh pengalaman yang luar biasa dan ilmu yang luar biasa juga yang didapatkan. Karena selama ini DNS lokal dan DNS Public berada pada server terpisah.

Silakan dicoba dan semoga bermanfaat 😀

Source : http://archive.oreilly.com/pub/a/oreilly/networking/news/views_0501.html

4 comments

  1. Jika saya menggunakan dnsmasq utk split dns apakah mempengaruhi kualitas email mas? Misal dapat mempengaruhi mail mark spam google. Thanks..

  2. Mas, mau nanya untuk file root.hint itu ada didirektori apa dan apa isinya ya? maaf saya sedang belajar dns split ini di centos
    Terima kasih

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.