Cara Install dan Setting DNS Server di VPS CentOS 7

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 🙂

Leave a Reply

Your email address will not be published.