Install BIND and Configure DNS Server on CentOS
Install BIND and Configure DNS Server on CentOS – DNS (Domain Name System)
adalah sebuah sistem yang menyimpan informasi tentang nama host ataupun
nama domain dalam bentuk distributed database di dalam jaringan
komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap
nama host dan mendata setiap mail exchange server yang menerima surel
(email) untuk setiap domain. Menurut browser Google Chrome, DNS adalah
layanan jaringan yang menerjemahkan nama situs web menjadi alamat
internet.
DNS menyediakan pelayanan yang cukup
penting untuk Internet, ketika perangkat keras komputer dan jaringan
bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan
dan penjaluran (routing), manusia pada umumnya lebih memilih untuk
menggunakan nama host dan nama domain, contohnya adalah penunjukan
sumber universal (URL) dan alamat surel. Analogi yang umum digunakan
untuk menjelaskan fungsinya adalah DNS bisa dianggap seperti buku
telepon internet dimana saat pengguna mengetikkan www.aquacybernotes.com
di peramban web maka pengguna akan diarahkan ke alamat IP 124.81.92.144
(IPv4) dan 2001:e00:d:10:3:140::83 (IPv6) sumber: wikia. Untuk
pembahasan artikel kali ini kita akan membahas mengenai “Install BIND
and Configure DNS Server on CentOS”. Untuk Langkah-langkah yang harus
dilakukan adalah:
Step 1 : Install package bind dan cache-nameserver
Install package bind dan cache-nameserver dengan mengetikan perintah berikut:
# yum install bind bind-utils caching-nameserver
Sample Output:
[root@aqua ~]# yum -y install bind bind-utils caching-nameserver Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile epel/metalink | 4.3 kB 00:00 * base: centos.mirror.secureax.com * epel: mirror.nus.edu.sg * extras: centos.mirror.secureax.com * updates: centos.mirror.secureax.com base | 3.7 kB 00:00 epel | 4.4 kB 00:00 epel/primary_db | 5.1 MB 00:01 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 2.4 MB 00:03 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package bind.i686 32:9.8.2-0.23.rc1.el6_5.1 will be installed --> Processing Dependency: bind-libs = 32:9.8.2-0.23.rc1.el6_5.1 for package: 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 --> Processing Dependency: portreserve for package: 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 --> Processing Dependency: liblwres.so.80 for package: 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 --> Processing Dependency: libisccfg.so.82 for package: 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 --> Processing Dependency: libisccc.so.80 for package: 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 --> Processing Dependency: libisc.so.83 for package: 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 --> Processing Dependency: libdns.so.81 for package: 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 --> Processing Dependency: libbind9.so.80 for package: 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 ---> Package bind-utils.i686 32:9.8.2-0.23.rc1.el6_5.1 will be installed --> Running transaction check ---> Package bind-libs.i686 32:9.8.2-0.23.rc1.el6_5.1 will be installed ---> Package portreserve.i686 0:0.0.4-9.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: bind i686 32:9.8.2-0.23.rc1.el6_5.1 updates 4.0 M bind-utils i686 32:9.8.2-0.23.rc1.el6_5.1 updates 181 k Installing for dependencies: bind-libs i686 32:9.8.2-0.23.rc1.el6_5.1 updates 891 k portreserve i686 0.0.4-9.el6 base 22 k Transaction Summary ================================================================================ Install 4 Package(s) Total download size: 5.0 M Installed size: 10 M Downloading Packages: (1/4): bind-9.8.2-0.23.rc1.el6_5.1.i686.rpm | 4.0 MB 00:04 (2/4): bind-libs-9.8.2-0.23.rc1.el6_5.1.i686.rpm | 891 kB 00:00 (3/4): bind-utils-9.8.2-0.23.rc1.el6_5.1.i686.rpm | 181 kB 00:00 (4/4): portreserve-0.0.4-9.el6.i686.rpm | 22 kB 00:00 -------------------------------------------------------------------------------- Total 835 kB/s | 5.0 MB 00:06 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : 32:bind-libs-9.8.2-0.23.rc1.el6_5.1.i686 1/4 Installing : portreserve-0.0.4-9.el6.i686 2/4 Installing : 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 3/4 Installing : 32:bind-utils-9.8.2-0.23.rc1.el6_5.1.i686 4/4 Verifying : 32:bind-9.8.2-0.23.rc1.el6_5.1.i686 1/4 Verifying : portreserve-0.0.4-9.el6.i686 2/4 Verifying : 32:bind-libs-9.8.2-0.23.rc1.el6_5.1.i686 3/4 Verifying : 32:bind-utils-9.8.2-0.23.rc1.el6_5.1.i686 4/4 Installed: bind.i686 32:9.8.2-0.23.rc1.el6_5.1 bind-utils.i686 32:9.8.2-0.23.rc1.el6_5.1 Dependency Installed: bind-libs.i686 32:9.8.2-0.23.rc1.el6_5.1 portreserve.i686 0:0.0.4-9.el6 Complete! [root@aqua ~]#
Step 2 : Configure DNS Server
Untuk melakukan konfigurasi DNS silahkan
edit konfigurasi named.conf yang terletak pada directory /etc dengan
membuatkan zone forward dan zone reverse dengan mengetikkan perintah :
# nano /etc/named.conf
kemudian masukkan konfigurasi seperti berikut ini :
options {
listen-on port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion no;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "aquacybernotes.com" IN {
type master;
file "/etc/named/aquacybernotes.com.txt";
allow-transfer { any; };
};
zone "224.199.128.in-addr.arpa" IN {
type master;
file "/etc/named/224.199.128.rev";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
Step 3 : Create Zone Fordward
Sekarang kita akan membuat zone fordward
untuk domain aquacybernotes.com dengan nama file aquacybernotes.com.txt
dan letakkan file sesuai dengan konfigurasi pada named.conf
# nano /etc/named/aquacybernotes.com.txt
lalu isikan konfigurasi file berikut ini:
$TTL 10800
@ IN SOA ns1.aquacybernotes.com. root.aquacybernotes.com. (
2014040401 ;serial
21600 ;refresh after 6 hours
3600 ;retry after 1 hour
604800 ;expire after 1 week
86400 ) ;minimum TTL of 1 day
@ 3600 IN A 128.199.224.7
mail 86400 IN A 128.199.224.7
ns1 172800 IN A 128.199.224.7
ns2 172800 IN A 128.199.224.7
www 172800 IN A 128.199.224.7
blog 172800 IN A 128.199.224.7
@ 86400 IN MX 10 mail.aquacybernotes.com.
@ 172800 IN NS ns1.aquacybernotes.com.
@ 172800 IN NS ns2.aquacybernotes.com.
Step 4 : Create Zone Reverse
Setelah itu membuat zone reverse domain
dengan tujuan mentranslasikan ip address dari server ke alamat domain
yang merupakan kebalikan dari zone forward. Untuk zone reverse nama file
dan lokasi file harus disesuaikan dengan nama dan lokasi yang telah
ditentukan pada konfigurasi named.conf. Pada konfigurasi di atas nama
reverse zone adalah 224.199.128.rev (IP Address server yang dibalik) dan
diletakan dalam directory /etc/named/
# nano /etc/named/224.199.128.rev
lalu isi file tersebut dengan konfigurasi berikut:
$TTL 86400
@ IN SOA aquacybernotes.com. root.aquacybernotes.com. (
2008111914 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS ns1.aquacybernotes.com.
@ IN NS ns2.aquacybernotes.com.
7 IN PTR aquacybernotes.com. => 7 merupakan akhir dari IP Address Server 128.199.224.7
Keterangan:
- SOA (Start Of Authority) untuk mengidentifikasikan otoritas name-server pada zone data atau informasi nama host domain.
- TTL (Time To Live) merupakan waktu yang diperlukan server DNS untuk menyimpan hasil resolving ke cache-nya.
- Serial merupakan nomor seri database-cache domain my-server.com. Jika ada perubahan data pada berkas zone aquacybernotes.com, misalnya menambahkan domain blog.aquacybernotes.com, maka anda harus merubah/menambah nomor serinya. Sebaiknya digunakan format tahun-bulan-tanggal-jam untuk nomor serialnya. Pada berkas database untuk zone domain aquacybernotes.com tersebut terakhir di-update tanggal 19 Nopember 2008 jam 14. 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-master name-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.
- @ menunjukkan bahwa zone yang bersangkutan adalah zone domain yang ditunjukkan berkas named.conf ke berkas database-cache tersebut atau origin zone
- IN adalah singkatan dari Internet. Semua informasi Internet digunakan IN dan untuk informasi non-Internet digunakan kode lain.
- A menyatakan Address Internet atau alamat IP dari mesin yang ditangani oleh DNS ini proses penerjemahan namanya.
- NS menyatakan Name Server.
- NS Record merupakan daftar name-server yang otoritatif untuk zone bersangkutan. Pada database domain aquacybernotes.com name-servernya adalah ns1.aquacybernotes.com dan ns2.aquacybernotes.com. NS Record ini yang nantinya akan diserahkan kepada pengelola domain TLD (Top Level Domain) agar terdaftar dalam registar domain.
- MX (Mail Exchanger) merupakan record routing email, untuk domain aquacybernotes.com dalam hal ini akan diarahkan ke mail.aquacybernotes.com. sebagai host yang ditunjuk sebagai mail exchanger akan memproses atau meneruskan mail untuk domain aquacybernotes.com.
- Angka 10 pada MX 10 mail.aquacybernotes.com. merupakan nilai preferensi (preference value) untuk menunjukkan tingkat prioritas mail exchanger yang digunakan untuk memproses atau meneruskan mail yang menuju domain my-server.com.
- Kata mail dan blog pada bagian :
berfungsi sebagai pengalamatan subdomain
pada domain aquacybernotes.com sebagai mail.aquacybernotes.com dan
blog.aquacybernotes.com nantinya.
- CNAME (Canonical Name) fungsinya untuk alias, jadi suatu host dapat mempunyai nama lebih dari satu.
- PTR (POINTER) menyatakan pemetaan alamat IP ke domain aquacybernotes.com yang merupakan reversed-address. Reverse Address ini sangat diperlukan jika kita membuat mail server karena dengan adanya reverse IP Address ke alamat domain kita. Maka proses sent/receive protocol SMPT pada mesin mail server kita dapat berjalan normal. Tanpa adanya reverse Address, IP kita dianggap sebagai spammer oleh mesin smtp mail server lain karena tidak dikenal.
Step 5 : Starting Service BIND
Selanjutnya restart service bind dengan mengetikkan perintah :
# chkconfig named on
# service named start
Jika saat merestart service bind/named,
anda menemukan kasus proses generating file rndc.key tidak kunjung
selesai seperti gambar berikut:
Maka solusinya adalah cansel terlebih
dahulu proses tersebut, kemudian buatkan file rndc.key nya secara manual
dengan mengetikkan perintah :
# rndc-confgen -a -r /dev/urandom
Pada terminal linux anda dan pastikan file rndc.key nya sudah terbuat, lalu restart kembali service named/bind.
# service named restart
Demikianlah pembahasan mengenai konfigurasi DNS Server pada Linux CentOS menggunakan bind cache name server. Semoga bermanfaat untuk kita semua. ^_^
0 komentar:
Posting Komentar