DNS (Domain Name System) adalah sistem yang digunakan untuk mengubah nama domain menjadi alamat IP yang dapat dipahami oleh komputer dan perangkat lainnya. Memiliki DNS pribadi dapat memberikan beberapa keuntungan, seperti kontrol lebih besar atas trafik dan peningkatan privasi. Pada artikel ini, kita akan membahas langkah-langkah untuk membuat DNS sendiri di VPS.
1. Persiapkan VPS
Sebelum mulai, Anda membutuhkan server VPS yang sudah terinstal dengan sistem operasi, seperti Ubuntu atau CentOS. Selain itu, pastikan VPS Anda memiliki akses root atau sudo, karena Anda akan memerlukan hak istimewa untuk menginstal dan mengonfigurasi layanan DNS.
Jika belum memiliki VPS, Anda bisa memilih penyedia layanan VPS seperti DigitalOcean, Linode, atau Vultr yang menawarkan harga terjangkau dan mudah untuk memulai.
2. Instalasi Bind9 di VPS
Perbarui paket sistem:
sudo apt update && sudo apt upgrade -y
BIND9 (Berkeley Internet Name Domain) adalah perangkat lunak DNS yang paling banyak digunakan di Linux. Untuk memulai, Anda perlu menginstal BIND9 di VPS Anda. Berikut adalah langkah-langkahnya untuk sistem berbasis Ubuntu:
Instal BIND9:
Setelah sistem diperbarui, instal BIND9 menggunakan perintah berikut:
sudo apt install bind9 bind9utils bind9-doc -y
Cek status BIND9:
Setelah instalasi selesai, pastikan BIND9 berjalan dengan baik dengan memeriksa statusnya:
sudo systemctl status bind9
Jika BIND9 berjalan dengan baik, Anda akan melihat status “active (running)”.
3. Konfigurasi File Zona DNS
Setelah BIND9 terinstal, langkah berikutnya adalah membuat dan mengonfigurasi file zona untuk domain Anda. File zona berfungsi untuk menghubungkan nama domain dengan alamat IP.
Buat file zona di direktori BIND9:
Lokasi standar untuk file zona di BIND9 adalah di /etc/bind. Anda bisa membuat file zona untuk domain yang ingin dikelola.
Misalnya, untuk domain “contoh.com”, buat file zona dengan nama db.contoh.com:
sudo nano /etc/bind/db.contoh.com
Isi file zona:
Berikut adalah contoh konfigurasi file zona untuk domain “contoh.com”:
$TTL 86400
@ IN SOA ns1.contoh.com. admin.contoh.com. (
2023051401 ; Serial
3600 ; Refresh
1800 ; Retry
1209600 ; Expire
86400 ) ; Minimum TTL
; Nama server
@ IN NS ns1.contoh.com.
; Alamat IP untuk server DNS
ns1 IN A 192.168.1.1
; A record untuk domain utama
@ IN A 192.168.1.2
; CNAME untuk www
www IN CNAME contoh.com
Penjelasan singkat:
– SOA (Start of Authority): Mendefinisikan informasi dasar untuk zona.
– NS (Name Server): Menunjukkan nama server DNS.
– A (Address Record): Mengaitkan nama domain dengan alamat IP.
– CNAME (Canonical Name): Menentukan alias untuk domain.
Perbarui konfigurasi BIND untuk membaca file zona:
Anda perlu memberi tahu BIND untuk menggunakan file zona yang baru dibuat. Edit file konfigurasi BIND di /etc/bind/named.conf.local:
sudo nano /etc/bind/named.conf.local
Tambahkan konfigurasi berikut untuk menunjuk ke file zona:
zone "contoh.com" {
type master;
file "/etc/bind/db.contoh.com";
};
4. Mengonfigurasi Resolver DNS
Setelah konfigurasi zona selesai, Anda perlu mengonfigurasi resolver DNS agar BIND9 dapat menangani permintaan pencarian nama domain.
Edit file konfigurasi BIND9:
sudo nano /etc/bind/named.conf.options
Aktifkan forwarders:
Jika Anda ingin menggunakan server DNS lain sebagai cadangan, aktifkan opsi forwarders. Contoh:
forwarders {
8.8.8.8; # Google DNS
8.8.4.4; # Google DNS
};
Atur server untuk mendengarkan pada alamat IP publik atau lokal:
Anda bisa mengubah pengaturan agar BIND mendengarkan pada alamat IP tertentu, seperti:
listen-on { 127.0.0.1; 192.168.1.1; };
5. Restart Layanan BIND
Setelah semua konfigurasi selesai, restart layanan BIND untuk menerapkan perubahan:
sudo systemctl restart bind9
6. Uji Konfigurasi DNS
Setelah konfigurasi selesai, Anda bisa menguji server DNS yang baru dengan menggunakan perintah dig atau nslookup dari komputer atau VPS lain.
Misalnya, uji domain “contoh.com” dengan perintah:
dig contoh.com @192.168.1.1
Jika konfigurasi berhasil, Anda akan melihat alamat IP yang sesuai dengan domain Anda.
7. Konfigurasi Firewall
Jika VPS Anda menggunakan firewall (misalnya UFW di Ubuntu), pastikan port DNS (port 53) dibuka agar server dapat menerima permintaan DNS. Anda bisa menambahkan aturan firewall seperti berikut:
sudo ufw allow 53
Kesimpulan
Membuat DNS sendiri di VPS memberikan kontrol penuh terhadap pengelolaan nama domain dan dapat meningkatkan kinerja serta privasi. Dengan mengikuti langkah-langkah di atas, Anda dapat mengonfigurasi server DNS pribadi menggunakan BIND9. Pastikan untuk menguji konfigurasi secara menyeluruh dan mempertimbangkan pengaturan keamanan, seperti membatasi akses ke server DNS Anda agar tidak digunakan oleh pihak yang tidak sah.