Cara Install DNS Server di Debian 9 Server
Domain Name System (DNS) adalah sistem yang menyimpan informasi tentang nama domain dan IP address, secara sederhanya seperti buku alamat internet. Pengguna internet mengakses website dengan cara mengakses nama domain melalui web browser. Sementara web browser berinteraksi dengan web server dengan menggunakan IP address. Nah, di sini DNS bertugas untuk menerjemahkan nama domain menjadi IP address atau sebaliknya sehingga web browser bisa menampilkan halaman website.
0. Install DNS Server
Di tutorial ini kita akan membuat nama domain wordpress.oke untuk diakses melalui jaringan lokal. IP address server yang digunakan adalah 192.168.100.1.
Install aplikasi DNS server bind9.
1 | apt install bind9 dnsutils |
Masuk ke direktori konfigurasi bind dan buka file konfigurasi named.conf.options.
1 2 | cd /etc/bind nano named.conf.options |
Tambah dan ubah menjadi seperti di bawah ini.
1 2 3 4 5 | listen-on-v6 { none; }; listen-on port 53 { localhost; 192.168.100.0/24; }; allow-query { localhost; 192.168.100.0/24; }; forwarders { 8.8.8.8; 1.1.1.1; }; recursion yes; |
Buka file konfigurasi named.conf.local.
1 | nano named.conf.local |
Tambahkan di baris paling bawah.
1 2 3 4 5 6 7 8 9 | zone "wordpress.oke" { type master; file "/etc/bind/forward.wordpress.oke"; }; zone "100.168.192.in-addr.arpa" { type master; file "/etc/bind/reverse.wordpress.oke"; }; |
Selanjutnya membuat file konfigurasi forward.wordpress.oke.
1 2 | cp db.local forward.wordpress.oke nano forward.wordpress.oke |
Ubah isinya menjadi seperti di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA wordpress.oke. root.wordpress.oke. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.wordpress.oke. @ IN NS ns2.wordpress.oke. @ IN A 192.168.100.1 ns1 IN A 192.168.100.1 ns2 IN A 192.168.100.1 www IN CNAME wordpress.oke. |
Selanjutnya file konfigurasi reverse.wordpress.oke.
1 2 | cp db.127 reverse.wordpress.oke nano reverse.wordpress.oke |
Ubah menjadi seperti di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA wordpress.oke. root.wordpress.oke. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; IN NS ns1.wordpress.oke. IN NS ns2.wordpress.oke. ns1 IN A 192.168.100.1 ns2 IN A 192.168.100.1 @ IN A 192.168.100.1 1 IN PTR wordpress.oke. |
Restart service bind9, cek statusnya beserta file konfigurasi named.conf.
1 2 3 | systemctl restart bind9 systemctl status bind9 named-checkconf |
Tambahkan nama domain dan IP address server pada file konfigurasi DNS resolver. File ini sebelumnya sudah diisi dengan IP address dari DNS server Google dan Cloudflare.
1 | nano /etc/resolv.conf |
Isinya menjadi.
1 2 3 4 | search wordpress.oke nameserver 192.168.100.1 nameserver 8.8.8.8 nameserver 1.1.1.1 |
Uji konfigurasi DNS server dengan menjalankan perintah nslookup atau dig.
Dari gambar hasil pengujian DNS server di atas terlihat bahwa wordpress.oke berada di server dengan IP address 192.168.100.1.
1. Install Apache dan Konfigurasi VirtualHost
Agar nama domain bisa diakses melalui web browser, selain DNS server kita membutuhkan web server, di sini menggunakan Apache web server. Pembahasan Apache web server bisa dibaca di Cara Install Apache Web Server di Debian 9 Server.
Install Apache.
1 | apt install apache2 -y |
Membuat VirtualHost untuk nama domain wordpress.oke.
1 2 | cd /etc/apache2/sites-available nano wordpress.oke.conf |
Isinya.
1 2 3 4 5 6 7 8 9 10 11 12 | <VirtualHost *:80> ServerName wordpress.oke ServerAlias www.wordpress.oke DocumentRoot /var/www/wordpress.oke <Directory /var/www/wordpress.oke> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog /var/log/apache2/wordpress.oke.error.log CustomLog /var/log/apache2/wordpress.oke.access.log combined </VirtualHost> |
Aktifkan VirtualHost, mod_rewrite, dan restart apache2.
1 2 3 | a2ensite wordpress.oke.conf a2enmod rewrite systemctl restart apache2 |
Kemudian buat direktori document root dan file test.html untuk pengujian.
1 2 3 | cd /var/www mkdir wordpress.oke nano wordpress.oke/test.html |
Isi file test.html.
1 | Ini adalah file test.html di domain wordpress.oke |
2. Pengujian di PC Client
Selanjutnya melakukan pengujian akses nama domain di PC client. Konfigurasi jaringan di PC client:
- IP address: 192.168.100.2-254
- Netmask: 255.255.255.0
- Gateway: 192.168.100.1
- DNS: 192.168.100.1, 8.8.8.8, 1.1.1.1
Sebelumnya telah dibahas juga mengenai Cara Setting Jaringan di Debian 9 Server, di mana terdapat pembahasan mengenai konfigurasi Debian server sebagai internet gateway atau router dan DHCP server. Dengan konfigurasi tersebut PC client tidak harus lagi melakukan konfigurasi jaringan secara manual.
Pengujian di PC client Linux, jalankan perintah nslookup dan dig di terminal. Kalau hasilnya bukan IP address Debian server yaitu 192.168.100.1, coba ubah file konfigurasi /etc/resolv.conf di PC client Linux.
1 2 3 | nameserver 192.168.100.1 nameserver 8.8.8.8 nameserver 1.1.1.1 |
Setelah itu browsing nama domain lengkap dengan nama file test.html http://wordpress.oke/test.html.
Pengujian di PC Windows sama saja, menjalankan perintah nslookup dan dig, kalau sudah betul hasilnya lanjut browsing nama domain.
Selamat mencoba 🙂
halo mas nanya ni udah cobain seperti diatas ada error seperti ini
root@debianrouter:~# named-checkconf
/etc/bind/named.conf.options:14: unknown option ‘8.8.8.8’
/etc/bind/named.conf.options:21: unknown option ‘dnssec-validation’
/etc/bind/named.conf.options:23: unknown option ‘auth-nxdomain’
/etc/bind/named.conf.options:24: unknown option ‘listen-on-v6’
/etc/bind/named.conf.options:25: unknown option ‘listen-on’
/etc/bind/named.conf.options:26: unknown option ‘allow-query’
/etc/bind/named.conf.options:27: unknown option ‘recursion’
dan nslookup domain mengarah ke internet, itu kira kira kenapa ya salahnya,mohon pencerahannya
pesan errornya jelas, periksa konfigurasi di nomor baris yang telah ditampilkan. nslookup mengarah ke internet, kemungkinan belum config dns resolver /etc/resolv.conf.
Mas saya mengalami error ketika akan melakukan nslookup
root@debian:~#nslookup domain.com
Server: 8.8.8.8
Address: 8.8.8.8#53
** server can’t find domain.com: NXDOMAIN
Mohon bantuannya
periksa kembali konfigurasi DNS servernya.
Om mau nanya Konsep kerja nya bagaimana ya? terus fungsi di file Option, Reverse, Forward itu untuk apa ya? kenapa ada NS, A, PTR, CNAME?
silakan baca cara kerja DNS, tentang forward dan reverse, dan DNS records.
Halo om, pada cd /etc/apache2/sites-available tidak ada file wordpress.oke.conf
bagaimana cara mengatasinya?
Terimakasih
ya buat dulu file konfigurasinya
suhu bagaimana mengatasi DNS over TLS dan DNS over HTTPS pada DNS lokal,, awal nya website bisa di akses menggunakan chrome sekarang tidak bisa ,,apakah bisa di terapkan pada dns lokal DOT dan DOH?
Terima Kasih ,,
mau membuat DNS server yang bisa DoT atau DoH? install Adguard Home.
mas saya sudah konfigurasinya jarigannya, bahkan bisa otomatis dapet ip, udah ngikutin tutorial ini dengan teliti, saat saya nslookup di debiannya ok sama, tapi pas saya nslookup di cmd webnya kok gk sama? gimana mas solusinya?
coba cek DNS yang terpasang di Windows
cara ceknya? yang file hosts itu kah?
di settingan IP Windows, cek statusnya.
Setelah recursion command nya apa ya
untuk save dan exit? CTRL+O, lalu CTRL+X