Tips Zimbra Mail Server : Mengenal Split DNS

Instalasi Zimbra dibelakang sebuah firewall (atau NAT) terkadang membutuhkan konfigurasi tambahan yang disebut split DNS / split-horizon / dual-horizon DNS. Split DNS memungkinkan user yang berbeda menerima jawaban yang berbeda unntuk satu pertanyaan yang sama. Split DNS mendeskripsikan dua zona yang berbeda untuk satu domain yang sama, satu zona untuk internal, satu zona untuk eksternal (biasanya internet).

Salah satu alasan Split DNS dilakukan adalah untuk menyembunyikan informasi DNS internal perusahaan dari pihak eksternal di Internet sehingga memungkinkan pemberian nama DNS untuk server-server yang berada pada jaringan lokal pada satu DNS server yang tidak dapat diresolve dari jaringan eksternal atau memperoleh informasi yang berbeda dengan jaringan internal. Terdapat beberapa perbedaan pendapat mengenai apakah hal ini berguna atau tidak, tetapi sejauh ini split DNS dapat membantu dalam menghemat resource bandwith. Dengan split DNS klien-klien lokal akan mendapat IP private dari mail server.

Sebagai gambaran, katakanlah PT Excellent Infotama Kreasindo memiliki mail server (mail.excellent.co.id) di jaringan internal dengan IP Private 192.168.1.111 dan IP Publik 110.212.110.212 dengan gateway (IP 192.168.1.1). Jika dalam infrastruktur “non-split” DNS, ketika user melakukan dig ke domain mail.excellent.co.id yang didapat adalah IP Publik. Dengan demikian user akan memerlukan bandwith untuk mengakses internet baru kemudian kembali lagi ke lokal. Jadi jika menggunakan skema split DNS, ketika jaringan internet bertanya alamat mail.excellent.co.id maka akan dijawab 110.212.110.212, tapi jika jaringan internal yang bertanya, akan dijawab alamat IP Private (lokal).

Untuk mulai melakukan setting split DNS, kita perlu membuat beberapa view dan mendaftarkan alamat jaringan yang sesuai dengan view yang dibuat. Masing-masing view mempunyai definisi data DNS zone tersendiri yang akan digunakan untuk menjawab request dari user.

Persiapan Pengaturan Split DNS

  1. Pastikan paket bind / bind9 / named sudah terpasang pada komputer yang akan dijadikan DNS server.
  2. Telah memahami pengaturan dasar DNS, meliputi pembuatan zone DNS, record DNS, dan edit file DNS zone.
  3. Backup file-file yang asli sebelum mulai melakukan pengaturan split DNS, yaitu file named.conf dan file zone pada folder DNS (lokasi file berbeda-beda terganung distro Linux yang digunakan).
  4. Banyak-banyak berdoa semoga tidak akan ada masalah selama & setelah melakukan pengaturan ini. Hihihi…. 😀

Modifikasi file named.conf

Mari kita mulai….

Implementasi split DNS hanya melakukan sedikit konfigurasi pada file named.conf. Sedangkan konfigurasi file zone sama dengan konfigurasi pada umumnya. Yang perlu diingat adalah masing-masing view harus berdiri sendiri dan memiliki file zone sendiri, walaupun semua domain yang dimuat sama dan kita harus membuat definisi zone dalam tiap view yang ada.

Pertama, kita pisahkan jaringan mana saja yang boleh meresolve domain internal, kemudian kita kelompokkan pada view yang sesuai. View eksternal memuat data yang dapat dilihat oleh seluruh dunia (internet), dan view internal memuat data yang hanya dapat dilihat dari jaringan internal perusahaan.

View eksternal : Semua koneksi internet ke DNS Server ( 0.0.0.0/0 )

View internal : IP Private perusahaan ( 192.168.1.0/24; 127.0.0.1/8 )

rubah konfigurasi file named.conf menjadi seperti berikut:

view “internal” {
	match-clients {
		192.168.1.0/24;
		127.0.0.0/8;
	};
	zone “.” {
		type hint;
		file “/etc/bind/db.root”;
	};
	zone “excellent.co.id” {
		type master;
		file “/etc/bind/excellent.co.id.int”:
	};
};

view “eksternal {
	match-clients {
		0.0.0.0/0;
	};
	zone “.” {
		type hint;
		file “/etc/bind/db.root”;
	};
	zone “excellent.co.id” {
		type master;
		file “/etc/bind/excellent.co.id.eks”:
	};
};

Catatan:

  • DNS Server membaca konfigurasi named.conf dari atas kebawah, itu sebabnya view internal kita tuliskan terlebih dahulu sebelum view eksternal.
  • Lokasi file named.conf:
    Debian Family : /etc/bind/named.conf
    Red Hat Family : /var/named/chroot/etc/named.conf
    SUSE Family : /var/lib/named/named.conf

Setelah selesai melakukan konfigurasi kita tinggal membuat 2 buah file zone, yaitu satu untuk internal & satu lagi untuk eksternal. Isi file zone tersebut sama, hanya dibedakan alamat IP nya saja. Contohnya:

zona excellent.co.id.eks (untuk view eksternal):

      IN     NS     ns1.excellent.co.id.
      IN     NS     ns2.excellent.co.id.

      IN     MX     10     mail.excellent.co.id.

             IN     A       110.212.110.212

www         IN     A       174.xxx.xxx.xxx
mail IN A 110.212.110.212 ns1 IN A 174.xxx.xxx.xxx ns2 IN A 175.xxx.xxx.xxx

zona excellent.co.id.int (untuk view internal):

      IN     NS     ns1.excellent.co.id.
      IN     NS     ns2.excellent.co.id.

      IN     MX     10     mail.excellent.co.id.

             IN     A       192.168.1.77

www         IN     A       174.xxx.xxx.xxx
mail IN A 192.168.1.77 ns1 IN A 192.168.1.1 ns2 IN A 192.168.1.2

Lihat bagian yang dicetak tebal, kita hanya perlu melakuan perubahan dibagian tersebut.

Restart DNS server dengan perintah:

service named restart

atau

/etc/init.d/named

atau

service bind9 restart

atau

/etc/init.d/bind9

Konfigurasi selesai, semoga bermanfaat dan selamat mencoba.

24 thoughts on “Tips Zimbra Mail Server : Mengenal Split DNS

  1. Kalau buat email di dua lokasi dgn domain yg sama gimana cara setting split domainya?

    terimaksih

  2. Dua mailserver ini untuk memecah jumlah akun ya?
    Klo iya bisa dengan hanya mengatur satu split dns untuk salah satu mailserver (zimbra), kemudian di mailserver tersebut diatur untuk memforward email ke server kedua jika alamat email yg dituju tidak ada di server tersebut.

  3. nice tuts mas vavai..
    sekedar ikut share kalau pengguna router mikrotik cukup mudah mas vavai
    hanya menambahkan pada static dns yang sudah ada di mikrotik di arahkan ke ip lokal mail server.
    dan pada dhcp server di buat dns ke ip mikrotik.
    untuk menghindari user yang set dns static.. di buat tranparent dns dimana port 53 udp di redirect ke port 53 mikrotik.

  4. ga jalan mas vavai split dns nya yg terbaca selalu view internal, karena query dari luar ke ip public di nat oleh mikrotik ke ip lokal jadi dns menganggap si mikrotik lah yg query. kalo menggunakan statik dns di mikrotik sih sudah pasti bisa tapi saya tidak mau menggunaknnya makanya saya ingin menggunakan split dns, kira2 gimana yah solusinya

  5. Mas @anton, memang seperti itu mas, karena ip yang digunakan mikrotik untuk menghubungi dns server kan ip lokal, jadi akan masuk klasifikasi internal.

    Kalau pakai mikrotik lebih mudah menggunakan dns static bawaan mikrotik aja mas seperti yang diinfokan oleh mas masjito. Jadi lebih mudah dalam manage nya.

    Kira-kira kenapa tidak mau menggunakan dns static milik mikrotik mas?

  6. Untuk memaksanya berjalan, bisa dengan menambah satu hop lagi diantara modem dan mikrotik mas. Tapi nanti jadinya mikrotik cuma sebagai gateway bayangan aja mas. Topologinya jadi

    Modem —- gateway & dns server —- mikrotik —- client.

    Tapi malah jadi ga’ efektif.

  7. mas @welly karena saya ada aplikasi2 saya yang harus menggunakan dns sedangkan di mikrotik haya bisa A record saja, dan saya ga mau memasukan 2 dns misalnya di dns di tambah di mikrotik ditambah juga kalo topologi DMZ seperti mas sebutkan diatas rada rentan terhadap serangan kayanya yah. kalo memang benar2 tidak bisa mau tidak mau saya menggunakan dns server tsb hanya untuk internal saja, untuk external saya menggunakan dns yg ada di hosting, cuma repotnya saya harus minta dibuatkan PTR ke isp

  8. Dengan topologi Modem —- gateway & dns server —- mikrotik —- client bisa tidak dua kali memasukkan dns mas, cukup di dns server (yg bukan mikrotik), lalu di mikrotik di set primary dns ke dns server yang bukan mikrotik. Jadi, permintaan dari lokal akan dikelola oleh mikrotik, tetapi dari eksternal dikelola oleh dns server satunya.
    Masalah rentan atau tidak, sebenarnya sama saja mas. Malah jadi ada 2 gateway yang harus dilewati kalau ada orang yang mau iseng. Karena Dari eksternal –> gateway / dns server –> mikrotik –> client. Begitu sebaliknya.

  9. Mas Vavai, saya sudah membuat email server di kantor saya menggunakan tutorial dari mas vavai…

    saat ini sudah jalan email server-nya namun ada beberapa user yang tidak dapat mengakses pop3/smtp ..User tersebut adalah user yang tidak memiliki hak akses internet.

    apakah dengan split dns ini user2 tersebut akan dapat melakukan akses pop3 dan smtp meskipun tdk ada akses inet ?

    skema jaringan di saya luar(internet) –> router –> client

    di router di setting NAT oleh konsultan kami.

    regards ,

  10. mas @yuro, servernya ada dimana? di luar apa di dalam? kalo di dalam (local) harusnya sih bisa karena yg bertugas mengirim email ke luar kan servernya.
    server
    |
    internet —router—-client

    atau
    server
    |
    internet–router—switch
    |
    client

  11. maap skema saya salah tuh, harusnya yg pertama server diatas router ( client & server beda network)

    yg kedua server& client setara switch/ 1 network

  12. maaf salah ketik saya, nama sya yuri 😀

    server-ny ada di internal saya mas, tpi menggunakan IP Public, sedangkan user2 saya disini menggunakan ip lokal yaitu 192.168.2.0 – 192.168.2.10 ( Direksi ) dan user departmen 10.0.0.0/8

    kalau saya mau pasang DNS Split dimana saya buat file zone-nya ?… kalau melalui webmin artinya saya bikin master zone lgi y ? atau hanya copy paste saja dari terminal dan di tambahkan eks dan int pada akhr nama file zone.

    server —> router —> internet

    untuk user juga user —> router —> internet

  13. servernya menggunakan static ip public apa di NAT oleh router?
    kalo di nat berarti si server punya ip private.

    kalo split DNS berarti ada 2 zone, zone internal & external bikin aja pake webmin biar gampang.

    clientnya DNS nya mengarah kemana? dns server atau ke router?

    kalau saya sih pernah pakenya servernya dapet ip public dari hasil NAT di router, jadi client yg ga bisa akses internet tinggal di blok aja di routernya jadi tetep bisa mail walaupun server & client beda network. dan pertimbangan masalah security kalo server langsung dikasih ip public, kata temen saya yg kerja di ISP sih langsung kasih ip public di server sama aja bunuh diri 😀

  14. Mas Vavai terima kasih tutorialnya, dan terima kasih juga mas anton , pertanyaan saya mirip dengan pertanyaan mas Yuri, server zimbra saya dibelakang router mikrotik (di NAT) apakah split DNS ini diharuskan jika hal sepertinya ( maaf hanya memerjelas). btw confif DNS splitnya apa di server zimbra tersebut, dikarenakan kantor saya DNS local yang diforward ke DNS ISP, dan alternate DNS menggunakan DNS ip private mikrotik. mohon pencerahannya

  15. mas aan, menurut pengalaman saya tidak perlu di split2 karena dns servernya ada di belakang router kan? jadi request akan selalu dibaca oleh dns dari ip router.

  16. Mas Anton, terima kasih info dan masukannya, sudah saya coba zimbra di belakang mikrotik ( dst-nat ) dan tanpa split DNS, dan berhasil… trimakasih maul lanjut lagi .. salam aan ( newest be )

  17. Mas Vavai saya ada sub domain di luar (ip publik) saya hanya nambahkan di zona eksternal saja, tetapi kenapa ya dari intranet (LAN) ngak bisa akses ke subdomain tersebut tetapi kalau dari internet bisa. mohon pencerahan.
    hatur nuhun

  18. @Masim Vavai Sugianto.
    maksudnya di records internal harus ditambahkan ip publiknya ? bukannya sudah dihandle oleh records eksternal ?

  19. @ indrarachma

    Iya mas harus dimasukkan juga di internal.
    Jadi inti dari split dns adalah permintaan intranet sepenuhnya dikelola di internal dan terpisah dari luar.
    Untuk request yang berasal dari internet dikelola (dijawab) oleh records dns external.
    Karena asal request dari zona internal, maka yg jawab dns record yg ada di internal. Karena subdomain yang mas buat tidak dibuat di internal, maka akan dijawab tidak ada subdomain tsb.

    Semoga membantu.

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.