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 :
Dari topologi diatas kita dapat melihat bahwa jaringan server dibagi menjadi dua domain, yaitu root domain network.dz dan server.dz, masing-masing domain tersebut akan memiliki sub-domain, tiap sub-domain akan mengarah pada salah satu server atau service/layanan tertentu pada server.
Untuk reverse terdapat dua domain, karena dalam topologi terdapat dua network yang berbeda atau dua broadcast domain yang berbeda, yaitu 192.168.100.0 dan 192.168.101.0
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.
Untuk reverse terdapat dua domain, karena dalam topologi terdapat dua network yang berbeda atau dua broadcast domain yang berbeda, yaitu 192.168.100.0 dan 192.168.101.0
Server m1-dz (DNS Server)
Server ini akan menjadi server DNS untuk domain network.dz dan server.dz.- Pertama lakukan konfigurasi IP Address berdasarkan topologi, bisa dilihat disini.
- Install paket aplikasi dns server yaitu BIND.
- Edit file /etc/named.conf untuk mengatur konfigurasi bind dan menambahkan zone domain baru.
- Cek konfigurasi pastikan tidak ada yang error dengan perintah.
- Setelah konfigurasi utama selesai sekarang kita buat file database untuk masing-masing zone.
- Cek kembali hasil konfigurasi dan pastikan sama sekali tidak ada error
- Buka firewall untuk dns, dan aktifkan service dns named.
- Kita tes dns server dari server itu sendiri dan dari komputer lain
[root@m1-dz ~]# yum -y install bind bind-utils
[root@m1-dz ~]# vi /etc/named.conf options { listen-on port 53 { any; }; #Agar dapat diakses siapapun listen-on-v6 port 53 { none; }; #IPv6 tidak digunakan 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; }; #Siapapun dapat membaca database DNS forwarders { 192.168.100.1; #DNS Server untuk ke internet }; recursion yes; /////// Dipotong ////////////// }; /////// Dipotong ////////////// zone "." IN { type hint; file "named.ca"; }; #Buat zone domain network.dz (forward) zone "network.dz" IN { type master; file "/var/named/db.network"; #lokasi file database }; zone "server.dz" IN { type master; file "/var/named/db.server"; }; #zone reverse IP Network dibalik zone "100.168.192.in-addr.arpa" IN { type master; file "/var/named/db.100"; #lokasi file database }; zone "101.168.192.in-addr.arpa" IN { type master; file "/var/named/db.101"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
[root@m1-dz ~]# named-checkconf -z zone network.dz/IN: loading from master file /var/named/db.network failed: file not found zone network.dz/IN: not loaded due to errors. _default/network.dz/IN: file not found zone 100.168.192.in-addr.arpa/IN: loading from master file /var/named/db.100 failed: file not found zone 100.168.192.in-addr.arpa/IN: not loaded due to errors. _default/100.168.192.in-addr.arpa/IN: file not found 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 0Jika error file not found itu wajar karena kita belum membuat file database dari zone tersebut.
#Salin saja file contoh database yang sudah ada [root@m1-dz named]# cp named.empty db.network [root@m1-dz named]# cp named.empty db.server [root@m1-dz named]# chown named:named db.network #mengatur permission agar dapat dibaca oleh BIND [root@m1-dz named]# chown named:named db.server [root@m1-dz named]# cp named.empty db.100 [root@m1-dz named]# cp named.empty db.101 [root@m1-dz named]# chown named:named db.100 [root@m1-dz named]# chown named:named db.101 #edit file zone forward [root@m1-dz named]# vi db.network $TTL 3H @ IN SOA network.dz. root.network.dz. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS m1-dz.network.dz. @ IN A 192.168.100.10 #root domain akan diarahkan ke server ini m1-dz IN A 192.168.100.10 #server ini node01 IN A 192.168.100.11 #server node01 node02 IN A 192.168.100.12 #server node02 www IN CNAME m1-dz.network.dz. #CNAME www dialihkan ke m1-dz admin IN CNAME m1-dz.network.dz. #phpmyadmin webmail IN CNAME m1-dz.network.dz. #webmail mail IN CNAME node01.network.dz. #mail-server db1 IN CNAME node01.network.dz. db2 IN CNAME node02.network.dz. @ IN MX 0 node01.network.dz. #untuk mail server pada domain ini #untuk zone forward server.dz [root@m1-dz named]# vi db.server $TTL 3H @ IN SOA network.dz. root.network.dz. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS m1-dz.network.dz. @ IN A 192.168.101.10 m2-dz IN A 192.168.101.10 node01 IN A 192.168.101.11 www IN CNAME m2-dz.server.dz. admin IN CNAME m2-dz.server.dz. webmail IN CNAME m2-dz.server.dz. mail IN CNAME node01.server.dz. db1 IN CNAME m2-dz.server.dz. db2 IN CNAME node01.server.dz. @ IN MX 0 node01.server.dz. #edit file zone reverse yang merupakan kebalikannya [root@m1-dz named]# vi db.100 $TTL 3H @ IN SOA network.dz. root.network.dz. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS m1-dz.network.dz. 10 IN PTR network.dz. #Host ID atau oktet terakhir IP Address 10 IN PTR m1-dz.network.dz. 11 IN PTR node01.network.dz. 12 IN PTR node02.network.dz. #untuk 192.168.101.0 [root@m1-dz named]# vi db.101 $TTL 3H @ IN SOA network.dz. root.network.dz. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ IN NS m1-dz.network.dz. 10 IN PTR server.dz. 10 IN PTR m2-dz.server.dz. 11 IN PTR node01.server.dz.
[root@m1-dz named]# named-checkconf -z zone network.dz/IN: loaded serial 0 zone server.dz/IN: loaded serial 0 zone 100.168.192.in-addr.arpa/IN: loaded serial 0 zone 101.168.192.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
#membuka firewall untuk dns [root@m1-dz named]# firewall-cmd --add-service=dns --permanent success [root@m1-dz named]# firewall-cmd --reload success #menjalankan service dns [root@m1-dz named]# systemctl start named [root@m1-dz named]# systemctl enable named Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
#atur terlebih dahulu dns server yang digunakan [root@m1-dz named]# nmcli c modify eth0 ipv4.dns 192.168.100.10 [root@m1-dz named]# nmcli c down eth0; nmcli c up eth0 #kemudian testing menggunakan nslookup atau dig [root@m1-dz named]# nslookup node01.network.dz Server: 192.168.100.10 Address: 192.168.100.10#53 Name: node01.network.dz Address: 192.168.100.11 [root@m1-dz named]# nslookup www.network.dz Server: 192.168.100.10 Address: 192.168.100.10#53 www.network.dz canonical name = m1-dz.network.dz. Name: m1-dz.network.dz Address: 192.168.100.10 [root@m1-dz named]# nslookup 192.168.100.10 Server: 192.168.100.10 Address: 192.168.100.10#53 10.100.168.192.in-addr.arpa name = network.dz. 10.100.168.192.in-addr.arpa name = m1-dz.network.dz.
[root@m1-dz named]# dig network.dz mx #MX Record
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> network.dz mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24869
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;network.dz. IN MX
;; ANSWER SECTION:
network.dz. 10800 IN MX 0 node01.network.dz.
;; AUTHORITY SECTION:
network.dz. 10800 IN NS m1-dz.network.dz.
;; ADDITIONAL SECTION:
node01.network.dz. 10800 IN A 192.168.100.11
m1-dz.network.dz. 10800 IN A 192.168.100.10
;; Query time: 12 msec
;; SERVER: 192.168.100.10#53(192.168.100.10)
;; WHEN: Sat Jun 23 14:31:28 WIB 2018
;; MSG SIZE rcvd: 114
Server Node01 & Node02
Server ini nantinya akan berisi service lainnya seperti web server, database, mail server, dll.- Konfigurasi Hostname, Networking
- Lalu kita testing query dns dari server tersebut.
- Jika sudah berhasil maka konfigurasi sampai disini sudah selesai. Untuk melakukan troubleshooting kita dapat melihat log atau laporan yang dibuat oleh sistem dengan perintah dibawah ini pada DNS Server.
#Server NODE01 [root@localhost ~]# hostnamectl set-hostname node01.network.dz [root@localhost ~]# nmcli c modify eth0 ipv4.addresses 192.168.100.11/24 [root@localhost ~]# nmcli c modify eth0 ipv4.gateway 192.168.100.1 [root@localhost ~]# nmcli c modify eth0 ipv4.dns 192.168.100.10 [root@localhost ~]# nmcli c modify eth0 ipv4.method manual [root@localhost ~]# init 6 #Server NODE02 [root@localhost ~]# hostnamectl set-hostname node02.network.dz [root@localhost ~]# nmcli c modify eth0 ipv4.addresses 192.168.100.12/24 [root@localhost ~]# nmcli c modify eth0 ipv4.gateway 192.168.100.1 [root@localhost ~]# nmcli c modify eth0 ipv4.dns 192.168.100.10 [root@localhost ~]# nmcli c modify eth0 ipv4.method manual [root@localhost ~]# init 6
[root@node01 ~]# ping m1-dz.network.dz PING m1-dz.network.dz (192.168.100.10) 56(84) bytes of data. 64 bytes from m1-dz.network.dz (192.168.100.10): icmp_seq=1 ttl=64 time=0.390 ms 64 bytes from m1-dz.network.dz (192.168.100.10): icmp_seq=2 ttl=64 time=0.413 ms --- m1-dz.network.dz ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.390/0.401/0.413/0.023 ms [root@node01 ~]# ping www.network.dz PING m1-dz.network.dz (192.168.100.10) 56(84) bytes of data. 64 bytes from network.dz (192.168.100.10): icmp_seq=1 ttl=64 time=0.367 ms 64 bytes from network.dz (192.168.100.10): icmp_seq=2 ttl=64 time=0.412 ms --- m1-dz.network.dz ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.367/0.389/0.412/0.029 ms [root@node01 ~]# ping db2.network.dz PING node02.network.dz (192.168.100.12) 56(84) bytes of data. 64 bytes from node02.network.dz (192.168.100.12): icmp_seq=1 ttl=64 time=0.592 ms 64 bytes from node02.network.dz (192.168.100.12): icmp_seq=2 ttl=64 time=0.450 ms --- node02.network.dz ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.450/0.521/0.592/0.071 ms [root@node02 ~]# ping mail.network.dz PING m1-dz.network.dz (192.168.100.10) 56(84) bytes of data. 64 bytes from m1-dz.network.dz (192.168.100.10): icmp_seq=1 ttl=64 time=0.406 ms 64 bytes from m1-dz.network.dz (192.168.100.10): icmp_seq=2 ttl=64 time=0.502 ms 64 bytes from m1-dz.network.dz (192.168.100.10): icmp_seq=3 ttl=64 time=0.521 ms --- m1-dz.network.dz ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.406/0.476/0.521/0.053 ms
#Ping domain yang berada di internet (opsional)
[root@node02 ~]# ping google.com PING google.com (74.125.24.101) 56(84) bytes of data. 64 bytes from 74.125.24.101 (74.125.24.101): icmp_seq=1 ttl=40 time=54.5 ms 64 bytes from 74.125.24.101 (74.125.24.101): icmp_seq=2 ttl=40 time=44.0 ms 64 bytes from 74.125.24.101 (74.125.24.101): icmp_seq=3 ttl=40 time=47.9 ms 64 bytes from 74.125.24.101 (74.125.24.101): icmp_seq=4 ttl=40 time=45.0 ms 64 bytes from 74.125.24.101 (74.125.24.101): icmp_seq=5 ttl=40 time=39.1 ms --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 8072ms rtt min/avg/max/mdev = 39.146/46.163/54.566/5.081 ms
[root@m1-dz ~]# tail -f /var/log/messages | grep named Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 193.0.14.129#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 192.58.128.30#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 192.36.148.17#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 198.97.190.53#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 202.12.27.33#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 192.5.5.241#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 192.228.79.201#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 192.203.230.10#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 199.7.91.13#53 Jun 23 14:49:39 m1-dz named[1261]: error (no valid RRSIG) resolving 'arpa/DS/IN': 192.33.4.12#53
Referensi
- Server World
- Buku dari sekolah
Komentar
Posting Komentar