Pada tutorial sebelumnya saya telah membahas tentang cara setting DNS server di CentOS 7 pada jaringan LAN, kali ini DNS server diinstall di VPS atau server yang menggunakan Public IP dan menggunakan nama domain yang bisa diakses melalui internet. Secara umum caranya sama, yang berbeda adalah server menggunakan Public IP, nama domain yang sudah terdaftar, dan konfigurasi Private Nameserver beserta Nameserver pada nama domain.
-Kebutuhan Instalasi-
· Server: CentOS 7 · Server memakai Public IP 45.32.118.75 · Client: OS apa saja yang terhubung ke internet · Domain: sysadmintraining.tk, dapatkan gratis di Freenom
-Konfigurasi Nama Domain-
Nama domain dikonfigurasi terlebih dahulu karena perubahan nameserver pada nama domain membutuhkan waktu propagasi.
Konfigurasi Private Nameserver pada nama domain, di Freenom konfigurasi ini berada di /Manage Domain->Management Tools->Register glue records/. Masukkan nama nameserver misalnya /ns1.sysadmintraining.tk/ dan Public IP DNS server.
Freenom Register Glue Records / Private Nameservers
Lalu konfigurasi Nameserver, /Manage Domain->Management Tools->Nameservers/. Pilih /Use custom nameserver/ dan masukkan nameserver yang telah dikonfigurasi sebelumnya.
Freenom Custom Nameservers
-Install DNS Server-
Install paket *bind*
[INPUT]1 yum install bind bind-utils -y
-Konfigurasi DNS Server-
Backup terlebih dahulu file konfigurasi *named.conf*.
[INPUT]1 2 cd /etc cp named.conf named.conf.backup
Buka file konfigurasi.
[INPUT]1 nano /etc/named.conf
Ubah atau tambahkan baris kode di bawah ini.
[INPUT]1 2 3 listen-on port 53 { 127.0.0.1; 45.32.118.75; }; allow-query { localhost; 45.32.118.75; any; }; allow-query-cache { localhost; 45.32.118.75; any; };
Hasilnya seperti pada gambar di bawah ini.
Konfigurasi named.conf – Options
Kemudian tambahkan zone (nama domain) dan reverse (alamat IP). Pada opsi file adalah nama file konfigurasi, penulisa nama file tidak harus seperti itu.
[INPUT]1 2 3 4 5 6 7 8 9 zone “sysadmintraining.tk” { type master; file “/etc/named/sysadmintraining.tk.zone”; }; zone “75.118.32.in-addr.arpa” IN { type master; file “/etc/named/75.118.32.rev”; };
Hasilnya seperti pada gambar di bawah ini.
Konfigurasi named.conf – Zone
Simpan, keluar dari nano.
Membuat file zone forward.
[INPUT]1 nano /etc/named/sysadmintraining.tk.zone
Isinya adalah konfigurasi zone, berisi nama domain, sub-domain, dan alamat IP web server.
[INPUT]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $TTL 86400 @ IN SOA sysadmintraining.tk. root.sysadmintraining.tk. ( 2018092501 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS ns1.sysadmintraining.tk. @ IN NS ns2.sysadmintraining.tk. @ IN A 45.32.118.75 ns1 IN A 45.32.118.75 ns2 IN A 45.32.118.75 www IN CNAME sysadmintraining.tk. blog IN A 45.32.118.75
Selanjutnya membuat zone reverse.
[INPUT]1 nano /etc/named/75.118.32.rev
Isinya seperti di bawah ini.
[INPUT]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $TTL 86400 @ IN SOA sysadmintraining.tk. root.sysadmintraining.tk. ( 2018092501 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS ns1.sysadmintraining.tk. IN NS ns2.sysadmintraining.tk. @ IN A 45.32.118.75 ns1 IN A 45.32.118.75 ns2 IN A 45.32.118.75 75 IN PTR sysadmintraining.tk. 75 IN PTR blog.sysadmintraining.tk.
Setelah membuat file zone dan reverse, aktifkan dan restart service named.
[INPUT]1 2 systemctl enable named systemctl restart named
Ubah file DNS resolver.
[INPUT]1 nano /etc/resolv.conf
Isinya
[INPUT]1 2 3 search sysadmintraining.tk nameserver 45.32.118.75 nameserver 8.8.8.8
-Install Web Server-
Install web server untuk pengujian akses nama domain di web browser.
[INPUT]1 2 3 yum install httpd -y systemctl enable httpd systemctl start httpd
-Konfigurasi Firewall-
Konfigurasi firewall VPS agar mengijinkan protokol DNS (Port 53 TCP/UDP) dan HTTP (Port 80 TCP).
VPS Firewall
Atau jika menggunakan FirewallD di CentOS, konfigurasikan seperti di bawah ini.
[INPUT]1 2 3 firewall-cmd –permanent –add-service=http firewall-cmd –permanent –add-service=dns firewall-cmd –reload
-Pengujian-
Pengujian pertama dengan melakukan *nslookup*.
[INPUT]1 nslookup sysadmintraining.tk
[INPUT]1 2 3 4 5 Server: 45.32.118.75 Address: 45.32.118.75#53 Name: sysadmintraining.tk Address: 45.32.118.75
Pengujian kedua dengan melakukan *dig*.
[INPUT]1 dig sysadmintraining.tk
[INPUT]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 <<>> sysadmintraining.tk ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34606 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: , flags:; udp: 4096 ;; QUESTION SECTION: ;sysadmintraining.tk. IN A ;; ANSWER SECTION: sysadmintraining.tk. 86400 IN A 45.32.118.75 ;; AUTHORITY SECTION: sysadmintraining.tk. 86400 IN NS ns1.sysadmintraining.tk. sysadmintraining.tk. 86400 IN NS ns2.sysadmintraining.tk. ;; ADDITIONAL SECTION: ns1.sysadmintraining.tk. 86400 IN A 45.32.118.75 ns2.sysadmintraining.tk. 86400 IN A 45.32.118.75 ;; Query time: msec ;; SERVER: 45.32.118.75#53(45.32.118.75) ;; WHEN: Kam Sep 27 04:12:51 UTC 2018 ;; MSG SIZE rcvd: 132 Pengujian ketiga mengakses nama domain melalui web browser. Browsing sysadmintraining.tk Selamat mencoba ð