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 DNS
resolving-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 baris zone 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";
};
Baris zone "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 dengan options pada baris directory.Baris zone "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 restart
named dengan mengetikkan:
# /etc/init.d/named restart
atau
# /usr/sbin/rndc reload