E N D
DNS Server WAHYU HERLAMBANG
Konsep & Cara Kerja DNS Suatuhost padajaringan Transmission Control Protocol/Internet Protocol (TCP/IP) harusmemilikialamat IP agar dapatdiakses. Alamat IP yang digunakansekarang(IP versi 4) dibentukdalam format angka long integer 32-bit yang dikelompokkanmenjadiempatkelompok (untuksetiapkelompoknyamasing-masingterdiridari 8 bit). Biladalamsuatujaringan TCP/IP memilikibanyaksekali host, makatidakmudahbagimanusiauntukmengingatalamat-alamat IP yang ada (tentusajabagikomputerhalinibukanmenjadimasalah). Karenaitulahalamat-alamat IP tersebutperludipetakanmenjadinama yang dapatdiingatmanusiasecaramudahdenganmenggunakanDNS. Misalnyaseperti IP Address 222.124.194.11 yang dipetakanmenjadiwww. unsri.ac.id sehinggalebihmudahdiingat.
Cont’d Dalamteknologi internet sekarangini, DNS pun merupakanjantung yang sangatberperanpenting. Setiap kali kitameggunakan internet dalamkegiatankitasehari-hari, makasetiap kali itu pula secaratidaklangsungkitamenggunakan DNS (Domain Name System). Pengunaan DNS didalam internet tersebutmeliputiaplikasi email (electronicmail), browsing, ssh/telnet, ftp, maupunaplikasi yang lain yang adakaitannyadengan internet. OlehkarenaituPengetahuandanpengertiantentang DNS merupakanhalpentingyang harusdimilikioleh operator maupunpengguna internet.
Domain Name System Beberapapengertianmengenai Domain name system adalahsebagaiberikut: • Merupakansistem database yang terdistribusi yang digunakanuntukpencariannamakomputerdijaringan yang menggunakan TCP/IP. DNS mempunyaikelebihanukuran database yang tidakterbatasdanjugamempunyaiperforma yang baik. • Merupakanaplikasipelayanandi internet untukmenterjemahkan domain name ke alamat IP dan juga sebaliknya. • Komputer yang terhubungdanmemilikitanggungjawabmemberikaninformasizonanama domain anda, merubahnama domain menjadialamat IP danjugamemilikitanggungjawabterhadapdistribusi email di mail server yang menyangkutdengannama domain. • Aplikasiyang membantumemetakan host name sebuahkomputerke IP address padaaplikasi yang terhubungke Internet seperti web browser atau e-mail.
Cont’d DNS dapatdianalogikansebagaipemakaianbukutelefondimanaorang yang inginkitahubungi, berdasarkannamauntukmenghubunginyadanmenekannomortelefonberdasarkannomordaribukutelefontersebut. Hal initerjadikarenakomputerbekerjaberdasarkanangka, danmanusialebihcenderungbekerjaberdasarkannama. Misalkandomain name yahoo.com mempunyaialamat IP 202.68.0.134, tentumengingatnamakomputerlebihmudahdibandingkandenganmengingatalamat IP. DidalamDNS, sebuah name server akanmemuatinformasimengenai host-host disuatudaerah/zone. Name server inidapatmengakses server-server lainnyauntukmengambil data-data host didaerahlainnya. Name server akanmenyediakaninformasibagiclient yang membutuhkan, yang disebut resolvers.
Fungsiutamadarisebuahsistem DNS adalah: • menerjemahkannama-nama host (hostnames) menjadinomor IP (IP address) ataupunsebaliknya, sehingganamatersebutmudahdiingatolehpengguna internet. • memberikansuatuinformasitentangsuatu host keseluruhjaringan internet.
DNS memilikikeunggulanseperti: • Mudah, DNS sangatmudahkarena user tidaklagidirepotkanuntukmengingatIP address sebuah komputer cukup host name (nama Komputer). • Konsisten, IP address sebuahkomputerbolehberubahtapi host name tidakberubah. Contoh:
Cont’d • www.unsri.ac.id mempunyai IP 222.124.194.11, kemudianterjadiperubahanmenjadi222.124.194.25, makadisisi client seolah-olahtidakpernahadakejadianbahwatelahterjadiperubahan IP. • Simple, user hanyamenggunakansatunama domain untukmencaribaikdi Internet maupundi Intranet.
Konsepdanhirarki DNS DNS adalahsuatubentuk database yang terdistribusi, dimanapengelolaansecaralokalterhadapsuatu data akansegeraditeruskankeseluruhjaringan (internet) denganmenggunakanskema client-server. Suatu program yang dinamakan name server, mengandungsemuasegmeninformasidari database danjugamerupakan resolver bagi client-client yang berhubunganataupunmenggunakannya. Strukturdari database DNS bisadiibaratkandengandenganstruktur file darisebuahsistemoperasi UNIX. Seluruh database digambarkansebagaisebuahstrukturterbalikdarisebuahpohon (tree) dimanapadapuncaknyadisebutdengan root node. Padasetiapnode dalam tree tersebutmempunyaiketerangan (label) misalnya, .org, .com, .edu, .net, .id dan lain-lainnya, yang relatifrerhadappuncaknya (parent).Inibisadiibaratkandengan relative pathname padasistem file UNIX,sepertidirektori bin, usr, var, etc dan lain sebagainya. Padapuncak root node dalamsebuahsistemDNS dinotasikandengan “.” atau “/” padasistem file UNIX.
Struktur Database DNS Struktur DNS Domain Name Space merupakanhirarkipengelompokan domain berdasarkannama. Domain ditentukanberdasarkankemampuan yang adadistrukturhirarki yang disebut level yang terdiridari : • Root-Level Domains : merupakan level paling atasdihirarki yang diekspresikanberdasarkanperiodedandilambangkanoleh “.”. • Top-Level Domains : berisi second-level domains dan hosts yaitu : • com : organisasikomersial, seperti IBM (ibm.com). • edu : institusipendidikan, seperti U.C. Berkeley (berkeley.edu). • org : organisasi non profit, Electronic Frontier Foundation (eff.org). • net : organisasi networking, NSFNET (nsf.net). • gov : organisasipemerintah non militer, NASA (nasa.gov). • mil : organisasipemerintahmiliter, ARMY (army.mil). • xx : kodenegara (id:Indonesia,au:Australia)
Cont’d • Second-Level Domains : berisi domain lain yang disebutsubdomain. Contoh, unsri.ac.id. Second-Level Domains unsri.ac.id bisamempunyai host www.unsri.ac.id • Third-Level Domains : berisi domain lain yang merupakansubdomaindari second level domain diatasnya. Contoh, ilkom.unsri.ac.id. Subdomain ilkom.unsri.ac.id jugamempunyaihost www.ilkom.unsri.ac.id. • Host Name : domain name yang digunakandengan host name akanmenciptakanfully qualified domain name (FQDN) untuksetiapkomputer. Contohnya, jikaterdapatwww. unsri.ac.id, www adalah hostname dan unsri.ac.id adalah domain name.
DNS Zone TerdapatduabentukPemetaan DNS Zone, yaitu: • Forward Lookup Zone: Melakukanpemetaandarinamamenuju IP address • Reverse Lookup Zone: Melakukanpemetaandari IP address menujunama Forward Lookup Zone Cara kerja DNS tersebutdengan Forward Lookup Zone dapatkitalihatpadacontohberikut: Misal kita browsing di warnet, dan akan menghubungi www. unsri.ac.id . • PC kitamengontak Server DNS lokal (biasanyaterletakpadajaringan ISP) untukmenanyakanIP Address www.unsri.ac.id. • Server DNS lokalakanmelihatkedalam cache-nya . • Jikadata ituterdapatdidalam cache server DNS server lokal, makaserver tersebutakanmemberikanalamat IP tersebutke Browser. Jikatidak, maka server tersebutmengontak server DNS diatasnya (biasanyadisebut Root DNS server “.”) untukmengetahuialamat IP dari name server yang mengelolaTop Level Domain .id.
Cont’d 4. Padaname server yang mengelola Top Level Domain .id, maka server akanbmenanyakanIP dari name server pengelola domain ac.id. 5. Kemudianserver akanmengontak name server pengelola domain ac.id, disiniserver akanmenanyakanalamat IP dari second level Domain unsri.ac.id. 6. Setelahmendapatkan IP dari name server pengelola second level Domain unsri.ac.id, Pada name server yang mengelola unsri.ac.id, maka DNS server kitaakan menanyakan alamat FQDN dari www.unsri.ac.id. 7. Setelah mendapatkan IP dari www.unsri.ac.id, maka server akan memberikan alamatIP tersebutke PC yang me-request tadi, danmembuat cache terhadapalamatyang telahdicari. Sehinggajikaadapermintaanlagiuntukmengakseswww.unsri.ac.id, maka DNS Server akan memberikan alamat yang telah disimpandidalam cache tanpaharusmenghubungi server diatasnya. Jadipermintaan terhadap server diatasnya hanya jika alamat yang akan diakses belumterdapatpada cache. 8. Setelah PC mendapatkanalamat IP dari www.unsri.ac.id barulah PC tadibisamengakseswww.unsri.ac.id
Reverse Domain Server Di dalam jaringan TCP/IP diperlukan juga pemetaan dari IP address ke hostname. Pemetaaninimerupakanpemetaanbalikdaripemetaan hostname ke IP address yang disebutreverse domain. Tujuannyauntukmenyimpaninformasiataupunstatistikyang disimpandalamsatu log file. Selainitujugadiperlukanuntuk security jaringan (authorization check). Jikamenggunakan host table (/etc/hosts) makapemetaanhostname ke IP address merupakan pemetaan satu ke satu. Resolver akan mencari hostname pada host tabelsecarasekuensial. Denganmenggunakan DNS prosespencarianIP address darisuatu hostname dapatdenganmudahdilakukan. Tapiprosespencarianhostname darisuatu host dengan IP address tertentumemerlukanprosespencarianyang cukup lama karenaharusdilacakkeseluruh domain name server. Solusi yang digunakan adalah dengan membuat suatu domain dengan menggunakan IP address sebagai domain. Padajaringan TCP/IP top level domain yang menggunakanIP address sebagai domain diberinamain-addr. arpa. Pemberiannama sub domain dibawahtop level domain inimengikutiaturansebagaiberikut:
Cont’d 1. Sub domain dibentukdenganmenuliskan sub domain dalam format representasi IP address dalambentuk dot-octet. 2. Pembentukan sub domain dibawah top level domain dimulaidarioktetpertamadariIP address (IP address terdiridari 32 bit=4 oktet) dan sub domain selanjutnyadibentukdarioktetketigadandemikianseterusnya. Contoh : Sebuahnetwork dengan IP address 222.124.194.XX (Network Klas C, XX = variable 0 s.d. 255) dikoordininasikanoleh DNS server ns1.unsri.ac.id. Agar DNS inidapatmerupakanserver untuk reverse domain pada IP address diatasmaka reverse domain yang harusdibuatadalah194.124.222.in-addr.arpa
Keterangan : • Network dengan IP address 222.124.194.XX biladirepresentasikandalambentuk dot-octet adalah 222.124.194. • Oktetpertamadari IP address network diatasadalah 222, oktetkedua 124, dan octet ketiga 194 maka sub domain dibawah top level domain in-addr.arpaadalah 222.in-addr.arpa. Subdomainberikutnyaadalahoktetkeduayaitu 124, makadibawah sub-domain 222.in-addr.arpa terdapatlagi sub domain 124.222.in-addr.arpa. Kemudiansubdomainberikutnyaadalah octet ketigayaitu 180, makadibawahsubdomain124.222.in-addr.arpa terdapatsubdomain 194.124.222.in-addr.arpa
Prosespencarian IP address denganmenggunakanproses reverse domain dapatdigambarkansepertidibawahini:
INSTALASI DAN KONFIGURASI Sebelummulaimencobamempraktikan DNS Server sebaiknyacekterlebihdahuluapakahcomputer andasudahterdapat program BIND. Inimerupakanpaketutamauntukmenjadikancomputer andasebuah DNS Server. PadadistroKinuxRedhat, andabisamelakukanpengecekanapakahpaket BIND sudahterinstalasidenganmengetikanperintahberikut: # rpm –qa |grep bind Apabilahasinyamunculseridari BIND artinya program bind sudahterinstal. Apabila hasilnya kosong maka belum terinstall KonfigurasiDNS Adabeberapa file yang haruskitakonfigurasikan, yaitu : · /etc/named.conf · /var/named/chroot/var/named (buatsendiri) · /etc/resolv.conf · /etc/hosts
1. Konfigurasi /etc/hosts File iniberisipengalamata name-to-ip yang biasadigunakanjugauntukresolusiipto-name. denganmemiliki file ini, mesinlinuxdapatmenggunakannama yang lebihmuda diingat untuk memanggil atau mengakses mesin lain dalam jaringan, dari pada harusmenggunakannomor IP. Denganmenggunakanfasilitas terminal ketikanperintahdibawahini : # cd/etc # vi hosts #vi /etc/hosts lalu ketikan sintak dibawah ini
Cont’d # Do not remove the following line, or various programs # that require network functionality will fail. 192.168.0.1 ns1.unsri.ac.id ns1 127.0.0.1 localhost.localdomainlocalhost ::1 localhost6.localdomain6 localhost6 Simpan file tersebutdengantekantombol ESC lalu Shift +: ketikanwqtekanenter
2. Konfigurasi /etc/resolv.confatau DNS Client DNS client bertugasuntukmenentukan DNS server yang digunakanuntukmeresolusialamat internet yang perludihubungioleh program dalammesinclient. Dalamsystem linux DNS client. Mengaktifkanfile resolv.conf (perhatikanapakahposisi directory andaberadadi directory etc) #cd /etc # vi resolv.conf lalu ketikan file dibawah ini; generated by /sbin/dhclient-script search unsri.ac.id nameserver192.168.0.1 nameserver127.0.0.1 Simpanfile tersebutdengantekantombol ESC lalu Shift +: ketikanwqtekan enter
3. Konfigurasi /etc/named.confatau Name Server DNS membaca data-data resolusi pada sekumpulan file konfigurasi yang terdapat padacomputer local. File-file tersebutantara lain • File/var/named/named.local Named.localmerupakan file untuk loopback untukalamatkedirisendiriyang bernomorIP 127.0.0.1 • File/var/named/named.ca Berisiinformasi yang beradadalam domain root, digunakanuntuk name server jikaada resolver yang memintanama domain diluar domain local. Pertama kita mengedit file mengedit file /etc/named.conf untuk menambahkan baris berikut:
Cont’d # cd /etc/ # vi named.conf laluketikan file dibawahinidisembarangtempatdidalamnamed.conf zone "unsri.ac.id" IN { type master; file "/var/named/unsri.ac.id.host"; }; zone ”0.168.192.in-addr.arpa” IN { type master; file ”/var/named/192.168.0.rev”; };
Cont’d Simpanfile tersebutdengan shift + : lalutekantombolwqdanenter Yang berartibahwakitamembuatzona domain unsri.ac.id dimanakitaadalahpenguasadomain tersebut (type master) daninformasitentanganggotadomainnyaitusendiridisimpandi file unsri.ac.id.hostdidirektori yang ditentukanolehkeyword direktorydariblok options yang berisi /var/named (jikaandatidakmauterhubungdenganinternet makaharusditambahdengan notify no)
4. Konfigurasi /var/named/chroot/var/named File zone merupakan file yang berisiinformasi yang berkaitandengansuatu domain. Padafile zone terdapatinformasiuntuksuatu domain sepertialamat IP, namaalias darisuatu host atau domain dannama server DNS yang bertanggungjawabterhadapdomain tersebut. File Forward Lookup Zone Pertamakitamengedit file mengedit file /var/named/chroot/var/named untukmembuatfile zone: # cd /var/named/chroot/var/named # vi unsri.ac.id.host Lalu ketikan file dibawah ini
Cont’d $ttl 38400 unsri.ac.id. IN SOA ns1.unsri.ac.id. admin.unsri.ac.id. ( 1225384180 10800 3600 604800 38400 ) unsri.ac.id. IN NS ns1.unsri.ac.id. ns1.unsri.ac.id. IN A 192.168.0.1 www.unsri.ac.id. IN A 192.168.0.1
File Reverse Lookup Zone Zone Reverse diperlukanuntukmengubahdarialamat IP menjadinama. Namainidigunakanolehberbagaimacam server (FTP, Mail, WWW dsb) untukmenentukanapakahandadiperbolehkanmengakseslayanantersebutatausejauhmanaprioritasyang diberikan kepada anda. Untuk mendapatkan akses yang penuh pada semua layanan di Internet diperlukan zona reverse Tambahkanfile reverse di /etc/named/chroot/var/named # cd /var/named/chroot/var/named # vi 192.168.0.rev Lalu ketikan file dibawah ini
Cont’d $ttl 38400 0.168.192.in-addr.arpa. IN SOA ns1.unsri.ac.id. root.unsri.ac.id. ( 1212503093 10800 3600 604800 38400 ) 0.168.192.in-addr.arpa. IN NS ns1.unsri.ac.id. 1.0.168.192.in-addr.arpa . IN PTR ns1.unsri.ac.id. Lalusimpan file tersebut
5. Setting IP Padaaplikasiinikitaasumsikanbahwa IP yang digunakanadalah192.168.0.1(IP Local /eth0) • Bukafile ifcfg-eth0 denganperintahsbb • cd/etc/sysconfig/network-scripts/¿ • vi ifcfg-eth0 ¿ • Lalu edit file tersebut • DEVICE= eth0 • TYPE= Ethernet • ONBOOT=yes • BOOTPROTO= none • IPADDR= 192.168.0.1 • NETMASK= 255.255.255.0 • USERCTL=no • PEERDNS= yes • IPV6INIT=no • Simpanfile yang telahdi edit dengan SHIFT + : wq
6. Menjalankan DNS a. Aktifkan eth0 dengancarasbb # service network restart b. Jalankan service “named” dengancarasbb #service named restart c. Lalugunakanperintah “dig”, perintahinidigunakanuntukmendapatkansection dariauthority, commandnya : sbb dig www.unsri.ac.id (bilatidaktampilsesuaidengangambardiatascobaperiksalagi file di named) d. Kemudiangunakanperintah “nslookup”, digunakanuntukmelihat “resolv” dan “reverse” - nslookup >www.ilkom.unsri.ac.id >192.168.0.1 Keluardarinslookupgunakanperintah ctrl + c Apabilahasil yang andadapatsesuaidenganseperti yang diatasartinyaandasudahberhasilbuatsebuah DNS SERVER Test DNS dengan ping www.unsri.ac.id