BIND dan DNS
Server DNS Domain
Pada artikel sebelumnya kita sudah mengenal mengenai konsep dan gambaran Domain Name System (DNS) dan Berkeley Internet Name Domain (BIND) sebagai salah satu implementasinya dan pembuatan server DNSresolving-caching tanpa domain.Sekarang penulis akan membahas mengenai pembuatan server DNS dengan domain yang nantinya terhubung ke Internet.
Dengan pembuatan server DNS ini, domain anda yang sudah didaftarkan pada InterNIC dapat diakses dari segala penjuru dunia (Internet).
Penulis akan membahas spesifik pada distro berbasis
rpm
yaitu Red Hat pada beberapa bagian dari artikel ini, walaupun konsepnya hampir sama untuk distro lain.Diharapkan anda sudah membaca artikel pertama dan kedua sebelum membaca artikel ketiga ini. Seperti halnya pada pembuatan resolving-caching name-server yang kita bahas sebelumnya, kita harus mempunyai paket
bind
, bind-utils
dan caching-nameserver
. Penulis asumsikan sistem Linux anda sudah terinstal BIND. Versi BIND penulis adalah 9.2.1.Nama Domain
Pertama kita harus mempunyai nama domain yang sudah didaftarkan ke InterNIC untuk Top Level Domain (TLD) atau IDNIC untuk TLD-ID (.id): net.id, co.id, or.id, web.id.Pendaftaran dapat secara langsung atau melalui ISP dan penyedia layanan pendaftaran dan pembelian nama domain.
Jika anda belum mau untuk mendaftarkan domain dan ingin membuat domain main-main, penulis ingatkan untuk menambahkan baris
notify no
pada zone
di berkas named.conf. Tujuannya adalah agar named
tidak memberikan pencarian dan pemberitahuan ke server yang terdaftar sebagai NS record pada berkas zone dan secondary-master/slave name-server (jika ada) untuk meng-update database cache name-server domain anda itu. Karena record dengan domain-main-main Anda tidak ada dalam jaringan atau Internet. Contoh penambahan baris notify no
:zone "domain-belum-daftar.org" { type master; notify no; file "db.domain-belum-daftar.org"; };
Konfigurasi
Untuk mudahnya penulis buat skenario pembuatan server DNS dengan domain sebagai berikut:Nama domain yang sudah kita daftarkan adalah my-server.com.
Alamat IP publik yang diberikan oleh ISP kita adalah 202.234.5.67 s.d 202.234.5.72. Pada server DNS akan digunakan IP 202.234.5.67.
Domain dan IP di atas adalah 'fiktif' jadi dalam named.conf perlu ditambahkan baris
notify no
pada bagian zone
. Untuk Anda yang mempunyai domain dan alamat IP resmi tinggal mengganti domain my-server.com dan IP-nya.Seperti biasa kita harus mengkonfigurasi berkas-berkas:
- named.conf
Tambahkan bariszone
untuk domain anda pada berkas ini (my-server.com).
// generated by named-bootconf.pl options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. query-source address * port 53; */ }; zone "." IN { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; }; zone "my-server.com" IN { type master; notify no; file "db.my-server.com"; }; zone "5.234.202.in-addr.arpa" IN { type master; notify no; file "db.202.234.5"; }; key "key" { algorithm hmac-md5; secret "jggRewTTCgdTOUvWPd0cqPoRiQfKvoYYJnhpVqWcWpfrgSRedgKlpyjbmlsd"; };
Bariszone "my-server.com"
adalah menunjukkan zone yang otoritatif untuk nama domain my-server.com dan diikuti dengan dengan tipe name-server yaitu master karena kita akan membuat primary-master name-server. Selanjutnya diikuti nama berkas database zone yaitu db.my-server.com, letaknya berada di direktori /var/named/ sesuai denganoptions
pada barisdirectory
.Bariszone "5.234.202.in-addr.arpa"
adalah menunjukkan zone reverse-mapping. Pemetaan alamat IP ke nama domain di bawah my-server.com.
- named.ca
Berkas ini berisi daftar name-server root di Internet. Isinya identik dengan named.ca pada konfigurasi BIND untuk resolving-caching juga cara meng-update-nya.
; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache .
" ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC registration services ; under anonymous FTP as ; file /domain/named.root ; on server FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ; under menu InterNIC Registration Services (NSI) ; submenu InterNIC Registration Archives ; file named.root ; ; last update: Aug 22, 1997 ; related version of root zone: 1997082200 ; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; housed in LINX, operated by RIPE NCC ; . 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; ; temporarily housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; ; housed in Japan, operated by WIDE ; . 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File - named.local
Berkas ini berisi database untuk localhost fungsinya untuk alamat loopback.
$TTL 86400 @ IN SOA ns1.my-server.com. root.ns1.my-server.com. ( 2002081219 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.my-server.com. 1 IN PTR localhost.
- resolve.conf
Berisi domain pertama yang akan dicari dan name-server yang akan dituju untuk permintaan resolving nama domain.
search ns1.my-server.com my-server.com nameserver 127.0.0.1 nameserver 202.234.5.67
- Berkas zone
Berkas ini berisi database-cache untuk domain tertentu misal: my-server.com. Berkas ini merupakan berkas yang penting dari suatu domain karena di dalamnya terdapat data dan informasi yang penting untuk namahost/subdomain/domain dan alamat IP serta server mana yang otoritatif untuk domain tersebut.
$TTL 86400 @ IN SOA ns1.my-server.com. root.ns1.my-server.com. ( 2002081219 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum ; Name Servers @ IN NS ns1.my-server.com. ; MX records IN MX 10 mx.my-server.com. ns1 IN A 202.234.5.67 mx IN A 202.137.7.68 www IN A 202.137.7.69 my-server.com. IN CNAME ns1.my-server.com. squirtle IN CNAME ns1.my-server.com.
- Berkas reverse-mapping
Berkas ini berisi pemetaan alamat IP ke host/sub domain di bawah domain my-server.com.
$TTL 86400 @ IN SOA ns1.my-server.com. root.ns1.my-server.com. ( 2002081219 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.my-server.com. 67 IN PTR ns1.my-server.com. 68 IN PTR mx.my-server.com. 69 IN PTR www.my-server.com.
Restart named
Setelah semua berkas di atas sudah anda konfigurasi maka selanjutnya kita restartnamed
dengan mengetikkan:# /etc/init.d/named restart
atau
# /usr/sbin/rndc reload