Anda di halaman 1dari 7

Belajar Memahami Fungsi DNS Split [Ubuntu

12.04]
Oke pada sesi kali ini kita akan membahas tentang penggunaan / implementasi SPLIT
DNS yang biasanya digunakan oleh sebuah perusahaan untuk me-manage (baca :
menej) sebuah domain (portal/web/mail) nya, biasanya dengan pertimbangan
penghematan resource BW (benwit). Jadi intinya begini sob, kegunaan Split DNS yang
sering di pakek
Contohnya : Misalkan di sebuah Perusahaan ada Server Web dan Email yang sifatnya
memang harus dipublikasi di internet jadi orang lain bisa liat profil perusahaan, visi dan
misi, etc lah, begitupun dengan email (webmail) agar dimanapun lokasi karyawan yang
dinas luar tetap bisa mengakses email perusahaan. Naah, untuk mengakses kedua Server
tersebut (web & mail) dari internet ARTINYA user mengakses IP Public dari masingmasing server tersebut kan..? okelah kalo yang mengakses itu pihak luar perusahaan
atau karyawan yang sedang dinas luar, TAPI bagaimana dengan user (karyawan) yang
ada dalam ruang lingkup perusahaan (Intern)..? sama kah jalur akses nya dengan user
ekstern (luar) yang melalui internet..? sedangkan tidak semua user di Intern Perusahaan
di izinkan akses Internet.
Naah disinilah peran SPLIT DNS yang akan kita mainkan, jadi split dns akan
membedakan darimana sumber REQUEST berasal (permintaan ke web & mail) dari
Lokal (Intern) atau Luar (Ekstern/Internet). Contoh : misalkan saya memiliki mail
server dengan gambaran :
Domain = zmail.riz-al-atsary.info
IP Public = 103.247.8.16
IP Lokal = 17.4.19.87
Jadi kalo orang lain di luar perusahaan yang mengakses domain mail saya tersebut
MAKA akan mendapatkan IP Public atau bisa dikatakan lewat jalur IP Public (internet)
TAPI kalo temen-temen sekantor saya atau temen lain yang beda departemen/divisi
(masih intern perusahaan) maka akan dapat akses melalui IP Lokal saja dan pastinya
aksesnya lebih cepat ketimbang jalur Public. Gimana udah kebayang kan kira-kira
fungsi dari Split DNS ini..?? Sekarang riz mau Flesbek pengalaman dulu, pada masamasa kuliah dulu awal-awal oprek2 DeEnEs sempat mengalami trouble mpei galau
seminggu.
begini kasusnya : rencananya mau bikin web server + mail dengan bermodalkan 1 IP
Public Statik dan sebuah Domain yang udah di sewa, tapi tanpa Proxy. Kira-kira
beginlah infrastrukturnya waktu itu :

Masalahnya gini waktu itu, nameserver (ns) saya udah saya masukan ke domain dan
Port Forwarding juga udah, tapi DNS tuk domain di server masih menggunakan IP
Lokal/Private TAPI Ethernet tetap pakek IP Private, dan terang saja domain web dan
mail tidak bisa diakses dari internet coz emg ip lokal kan gak ke detek di internet, oke
jadi IP DNS nya diganti pakek ip public,, Ethernet tetap IP Private (coz mau di port
forwading) dan domainpun bisa di akses dari internet, tapi masalahnya saat client/user
yang berasal dari lokal mengakses domain web dan mail maka sama seperti user dari
internet jadi user lokal juga akses dari ip publik, dan kasus kayak gini sebenernya
kurang efesien dan tentu boros benwit, jadi dulu berfikir gimana biar user lokal itu saat
request maka server DNS memberikan akses IP Private bukan Public. Naah ternyata
jawabannya pakek SPLIT DNS ini. oke sekarang kita akan belajar memahami
bagaimana membuat nya.
Tahap awal instalasi DNS menggunakan bind9 (untuk ubuntu/debian)
# apt-get install bind9
keluarga redhat [centos, fedora,dll]
# yum -y install bind9
Split DNS ini intinya adalah membedakan 2 Jalur request seperti yg udah saya jelaskan
diatas tadi.. bayangkan saja 2 jalur jalan di seperti di kota kota gitu dah.. tapi ini
namanya Jalur Dalam dan Jalur Luar, Jalur dalam : untuk User yang mendapatkan IP
Private, Jalur luar : untuk User yang mendapkan IP Public (Intenet).
oke contoh kasus kita adalah :
Domain = zmail.riz-al-atsary.info
IP Public = 103.247.8.16
IP Lokal = 17.4.19.87
Gateway = 17.4.19.88
Kita asumsikan bahwa infrastruktur yang kita gunakan ada firewall/proxy nya ya.. jadi
semua layanan berada dibelakang firewall jadi tentunya kita akan kombinasi split dns
dengan port forwarding [dalam hal ini pakek IPTables] tapi kita tidak akan membahas
gimana proses or teknik di IPtablesnya,, ini cuma gambaran aja bahwa infrastrukturnya
seperti itu,, okee..?? kira-kira beginilah kalo digambarkan..

Proses pembuatan split dns ini sebenernya hanya memiliki 2 point langkah :
1. Pengelompokan jaringan berdasarkan jalur akses [akses_dalam or akses_luar] di
named.conf
2. Membuat File Zona untuk akses_dalam dan akses_luar
Oke langsung ja kita menuju konfigurasinya.. saya asumsikan rekan-rekan newB
sekalian udah agak paham ya tentang DNS [1x lagi baca artikel yang pernah riz buat].
Langkah pertama kita akan mengelompokan networknnya dulu [akses_dalam or
akses_luar] dengan menggunakan parameter VIEW di bind, file konfigurasinya di
named.conf, lokasinya file named.conf ini berbeda2 tiap OS Linux ya.. Kasus ini saya
pakek Ubuntu [12.04] : /etc/bind/named.conf , tapi bisa juga konfigurasinya di
named.conf.local , karena biasanya di named.conf sudah disediakan script include ke
named.conf.local kalo di Centos lokasinya : /var/named/chroot/etc/named.conf ,
akan ada 2 view :
1. view akses_dalam = network intern perusahaan ( dalam hal ini 17.4.19.0/8 dan
localhost )
2. view akses_luar = dari Internet.
Sekarang kita menuju ke file named.conf.local kita ubah menjadi seperti ini.
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
view "akses_dalam" {
match-clients {
17.4.19.0/24;
127.0.0.0/8;
};
zone "." {
type hint;

file "/etc/bind/db.root";
};
zone "riz-al-atsary.info" {
type master ;
file "/etc/bind/akses_dalam" ;
};
zone "19.4.17.in-addr.arpa" {
type master ;
file "/etc/bind/reverse_akses_dalam";
};
};
view "akses_luar" {
match-clients {
0.0.0.0/0;
};
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "riz-al-atsary.info" {
type master ;
file "/etc/bind/akses_luar";
};
zone "8.247.103.in-addr.arpa" {
type master ;
file "/etc/bind/reverse_akses_luar";
};
};
note : *view untuk internal harus di dahulukan ya (paling atas) baru kemudian view
untuk akses_luar
Langkah selanjutnya adalah membuat file zona nya, ada 4 file zona (semua file ada di
path /etc/bind ) :
1.
Akses_Da
lam
2.
Reverse
Akses
Dalam
3.
Akses
Luar
4.
Reverse
Akses
Luar

File Zona Akses Dalam


Biar gak repot, buat file baru aja (akses_dalam) dengan perintah :
# vi /etc/bind/akses_dalam
(nama file nya harus sama dengan yang udah di definisikan di view (named.conf.local
tadi > Lihat bagian File setelah Type) terus isinya buat seperti dibawah ini :
vi /etc/bind/akses_dalam
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.riz-al-atsary.info. root.localhost. (
2013032512 ; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.riz-al-atsary.info.
@ IN A 17.4.19.88
@ IN MX 5 zmail.riz-al-atsary.info.
ns1 IN A 17.4.19.88
zmail IN A 17.4.19.87
www IN A 17.4.19.89
File Zona Reverse Akses Dalam
buat lagi file baru dengan nama reverse_akses_dalam, dengan perintah
# vi /etc/bind/reverse_akses_dalam
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.riz-al-atsary.info. root.localhost. (
2013032512
; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 ) ; Negative Cache TTL
;

@ IN NS ns1.
88 IN PTR ns1.riz-al-atsary.info.
87 IN PTR zmail.riz-al-atsary.info.
89
IN
PTR www.riz-al-atsary.info.
File Zona Akses Luar
Untuk Zona akses_luar, isi filenya sama seperti akses_dalam, GANTI aja IP nya
menjadi IP Public
# vi /etc/bind/akses_luar
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.riz-al-atsary.info. root.localhost. (
2013032512 ; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.riz-al-atsary.info.
@ IN A 103.247.8.16
@ IN MX 5 zmail.riz-al-atsary.info.
ns1 IN A 103.247.8.16
zmail IN A 103.247.8.16
www IN A 103.247.8.16
File Zona Reverse Akses Luar
# vi /etc/bind/reverse_akses_luar
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.riz-al-atsary.info. root.localhost. (
2013032512
; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.
16 IN PTR ns1.riz-al-atsary.info.
16 IN PTR zmail.riz-al-atsary.info.

16

IN

PTR

www.riz-al-atsary.info.

Setelah selesai kita restart ulang bind9 nya :


# /etc/init.d/bind9 restart