Simple DDNS Lab

DDNS

DDNS atau Dynamic Domain Name System adalah sebuah system DNS yang berjalan secara dinamis untuk melakukan penambahan record dns miliknya.

Biasanya, DDNS akan mendapatkan informasi binding sebuah ip address dan juga hostname  nya dari sebuah DHCP server yang ada.

DDNS sering digunakan ketika konfigurasi ip address dari sebuah node penting menggunakan konfigurasi addressing secara DHCP dan bukan statis. Sehingga, pembuatan record DNS pun akan sulit pada skenario tersebut.

 

Pada lab ini, kita akan membuat sebuah sistem DDNS dengan menggunakan topologi di bawah ini :

Keterangan:

  1. Jaringan berada pada subnet 10.10.10.0/24
  2. node1 dan node2 akan mendapatkan ip secara dinamis dari dhcp server
  3. virtual-switch maksudnya adalah untuk menghubungkan semua node pada satu segmen, jadi cukup pastikan semua node/vm menggunakan adapter yang sama

 

Langkah-langkah:

  1. Konfigurasi dns server

Pertama kita akan melakukan konfigurasi pada dns server. Kita akan membuat forward lookup zone untuk zone “smkn22.id” dan juga reverse lookup zone untuk zone “10.10.10.in-addr.arpa”.

*note: forward lookup zone adalah zone yang digunakan untuk meresolve domain ke sebuah ip address, sementara sesuai dengan namanya, reverse lookup zone digunakan untuk mereseolve ip address ke sebuah domain.

 

1.1 Menginstall DNS service

Untuk menginstall DNS service, kita bisa menginstall bind9 dengan menggunakan package manager apt (jika menggunakan ubuntu/debian).

#apt install bind9
 
1.2 Membuat zone

Pergi ke direktori bind9 dengan melakukan cd.

#cd /etc/bind

Lakukan copy dari file “db.local” ke “db.smkn22.id” di direktori /var/cache/bind atau nama file lainnya, untuk mengkonfigurasi record forward lookup zone kita

#cp db.local /var/cache/bind/db.smkn22.id

Copy file “db.127” ke “db.rev” atau nama file lainnya ke direktori /var/cache/bind, untuk mengkonfigurasi record reverse lookup zone kita

#cp db.127 /var/cache/bind/db.rev

Edit kedua file berikut seperti berikut ini:

#cd /var/cache/bind

#nano db.smkn22.id db.rev

Ubah ownership dan group dari record yang kita buat ke user bind dan group bind, serta ubah mode nya menjadi 755

#root chown bind:bind db.smkn22.id db.rev

#root chmod 755 db.smkn22.id db.rev

 

Copy file “named.conf.default-zones” ke file “named.conf.local” dan edit untuk melakukan load zone yang sudah kita buat sebelumnya

#cp named.conf.default-zones named.conf.local

#nano named.conf.local

Keterangan:

  1. Pada line 1, line tersebut berfungsi untuk mendefinisikan zone yang akan kita load
  2. Pada line 2, line tersebut berfungsi untuk mendefinisikan tipe zone kita, disini kita menggunakan tipe master.

*note: pada dns server, ada terminologi master & slave, dimana server master akan mengirimkan setiap perubahan record yang terjadi kepada server slave, dan server slave akan menduplikasi record record yang ada di server master.

  1. Pada line ke-3, line ini berfungsi untuk mengarahkan dns server dimana record-record dari zone tersebut berada.
  2. Pada line ke-4, line ini berfungsi untuk mengizinkan siapa saja yang diperbolehkan untuk melakukan update record pada zone tersebut. Ip address yang diizinkan berada pada bracket “{;};” dengan “;” sebagai permisah antar ip address. Contoh: “{127.0.0.1;10.10.10.1;};”

 

Restart DNS server

#systemctl restart bind9

 

 

  1. Konfigurasi DHCP server

Setelah mengkonfigurasi DNS server, sekarang kita akan melakukan konfigurasi DHCP server, untuk melakukan addressing dinamis kepada node1 dan node2.

 

2.1 Menginstall DNS service

Untuk menginstall DNS service, kita bisa menginstall isc-dhcp-server dengan menggunakan package manager apt (jika menggunakan ubuntu/debian).

#apt install isc-dhcp-server

 

Konfigurasi listener DHCP server

Listener yang dimaksud adalah interface dimana service DHCP kita akan menunggu, mendengar, dan juga merespon paket DHCP yang datang. Jadi pada konfigurasi ini akan kita isi nama interface yang mengarah ke client (node1 & node2).

#nano /etc/default/isc-dhcp-server

 

Konfigurasi DDNS dan DHCP pool

Pada bagian ini kita akan mengkonfigurasi untuk koneksi ke DNS server dan juga untuk DHCP pool nya itu sendiri.

#nano /etc/dhcp/dhcpd.conf

Keterangan:

  1. Pada line 1 berfungsi untuk menentukan jenis update dari DDNS kita, style interim berarti DDNS akan dapat melakukan update pada A record dan juga PTR record. Style ini adalah style yang paling umum digunakan
  2. Pada line 2, berfungsi untuk menyalakan fungsi DDNS
  3. Pada line 3, berfungsi untuk juga menambahkan record dari static mapping DHCP ke DNS server
  4. Melakukan mapping antara sebuah zone dengan alamat server nya.

 

Restart DHCP server

#systemctl restart isc-dhcp-server

 

 

  1. Konfigurasi node1 & node2

Pada bagian ini kita akan melakukan konfigurasi node1 dan node2 sebagai dhcp client dan melihat apakah DDNS sudah berjalan dengan semestinya.

 

Mengubah hostname

DDNS akan mengambil hostname dari dhcp client untuk dijadikan A record ke forward lookup zone nya. Semisal pada contoh ini kita memiliki zone “smkn22.id”, maka ketika hostname kita “node1”, pada DNS server akan tertambah A record untuk “node1.smkn22.id”

 

#hostnamectl hostname <hostname yang diinginkan>

Ctrl+d untuk logout dan merefresh hostname

 

Melakukan DHCP request

Set node1 dan node2 untuk addressing menggunakan DHCP.

#nano /etc/network/interfaces

Lalu lakukan restart pada service networking

#systemctl restart networking

 

 

  1. Verifikasi hasil konfigurasi

Buka vm dari DHCP server dan buka log nya

#journalctl -xe

Keterangan:

  1. Pada line 1, DHCP server menerima paket DHCPDISCOVER, yakni salah satu packet yang ada di dalam protokol DHCP, yang digunakan clien untuk menemukan DHCP server.
  2. Pada line 2, DHCP server meng-offer atau menawarkan ip address 10.10.10.2 ke mac address 00:0c:29:b3:4c:6d dengan hostname client yang ditawarkan adalah node1
  3. Pada line 3, DHCP server menerima paket DHCPREQUEST, yakni paket yang memohon/meminta untuk ip address 10.10.10.2 yang tadi sudah ditawarkan mac address node1
  4. Pada line 4, DHCP server membuat paket DHCPACK atau DHCP Acknowledge yang berfungsi untuk melakukan binding atau memasangkan ip address 10.10.10.2 ke mac address 00:0c:29:b3:4c:6d atau mac address dari node1
  5. Pada line 5, DHCP menambahkan mapping dari zone forward lookup zone untuk node1.smkn22.id dengan ip 10.10.10.2 ke DNS server yang dikonfigurasi.
  6. Pada line 6, DHCP menambahkan mapping dari reverse lookup zone untuk 2.10.10.10.in-addr.arpa ke node1.smkn22.id

 

 

 

 

About Faadhel Mubaarak

Leave a Reply

Your email address will not be published. Required fields are marked *