hello sobat sekolahlinux, jumpa lagi nih kali ini saya akan membuat tutorial bagaimana sih cara membuat DNS Server resolver stand alone pada centos (sebenernya cara ini bisa diterapkan juga pada distro linux ataupun bsd) lalu apa maksudnya dengan “stand alone“, dns stand alone adalah dns yang langsung terhubung ke root server dns untuk meminta querynya, jadi pada dns server ini nantinya tidak akan menggunakan ip dns server lainnya melainkan nantinya menggunakan ip dns milik dns server itu sendiri (membingungkan ya :p wahahaha)
TOPOLOGI
DNS Server
- IP DNS Server: 115.178.128.6
- OS: Centos 7.x minimal
- DNS: 202.xxx.xxx.xxx, 203.xxx.xxx.xxx
Client
- IP Client: 202.148.1.50
ada beberapa persyaratan dalam membuat dns resolver stand alone yaitu
- ip dns server haruslah ip public
- port 53 udp pada ip public harus open (jika tidak maka bisa request ke isp ybs) pengecekan bisa dilakukan di website ini http://www.base64online.com/port-check.php
saatnya kita mulai, ouu iya pada awalnya kita memerlukan DNS server yang diberikan isp gunanya tentu untuk mendownload bind nya, tapi nanti ketika kita selesai konfig kita bisa rubah ip dns milik isp menjadi ip milik dns server yang sedang kita buat ini 😀
pertama kita install bind dahulu
yum install bind bind-utils
jika sudah sesuaikan konfig bindnya seperti dibawah
options { listen-on port 53 { any; }; listen-on-v6 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 { localhost; 202.148.1.50; }; allow-transfer { localhost; }; allow-recursion { localhost; 202.148.1.50; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
berikut ini penjelasan dari beberapa option bind diatas
listen-on port 53 = ##fungsinya agar user manapun dapat berkomunikasi dengan service DNS pada ipv4 dns-server listen-on-v6 port 53 = ##fungsinya agar user manapun dapat berkomunikasi dengan service DNS pada ipv6 dns-server allow-query = ##ip yang terdaftar pada option ini dapat menggunakan ip dns-server ini sebagai ip dns network mereka allow-transfer = ##ip yang terdaftar pada option ini dapat menerima transfer zone dari dns-server ini (tidak dibahas pada tutorial kali ini) allow-recursion = ##ip yang terdaftar pada option ini dapat melakukan nslookup/pengecekan domain menggunakan ip dns-server ini
jika sudah jalankan servicenya
systemctl restart named rndc reload
lalu aktifkan autostart ketika komputer restart
pada centos 7.x
systemctl enable named
pada centos 6.x
chkconfig named on
lalu selanjutnya adalah merubah ip dns pada dns-server, pada konfig sebelumnya ip dns pada dns-server adalah:
(202.xxx.xxx.xxx, 203.xxx.xxx.xxx) rubah menjadi (115.178.128.6, 127.0.0.1)
untuk memastikan rubah juga dns pada /etc/resolv.conf
[root@server ~]# cat /etc/resolv.conf # Generated by NetworkManager search akbaribnu.local nameserver 115.178.128.6 nameserver 127.0.0.1
jika sudah restart server dns-server. jika sudah restart server dns-server coba test dengan perintah seperti dibawah
[root@server ~]# nslookup google.co.id Server: 115.178.128.6 Address: 115.178.128.6#53 Non-authoritative answer: Name: google.co.id Address: 74.125.200.94 [root@server ~]# ping google.co.id PING google.co.id (74.125.200.94) 56(84) bytes of data. 64 bytes from sa-in-f94.1e100.net (74.125.200.94): icmp_seq=1 ttl=45 time=15.9 ms 64 bytes from sa-in-f94.1e100.net (74.125.200.94): icmp_seq=2 ttl=45 time=15.6 ms 64 bytes from sa-in-f94.1e100.net (74.125.200.94): icmp_seq=3 ttl=45 time=15.7 ms 64 bytes from sa-in-f94.1e100.net (74.125.200.94): icmp_seq=4 ttl=45 time=15.7 ms ^C --- google.co.id ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3001ms rtt min/avg/max/mdev = 15.687/15.788/15.970/0.110 ms [root@server ~]#
dan sekarang coba test dari client dengan ip public 202.148.1.50, jangan lupa ganti ip dns client menjadi 115.178.128.6.
jika berhasil meresolved maka kita sudah berhasil membuat dns-server resolver stand alone.
kok bisa dns-servernya meresolve domain tujuan kan dia pakai ip domain ip servernya sendiri.? jadi dns-server ini bisa meresolve dikarenakan meresolve langsung ke root server.
oke sekian tutorial kali ini 😀 , tutorial ini akan diupdate untuk mengoptimasi kecepatan dns-server dalam meresolve suatu alamat jadi stay dan kunjungi terus sekolahlinux.com