Jaringan, Server, IT

Membangun server DNS pada CentOS 7

DNS kepanjangan dari Domain Name System adalah sebuah sistem penamaan pada jaringan komputer, yang berfungsi memberikan nama pada setiap Host atau Komputer dan domain (daerah) yang ada di jaringan, dengan ini kita dengan mudah mengingat komputer menggunakan nama yang dikenali manusia, tidak seperti IP Address yang merupakan angka dan mungkin sulit diingat.

Sedangkan DNS Server adalah server yang menyediakan layanan DNS, server ini yang menyimpan database nama domain ataupun komputer, dan akan menerjemahkan dari nama domain menjadi IP Address jika ada yang meminta. Beberapa poin penting dari DNS Server :
  • DNS dapat memberi nama sebuah domain atau daerah (bisa disebut zone atau zona) yang terdiri dari banyak komputer didalamnya.
  • Dari satu nama domain dapat dibuat sub-domain yang bisa digunakan untuk menamai suatu komputer/server (seperti www,web,blog,dll).
  • Menggunakan protokol UDP#53 dalam pengiriman pesan DNS nya, jika ukuran pesannya besar bisa saja menggunakan TCP#53.
  • Dalam satu database zone/domain terdiri dari beberapa jenis record yang memiliki perannya masing-masing. Record DNS paling umum :
    • A atau AAAA berfungsi untuk menerjemahkan Domain/Sub-domain > IP Address.
    • PTR kebalikan dari A.
    • NS berisi informasi server dns yang memiliki zone tersebut.
    • MX untuk mengarahkan ke mail server yang ada didomain ini.
    • CNAME alias atau nama lain dari sebuah nama.
Pada Sistem Operasi Linux CentOS 7 aplikasi yang menjalankan service DNS adalah BIND, Berkeley Internet Name Domain, aplikasi yang dapat membangun sebuah DNS server pada hampir semua distro linux termasuk CentOS.

Sekarang kita akan mencoba mengkonfigurasi DNS Server berdasarkan topologi dibawah ini :

Server DLP1

  1. Pertama install terlebih dahulu paket aplikasi bind dari repositori default centos atau repositori pada DVD.
  2. [root@dlp1 ~]# yum -y install bind bind-utils
    
  3. Konfigurasi BIND, edit file /etc/named.conf menggunakan editor nano.
  4. [root@dlp1 ~]# nano /etc/named.conf
    
    • Atur listen, client yang boleh melakukan query ke server, dan server slave yang boleh mentransfer dari siapa saja. Atau bisa diatur sendiri siapa saja yang boleh dan tidak boleh berdasarkan IP Address.
    • options {
              listen-on port 53 { any; };
              listen-on-v6 port 53 { none; };
              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; };
              allow-transfer  { any; };
      
    • Pindah pada baris paling bawah sebelum tulisan Include untuk menambahkan forward zone jaringan.org dan reverse zone untuk IP Network 172.18.0.0/25.
    • zone "." IN {
       type hint;
              file "named.ca";
      };
      
      zone "jaringan.org" IN { //Forward Zone
              type master; //Master atau server DNS utama
              file "/var/named/db.jaringan"; //File database zone
      };
      
      zone "0.18.172.in-addr.arpa" IN { //Reverse Zone
              type master;
              file "/var/named/db.18";   
      };
      
      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
      //Penulisan IP Network pada reverse zone harus dibalik dan ditambahkan in-addr.arpa
      //Contoh jika IP Network menggunakan subnetting :
      //IP Network = 192.168.10.128
      //Netmask = 255.255.255.128
      //Range = 129 - 254
      //Maka cara penulisannya tinggal dibalik saja yaitu :
      //128.0.168.192.in-addr.arpa
      
    • Save file tersebut
  5. Membuat database untuk zone forward jaringan.org dan zone reverse 172.18.0.0/25, lokasi file database sesuai pada konfigurasi sebelumnya di /etc/named.conf
    • Salin saja contoh file database kosong yang telah ada.
    • [root@dlp1 ~]# cd /var/named/
      [root@dlp1 named]# cp named.empty db.jaringan
      [root@dlp1 named]# cp named.empty db.18
      
    • Edit file zone forward db.jaringan untuk mengisi database zone forward tersebut, ganti beberapa tulisan menjadi seperti dibawah ini.
    • [root@dlp1 named]# nano db.jaringan
      $TTL 3H
      @ IN SOA  jaringan.org root.jaringan.org. (
                                              0 ; serial
                                              1D ; refresh
                                              1H ; retry
                                              1W ; expire
                                              3H )    ; minimum
      @ IN NS dlp1.jaringan.org.
      @ IN A 172.18.0.10 #root domain
      #sub-domain server dan IP Address-nya
      dlp1    IN A 172.18.0.10 #sub-domain
      node01  IN A 172.18.0.11 
      node02  IN A 172.18.0.12
      #cname untuk redirect dari satu domain/sub-dom ke domain/sub-dom lain.
      www     IN CNAME   dlp1.jaringan.org. #www alias server dlp1
      mail    IN CNAME   dlp1.jaringan.org.
      smb     IN CNAME   node01.jaringan.org.
      ftp     IN CNAME   node02.jaringan.org.
      #sebagai informasi lokasi mail server dari domain "jaringan.org"
      IN MX 0 node01.jaringan.org. #Lokasi mail server
      
    • Kemudian untuk reverse zone, edit file database reverse zone yang sudah di salin sebelumnya.
    • $TTL 3H
      @ IN SOA  jaringan.org. root.jaringan.org. (
                                         0       ; serial
                                              1D ; refresh
                                              1H ; retry
                                              1W ; expire
                                              3H )    ; minimum
      @       IN NS      dlp1.jaringan.org.
      #Memetakan IP Address ke domain/sub-dom
      #Oktet terakhir IP Address server
      10 IN PTR jaringan.org.
      10 IN PTR dlp1.jaringan.org.
      11 IN PTR node01.jaringan.org.
      12 IN PTR node02.jaringan.org.
      
  6. Atur permission pada file database yang telah dibuat agar dapat dibaca oleh bind.
  7. [root@dlp1 named]# chown named:named db.jaringan 
    [root@dlp1 named]# chown named:named db.18 
    
  8. Cek sintaks konfigurasi file yang telah diedit tadi apakah ada kesalahan dengan menjalankan perintah dibawah ini.
  9. [root@dlp1 named]# named-checkconf -z
    zone jaringan.org/IN: loaded serial 0
    zone 0.18.172.in-addr.arpa/IN: loaded serial 0
    zone localhost.localdomain/IN: loaded serial 0
    zone localhost/IN: loaded serial 0
    zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
    zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
    zone 0.in-addr.arpa/IN: loaded serial 0
    
  10. Restart proses named bind untuk memperbarui konfigurasi.
  11. [root@dlp1 ~]# systemctl restart named
    [root@dlp1 ~]# systemctl enable named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
    
  12. Buka akses firewall.
  13. [root@dlp1 ~]# firewall-cmd --add-service=dns --permanent
    success
    [root@dlp1 ~]# firewall-cmd --reload
    success
    
Setelah itu testing dns server apakah sudah dapat menerjemahkan Domain ke IP Address.
[root@dlp1 ~]# nslookup jaringan.org
Server:  172.18.0.10
Address: 172.18.0.10#53

Name: jaringan.org
Address: 172.18.0.10

[root@dlp1 ~]# nslookup www.jaringan.org
Server:  172.18.0.10
Address: 172.18.0.10#53

www.jaringan.org canonical name = dlp1.jaringan.org.
Name: dlp1.jaringan.org
Address: 172.18.0.10

[root@dlp1 ~]# nslookup 172.18.0.10
Server:  172.18.0.10
Address: 172.18.0.10#53

10.0.18.172.in-addr.arpa name = jaringan.org.
10.0.18.172.in-addr.arpa name = dlp1.jaringan.org.
Jika tidak ada error tandanya konfigurasi sudah berhasil.

Tidak ada komentar:

Posting Komentar

Postingan Populer