Sedikit berbagi tentang ubuntu linux, walaupun saya sendiri masih bodoh.
Mengarahkan Domain registrar kita ke dns server ubuntu memang dibilang agak gampang - gampang susah, langsung aja disimak ya.
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 recorddengan domain-main-main Anda tidak ada dalam jaringan atau Internet. Contoh penambahan baris notify no:
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 recorddengan domain-main-main Anda tidak ada dalam jaringan atau Internet. Contoh penambahan baris notify no:
Konfigurasizone "domain-belum-daftar.org" { type master; notify no; file "db.domain-belum-daftar.org"; };
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:
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.
Entri pada berkas database dikenal dengan DNS resource record. Beberapa resource record yang ada pada berkas database domain, sebagai berikut:Komentar pada berkas konfigurasi akan diabaikan oleh name-server. Untuk memulai sebuah komentar bisa digunakan sebuah semikolon jika anda menggunakan BIND versi 4.Komentar
- SOA
- NS record
- Record lain
Pada BIND 8 dan versi selanjutnya, kita dapat menggunakan 3 gaya komentar, yaitu C, C++, atau shell.
/* Komentar Gaya C */ // Komentar Gaya C++ # Komentar Gaya Shell
Berkas konfigurasi DNS mudah untuk dibaca karena terdapat komentar yang memberikan petunjuk untuk pengeditan kembali di lain waktu.
Pada berkas database-cache name-server root, loopback/localhost, zone, reverse-mapping digunakan semikolon (;) untuk memberikan komentar di dalamnya.
SOA
mengindikasikan otoritas name-server pada zone data atau informasi nama host/domain pada zone yang bersangkutan (my-server.com).@
menunjukkan bahwa zone yang bersangkutan adalah zone domain yang ditunjukkan berkas named.conf ke berkas database-cache tersebut atau origin zone yaitu my-server.com. Karakter@
dapat kita gantikan dengan my-server.com tapi umumnya berkas database menggunakan notasi@
.IN
singkatan dari Internet. Semua informasi Internet digunakan IN dan untuk informasi non-Internet digunakan kode lain.- Nama setelah
SOA
adalah primary-master name-server yang bertanggung jawab terhadap domain my-server.com. - Selanjutnya adalah email dari administrator DNS yaitu root@ns1.my-server.com, pada berkas database ditulis dengan
root.ns1.my-server.com
. Jika anda menggunakan email hostmaster@ns1.my-server.com maka pada berkas database ditulishostmaster.ns1.my-server.com
.
Ketika kita mendapatkan masalah dengan host/sub-domain di bawah domain my-server.com kita bisa mengirimkan pesan ke e-mail ini. TTL
pada awal database-cache merupakan Time To Live, yaitu waktu yang diperlukan server DNS untuk menyimpan hasil resolving ke cache-nya.
2002081219 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum
Serial
adalah nomor seri database-cache domain my-server.com. Jika ada perubahan data pada berkas zone my-server.com misal: menambahkan domain iwan.my-server.com, maka anda harus merubah/menambah nomor serinya. Sebaiknya digunakan format tahun-bulan-tanggal-jam untuk nomor serialnya. Pada berkas database untuk zone domain my-server.com tersebut terakhir di-update tanggal 12 Agustus 2002 jam 19. Fungsi dari serial ini adalah untuk memberitahukan kepada secondary-master name-server untuk meng-update database-cache-nya jika ada perubahan pada primary-master name-server yaitu dengan melakukan pengecekan nomor serial. Jika nomor serial berubah/bertambah maka secondary-master name-server akan segera melakukan zone-transfer dari primary-master name-server.Refresh
adalah selang waktu yang diperlukan (dalam detik) secondary-master name-server untuk melakukan pengecekan perubahan database-cache pada primary-master name-server.Retry
adalah waktu (dalam detik) yang digunakan secondary-master name-server untuk menunggu pengulangan cek berkas zone jika pada saat proses refresh primary-master name-server tidak memberikan respon.Expire
adalah waktu (dalam detik) yang digunakan secondary-master name-server untuk mempertahankan berkas zone jika tidak dapat melakukan zone-refresh. Jika setelah waktu expire telah habis tapi secondary-mastername-server tidak dapat melakukan zone-refresh maka berkas zone pada secondary-master name-server akan dihapus.Minimum
adalah nilai waktu (TTL
) default untuk semua resource-record yang ada dalam berkas zone.
MX record
Baris MX (Mail Exchanger) adalah record routing email untuk domain my-server.com dalam hal ini akan diarahkan ke mx.my-server.com. Host yang ditunjuk sebagai mail exchanger akan memproses atau meneruskan mail untuk domain my-server.com.Baris di atas menunjukkan bahwa mx.my-server.com sebagai mail exchanger untuk mail domain my-server.com yang umumnya sebagai server mail.IN MX 10 mx.my-server.com.
Angka 10 adalah angka nilai preferensi (preference value) untuk menunjukkan tingkat prioritas mail exchanger yang digunakan untuk memproses atau meneruskan mail yang menuju domain my-server.com.
Proses routing mailUntuk lebih jelas kita gunakan mail exchanger lebih dari satu, misal:
Ketika ada mail untuk domain my-server.com maka mail tersebut akan dikirimkan terlebih dahulu ke mx1.my-server.com untuk diproses, jika gagal maka mail akan diarahkan ke mx2.my-server.com sesuai dengan nilai preferensi.IN MX 10 mx1.my-server.com. IN MX 20 mx2.my-server.com.
Record Lain
A (address) yaitu pemetaan nama ke alamat IP.
PTR (pointer) yaitu pemetaan alamat IP ke nama.
CNAME yaitu canonical name fungsinya untuk alias, jadi suatu host dapat mempunyai nama lebih dari satu.
Pada berkas database tersebut terdapat domain dan subdomain: ns1.my-server.com, mx.my-server.com, www.my-server.com, my-server.com, squirtle.my-server.com.
My-server.com dan squirtle.my-server.com adalah alias dari ns1.my-server.com.
Setelah semua berkas di atas sudah anda konfigurasi maka selanjutnya kita restart named dengan mengetikkan:
atau# /etc/init.d/named restart
# /usr/sbin/rndc reloadCek log sistem
Setelah itu lihatlah berkas catatan/log sistem anda apakah named berjalan dengan sukses, dengan mengetikkan:
Itu berarti named anda sudah berjalan dan mendengarkan pada port 53.# tail -f /var/log/messages Aug 27 20:59:37 ns1 named[871]: shutting down Aug 27 20:59:37 ns1 named[871]: stopping command channel on 127.0.0.1#953 Aug 27 20:59:37 ns1 named[871]: no longer listening on 127.0.0.1#53 Aug 27 20:59:37 ns1 named[868]: exiting Aug 27 20:59:38 ns1 named: named shutdown succeeded Aug 27 20:59:38 ns1 named[22965]: starting BIND 9.2.1 -u named Aug 27 20:59:38 ns1 named[22965]: using 1 CPU Aug 27 20:59:38 ns1 named[22968]: loading configuration from '/etc/named.conf' Aug 27 20:59:38 ns1 named[22968]: no IPv6 interfaces found Aug 27 20:59:38 ns1 named[22968]: listening on IPv4 interface lo, 127.0.0.1#53 Aug 27 20:59:38 ns1 named[22968]: listening on IPv4 interface eth0, 202.234.5.67#53 Aug 27 20:59:38 ns1 named[22968]: listening on IPv4 interface eth1, 192.168.3.1#53 Aug 27 20:59:38 ns1 named[22968]: command channel listening on 127.0.0.1#953 Aug 27 20:59:38 ns1 named[22968]: zone 0.0.127.in-addr.arpa/IN: loaded serial 2002081219 Aug 27 20:59:38 ns1 named[22968]: zone 5.234.202.in-addr.arpa/IN: loaded serial 2002081219 Aug 27 20:59:38 ns1 named[22968]: zone my-server.com/IN: loaded serial 2002081219 Aug 27 20:59:38 ns1 named: named startup succeeded Aug 27 20:59:38 ns1 named[22968]: running
Siapkah name-server kita?
Sudah siapkah name-server kita? mari kita lihat. Ketikkan:
Name-server yang baru saja anda buat sudah siap menerima permintaan resolving nama domain yang akan menunjukkan host yang ada dalam jaringan anda.# dig -x ns1.my-server.com ; <<>> DiG 9.2.1 <<>> -x ns1.my-server.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6716 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;ns1.my-server.com. IN A ;; ANSWER SECTION: ns1.my-server.com. 86400 IN A 202.234.5.67 ;; AUTHORITY SECTION: my-server.com. 86400 IN NS ns1.my-server.com. ;; ADDITIONAL SECTION: ns1.my-server.com. 86400 IN A 202.234.5.67 ;; Query time: 46 msec ;; SERVER: 202.234.5.67#53(202.234.5.67) ;; WHEN: Mon Aug 27 20:58:36 2002 ;; MSG SIZE rcvd: 92
Selesai sudah bahasan pembuatan server DNS BIND dengan domain. Artikel selanjutnya akan membahas mengenai keamanan server DNS (BIND).
Hufffftt sungguh pekerjaan yang berat, resiko jadi seorang IT. thanks for watching!!!
0 komentar:
Posting Komentar
Blog ini hanya sebagai jurnal keseharian penulis. Tinggalkan komentar positif anda, saling menghargai satu sama lain.