Menambahkan SubDomain PowerDNS dan Konfigurasi Master-Slave d PowerAdmin pada Ubuntu 20.04

Apa itu Subdomain?

Sebelum kita masuk ke proses menambahkan subdomain pada PowerAdmin, penting untuk memahami apa itu subdomain. Subdomain merupakan bagian dari sebuah domain yang dianggap sebagai suatu hal yang terpisah oleh sistem DNS. Mereka ditambahkan di depan nama domain utama dan diikuti oleh tanda titik (contoh: ns1.google.com). Subdomain dapat digunakan untuk mengelola dan mengalihkan atau mengarahkan suatu traffik ke bagian tertentu dari situs web atau untuk mengelompokkan alamat IP berdasarkan fungsi atau lokasi.

PowerDNS

Pada materi sebelumnya kita sudah membahas bagaimana melakukan konfigurasi DNS Service menggunakan aplikasi BIND9. Di kesempatan kali ini saya akan menjelaskan lagi bagaimana melakukan konfigurasi DNS Service tapi menggunakan aplikasi yang berbeda, yaitu PowerDNS. Disini saya hanya menjelaskan bagaimana menambah subdomain menggunakan UI Poweradmin dan juga melakukan konfigurasi Master-Slave menggunakan PowerDNS.

Perbedaan pada BIND9 dan PowerDNS dapat terlihat dari arsitektur yang digunakan. BIND9 menyimpan semua konfigurasi Domain pada file konfigurasi zona. Berbeda dengan PowerDNS yang mana menggunakan database sebagai media penyimpanan semua Domain yang dibuat.

Kenapa PowerDNS?

Seperti yang saya jelaskan sebelumnya PowerDNS memiliki UI yang dapat mempermudah seorang sistem administrator ketika ingin membuat service DNS. Dengan UI yang sederhana dan mudah dibandingkan BIND9. PowerDNS cocok untuk pengguna yang belum memiliki banyak pengalaman dalam konfigurasi service DNS.

Dikarenakan PowerDNS memungkinkan untuk meyimpan data zona DNS dalam berbagai database seperti MySQL, PostgreSQL dan lainnya. PowerDNS menjadi pilihan yang baik untuk lingkungan yang besar dan membutuhkan skalabilitas yang tinggi. Dengan melakukan penyimpanan data zona di database, dengan PowerDNS jadi mempermudah mengakses dan mengelola zona data yang besar, yang berarti dapat mengatasi permintaan zona DNS yang tinggi dan kompleks dengan kinjera yang lebih baik.

Konfigurasi Menambahkan SubDomain dengan PowerAdmin pada PowerDNS

Requirement/Persyaratan

  • Pastikan sudah menginstal dan konfigurasi PowerDNS pada Server
  • Pastikan sudah menginstal dan konfigurasi PowerAdmin pada Server
  • Pastikan PowerDNS dan PowerAdmin sudah terintegrasi dengan baik
Step 1 – Login PowerAdmin
  1. Buka Browser dan ketikkan IP atau Domain PowerAdmin yang telah terinstall.
  2. Login menggunakan akun admin PowerAdmin, secara default username Administrator adalah admin dengan password yang telah dibikin pada Penginstallan PowerAdmin.Tampilan awal setelah login.
Step 2 – Konfigurasi
  1. Untuk membuat Domain baru pilih Menu Add Master Zone. Masukkan domain yang akan dibuat sebagai zona master. disini saya membuat domain dengan nama syawal-idn.id. Kemudian klik Add Zone untuk menyimpan.
    • Domain: domain dimana kita akan menambahkan zona tersebut.
    • Owner: pemilik untuk zona domain.
    • Template: Template untuk DNS, secara default isi None.
    • Type: Untuk type pilih master saja.
  2. Setelah selesai membuat Domain baru, pilih menu List Zone dan pilih Domain yang ingin ditambah SubDomain nya.
  3. Disini kita dapat melihat daftar zona yang ada. Untuk sekarang masih kosong, kita hanya dapat melihat SOA saja.Isi Dari SOA Record:
    • Name: Di isi dengan domain utama.
    • syawal-idn.id: Name Server (NS) utama untuk domain tersebut atau Name Server (NS) pertama dari sekian banyak Name Server yang ada pada list domain tersebut.
    • root.syawal-idn.id: Sebagai hostmaster atau pihak yang bertanggung jawab untuk domain.
    • 2023072536: Angka ini merupakan timestamp yang akan berubah kapanpun kita meng-update domain kita.
    • 28800: Jumlah detik dimana Zone tersebut harus di-refresh.
    • 7200: Jumlah detik dimana Zone tersebut harus di-retry setelah terjadi kegagalan refresh.
    • 604800: Batas atas (dalam detik) sebelum sebuah Zone dianggap tidak lagi autoritatif.
    • 86400: TTL (Time to Live) atau waktu dalam detik di mana rekam DNS akan di-cache oleh server DNS lain sebelum meminta informasi terbaru dari sumber asli.
  4. Pada bagian bawah kalian dapat melihat ada form untuk mengisi atau menambah SubDomain. Disitu terdapat beberapa judul kolom yang berbeda. Setiap kolom mempunyai fungsi yang berbeda, berikut ini penjelasan mengenai judul di setiap kolom yang ada:
    • Name: Untuk memasukkan nama subdomain yang ingin Anda tambahkan. Misalnya, jika Anda ingin menambahkan subdomain “ns1” di domain “syawal-idn.id,” Anda harus mengisi “ns1” di sini.
    • Type: Pilih jenis DNS Record yang ingin Anda tambahkan. Untuk subdomain biasa, pilih “A” jika Anda menggunakan alamat IP versi 4 (IPv4) atau “AAAA” jika Anda menggunakan alamat IP versi 6 (IPv6).
    • Content: Masukkan alamat IP yang ingin Anda asosiasikan dengan subdomain. Ini adalah alamat IP tempat subdomain akan mengarah.
    • TTL (Time to Live): TTL adalah waktu dalam detik di mana rekam DNS akan di-cache oleh server DNS lain sebelum meminta informasi terbaru dari sumber asli. Biarkan nilai default atau sesuaikan dengan preferensi Anda.
    • Priority: Jika Anda menambahkan rekam DNS tipe MX (Mail Exchange), Anda dapat mengatur prioritasnya di sini. Biarkan nilai default jika Anda tidak yakin.
    • Comments: Opsional, Anda dapat menambahkan komentar yang akan membantu menggambarkan rekam DNS.
  5. Berikut ini hasil beberapa domain yang saya buat:Disini saya membuat 2 A Record untuk dengan subdomain ns1.syawal-idn.id dan ns2.syawal-idn.id sebagai NS untuk domain utamanya. Saya juga membuat 2 CNAME domain yaitu master.syawal-idn.id yang mengarah ke domain ns1.syawal-idn.id dan slave.syawal-idn.id yang mengarah ke domain ns2.syawal-idn.id.Buat yang belum paham fungsi dari masing – masing DNS Record dapat membaca list dibawah ini:
    • A Record atau Address record: menyimpan informasi soal hostname, TTL(Time To Live) dan IPv4.
    • AAA Record: Menyimpan informasi hostname dan IPv6.
    • MX Record: Merekam server STMP yang khusus untuk saling berkirim email di suatu domain.
    • CNAME Record: Berguna untuk redirect domain ataupun subdomain ke sebuah IP Address.
    • NS Record: Record ini biasanya digunakan untuk subdomain yang memiliki hosting web berbeda domain.
    • PTR Record: Bergunan untuk memberikan izin pada DNS resolver untuk menyediakan informasi IP Address.
    • SOA Record: Record ini merujuk pada Authoritative Name Server serta informasi lengkap sebuah domain.
Step 3 – Pengujian atau Pengetesan

Sekarang kita masuk pada pengujian. Pengujian dapat dilakukan pada client ataupun server DNS itu sendiri. Pengujian dilakukan dengan 2 cara, yaitu menggunakan perintah nslookup dan perintah dig. Berikut ini cara pengujiannya:

  1. Pengujian menggunakan perintah nslookup
    • Buka terminal client yang digunakan sebagai tester, kemudian ketikkan perintah:#nslookup <domain> contoh #nslookup ns1.syawal-idn.idHasil yang akan dikeluarkan akan seperti ini:Disini dapat dilihat IP address dari server DNS yang di nslookup.
  2. Pengujian menggunakan perintah dig
    • Selanjutnya kita akan uji coba menggunakan perintah dig. Buka terminal client atau host yang digunakan sebagai tester. ketikkan perintah:#dig <domain> A @<ip address> contoh #dig ns1.syawal-idn.id A @10.23.1.239Hasilnya akan seperti ini:Dari hasil diatas dapat dilihat kita mendapat jawaban dari domain ns1.syawal-idn.id yang memberikan IP address si server tersebut.

Konfigurasi Master-Slave PowerDNS pada Ubuntu 20.04

Requirements/Persyaratan

  • Pastikan Server Master sudah terkonfigurasi dengan baik dan bisa dijalankan.
  • Pastikan Server Slave sudah terinstall PowerDNS dan MariaDB sebagai Database.
  • Server Slave tidak perlu di instal PowerAdmin.
  • Database Server Slave untuk PowerDNS dipastikan tidak terisi dengan Domain.
Step 1 – Konfigurasi Server Master
  1. Pertama kita akan pergi ke direktori powerdns dengan mengetikkan perintah berikut:$cd /etc/powerdns
  2. Masuk ke file konfig pdns dengan mengetikkan perintah dibawah:$sudo vim /etc/powerdns/pdns.conf
  3. Uncomment perintah – perintah dibawah ini dan sesuaikan dengan konfigurasi kalian.allow-axfr-ips=<ip slave> local-address=<ip master> master=yes
  4. Terakhir restart service PowerDNS.$sudo systemctl restart pdns
Step 2 – Konfigurasi Server Slave
  1. Konfigurasi Server Slave kurang lebih sama seperti konfig Server Master. Kita pergi dulu ke direktori dari powerdns.$cd /etc/pdns
  2. Kemudian, masuk ke file konfig powerdns.$sudo vim pdns.conf
  3. Uncomment perintah – perintah dibawah dan sesuaikan dengan konfigurasi yang ada.allow-dnsupdate-from=<ip master> allow-notify-from=<ip master> local-address=<ip slave> master=no slave=yes slave-cycle-interval=60 superslave=yes
  4. Masuk ke Database Mysql Server Slave$sudo mysql >use pdns;Masuk ke Database PowerDNS yang telah dibuat.>use pdns;
  5. Kita akan membuat sebuah bari baru pada tabel supermasters dengan perintah berikut>INSERT INTO pdns.supermasters VALUES ('ip master', 'domain server slave', 'admin') contoh >INSERT INTO pdns.supermasters VALUES ('10.23.1.239', 'ns2.syawal-idn.id', 'admin')
  6. Terakhir restart service PowerDNS.$sudo systemctl restart pdns
Step 3 – Pengujian atau Pengecekan
  1. Pada pengujian kita akan memberikan notify dari Server Master dengan perintah dibawah ini:$pdns_control notify syawal-idn.idNantinya Server Master akan memberikan Log apakah Server Slave sudah menerima replikasi dengan baik atau belum.
  2. Kalian juga dapat mengecek Log dari Server Slave apakah sudah menerima replikasi atau belum.Dari Log dapat dilihat Server Slave menerima replikasi domain dengan baik.
  3. Selanjutnya kita akan melakukan pengecekan pada Database Server Slave. Masuk KeDatabase Mysql Server Slave dan gunakan Database PowerDNS.$sudo mysql >use pdns;
  4. Tampilkan semua isi Tabel records untuk melihat domain yang sudah tereplikasi dari Server Master.
  5. Terakhir kita akan melakukan pengecekan menggunakan perintah dig.$dig <subdomain> A @domain contoh $dig ns1.syawal-idn.idn A @syawal-idn.idHasilnya akan menampilkan IP Address dari Subdomain kita.

Kesimpulan

Dengan mengikuti langkah-langkah di atas, kalian dapat menambahkan subdomain dengan mudah menggunakan Web UI dari PowerAdmin. Subdomain adalah cara yang efektif untuk mengelompokkan dan mengarahkan suatu trafik ke bagian-bagian khusus dari situs web atau services. PowerAdmin memberikan kemudahan dalam mengelola domain dan subdomain. Selain itu, Konfigurasi master-slave menggunakan PowerDNS adalah solusi yang efisien dan handal untuk mengelola zona DNS di lingkungan yang berukuran besar. Dengan menggunakan konfigurasi ini, kita dapat menghindari kegagalan pada saat salah satu server dalam keadaan down dan juga dapat meningkatkan kinerja serta keandalan service DNS.

Selamat Mencoba dan Semoga Berhasil~

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, Klik disini untuk info lengkapnya.

Penulis : M. Syawal Saputra