A. Tujuan
- Mengerti fungsi DNS Server.
- Mengerti tipe dari DNS Record.
B. Alat pendukung
- Multimedia Proyektor.
- Whiteboard.
- Spidol.
- VMWare.
- Ubuntu Server 16.04.
- Putty.
C. Indikator Pencapaian
Teori
Pengertian Umum
DNS Server adalah server yang meyediakan layanan berupa translasi nama ke IP Address. DNS Server
berisi database alamat IP dan nama host terkait.
Domain Name System (DNS) adalah sistem global untuk menerjemahkan alamat IP ke nama domain
yang dapat dibaca manusia. Ketika pengguna mencoba mengakses alamat web seperti "example.com",
maka web browser akan melakukan request IP Address dari host yang akan diakses tersebut ke DNS
Server. Jika alamat host tersebut sudah ada didalam record atau cache dari DNS server, maka alamat IP
ini akan diberikan kepada komputer yang melakukan request tersebut. Jika belum ada, maka DNS Server
akan berkomunikasi dengan DNS Server lain untuk mendapatkan alamat host tersebut. Setelah
didapatkan, IP Address dari host tersebut akan disimpan didalam cache DNS Server.
Sumber: https://www.assignmenthelp.net/
DNS servers membuat sebuah DNS record yang berisi informasi mengenai sebuah domain atau
hostname, alamat IP yang dipergunakan. Ada sepuluh tipe DNS record yang biasa digunakan.
1. Start of Authority (SOA Record): record ini berisi informasi mengenai nama server yang memegang
otoritas terhadap zone tersebut. Pada record ini juga berisi informasi mengenai email address dari
administrator yang bertanggung jawab pada domain tersebut, domain serial number, termasuk
berapa lama zone ini akan di refresh.
2. Name Server records (NS Record): berisi record mengenai nama server yang mempunyai wewenang
resmi terhadap domain tersebut. Contoh: seluruh record mengenai tedc.com berada pada name
server ns1.tedc.com. Jika ada query yang menanyakan tentang alamat host yang berada pada domain
tedc.com maka query akan diarahkan ke ns1.tedc.com.
3. Address Mapping record (A Record): adalah record sebuah hostname yang diarahkan (pointing) ke
suatu alamat IPv4.
4. IP Version 6 Address record (AAAA Record): adalah record sebuah hostname yang diarahkan
(pointing) ke suatu alamat IPv6.
5. Canonical Name record (CNAME Record): merupakan nama alias suatu hostname, misal: if.tedc.com
mempunyai nama alias informatika.tedc.com, sehingga kita bisa mengakses subdomain tersebut
dengan kedua nama itu, dan akan menuju ke alamat IP yang sama.
6. Mail exchanger record (MX Record): berisi record mengenai nama server yang bertanggung jawab
dalam menerima email yang ditujukan pada domain tersebut. Server email ini mempunyai prioritas,
semakin kecil nilai angkanya maka semakin tinggi pritoritasnya. Misal, server email yang menangani
email@tedc.com terdiri dari dua server email, yaitu mx10.tedc.com dengan prioritas 10 dan
mx20.tedc.com dengan prioritas 20.
Server email pengirim akan berusaha menghubungi server dengan prioritas tertinggi terlebih dahulu
dan akan pindah ke prioritas yang lebih rendah jika yang pertama gagal.
MX record tidak boleh menunjuk ke IP Address langsung, harus ke nama host seperti mx10.tedc.com
atau mx20.tedc.com. Tetapi pada record di names server kita harus menambahkan A Record (IPv4)
atau AAAA record (jika menggunakan IPv6) untuk host mx10.tedc.com atau mx20.tedc.com.
Setiap server email wajib mempunyai MX Record dan jika server email pada suatu domain tidak
mempunyai MX Record maka server email tersebut tidak bisa dikenali oleh server email lain.
7. Reverse-lookup Pointer records (PTR Record): dengan PTR Record, jika ada yang mengakses host kita
dengan menggunakan IP Address, maka akan di pointing ke nama hostname (reverse DNS lookup).
Contoh: Jika alamat web if.tedc.com mempunyai A Record 192.168.1.102, dan ada yang mengakses
web tersebut dengan menggunakan alamat IP 192.168.1.102, maka alamat IP tersebut akan di
reverse ke hostname if.tedc.com
8. Certificate record (CERT Record): record yang menyimpan informasi mengenai encryption
certificates—PKIX, SPKI, PGP, dan lain-lain.
9. Service Location (SRV Record): record yang mirip dengan MX Record, tetapi digunakan untuk
protokol komunikasi. SRV Record menentukan host dan port untuk layanan tertentu seperti Voice
Over IP (VOIP), pesan instan, dan lain-lain. Contoh:
Pada contoh di atas, ‘_sip’ menunjukkan jenis layanan, ‘_tcp’ menunjukkan protokol, dan ‘8080’
menunjukkan port, sedangkan ‘tedc.com’ adalah nama host.
10.Text Record (TXT Record): merupakan resource record, digunakan untuk verifikasi dan validasi email.
Biasanya terdapat dalam dua bentuk yaitu Sender Policy Framework dan DKIM.
BIND 9
Pada DNS Server berbasis Open Source, perangkat lunak yang digunakan untuk menyediakan layanan ini
adalah Berkeley Internet Name Domain (BIND9). DNS Server bekerja pada port 53 dengan protokol UDP.
Skenario Praktikum
Catatan Pendahuluan
Hostname yang digunakan adalah ns1.tedc.com dengan IP address 192.168.1.102, dan gateway
192.168.1.1. Skenario bisa berubah tergantung dengan pengalamatan yang digunakan.
Seluruh perintah harus dijalankan dengan privilege Sudo.
Langkah-langkah
1. Instalasi VMWare.
2. Download ISO Linux Ubuntu 16.04 pada http://releases.ubuntu.com/16.04/ubuntu-16.04.6-server-
i386.iso.
3. Instalasi Linux Ubuntu pada VMWare dengan mengikuti langkah berikut.
Browse letak file ISO sesuai dengan folder tempat file tersebut disimpan.
Klik Close dan Finish. Kemudian klik Power on this virtual machine.
Melihat IP Address
Setelah selesai instalasi Linux Ubuntu Server, selanjutnya kita masuk ke console CLI pada Virtual Machine
untuk akan melihat IP Address pada server. Ketikkan perintah:
ifconfig -a
sudo su
Mengubah IP Address
nano /etc/network/interfaces
Berikan IP Address pada server sesuai dengan alamat yang dipakai pada jaringan kita, contoh:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
Lakukan ping ke google.com untuk memeriksa apakah server kita bisa terhubung ke internet.
ping google.com
Selanjutnya buka Command Prompt pada komputer kita, lakukan ping pada IP Address tersebut. Jika
mendapat Reply berarti antara Server Ubuntu yang diinstall pada Virtual Machine sudah terhubung
dengan komputer kita.
Kemudian konfigurasi server dengan Putty. Buka Putty pada komputer, masukkan IP Address server, dan
pilih port 22, klik open. Jika muncul Putty Security Alert pilih Yes. Masukkan username dan password.
sudo su
apt-get update
Network Time Protocol adalah protokol yang digunakan untuk melakukan sinkronisasi waktu dalam
jaringan baik pada komputer maupun server. Sinkronisasi waktu pada server merupakan hal yang sangat
penting, beberapa aplikasi bisa mengalami masalah terkait dengan sinkronisasi waktu. Sebagai salah
satu contoh, sistem database penjualan online sangat membutuhkan informasi waktu yang akurat pada
saat terjadi transaksi.
Konfigurasi NTP
Ketika Linux Ubuntu Server pertama kali di instalasi, jam pada server tersebut akan disinkronisasikan
dengan server pool Ubuntu. Kita bisa merubah sinkronisasi tersebut dengan server yang terdekat
dengan lokasi kita. Untuk melakukan itu lakukan perubahan pada file /etc/ntp.conf.
nano /etc/ntp.conf
Tambahkan hash “#” pada konfigurasi default, dan tambahkan server yang terdekat dengan kita.
pool 0.id.pool.ntp.org
pool 1.id.pool.ntp.org
pool 2.id.pool.ntp.org
pool 3.id.pool.ntp.org
Instalasi Webmin
Untuk memudahkan kita melakukan administrasi server, install webmin. Download dulu Webmin
dengan perintah:
wget https://prdownloads.sourceforge.net/webadmin/webmin_1.930_all.deb
https://192.168.1.102:10000/
Pilih Advanced, Accept Risk and Continue. Masukkan username dan password. Setelah berhasil login
maka kita akan masuk ke Dashboard Wedmin. Dashboard ini nanti akan kita gunakan untuk
mempermudah administrasi server.
Pada Webmin klik Refresh Module, kemudian klik Server. Disitu akan terlihat services apa yang sudah
terinstall.
Langkah pertama yang akan kita lakukan adalah mengedit nama host, ketik perintah:
nano /etc/hosts
127.0.0.1 localhost
192.168.1.102 ns1.tedc.com ns1
Install BIND9
Kembali ke console pada Putty, install BIND9 (DNS Server) dengan perintah:
apt-get –y install bind9
Setelah instalasi Webmin selesai, buka kembali Dashboard Webmin, klik Refresh Modul. Setelah itu klik
Server. Pada menu server sudah terdapat BIND DNS Server.
/etc/bind/named.conf
nano /etc/bind/named.conf
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
controls {
};
Pada file ini terdapat beberapa nama file konfigurasi BIND, file-file ini diawali dengan nama “named”,
dan merupakan nama proses yang dijalankan oleh BIND. File-file tersebut adalah:
/etc/bind/named.conf.options
/etc/bind/named.conf.local
/etc/bind/named.conf.default-zones
Setelah selesai melakukan instalasi langkah berikutnya adalah menambahkan DNS Forwarders pada file
/etc/bind/named.conf.options. DNS Forwarders yang akan kita gunakan adalah DNS google dengan IP
Address 8.8.8.8 dan 8.8.4.4. Sebelum melakukan editing pastikan bahwa kita sudah dalam privilege sudo.
sudo su
nano /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8;
8.8.4.4;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
Menambahkan Zone
Berikutnya adalah menambahkan zone pada DNS Record Local. Zone yang dibuat adalah zone yang
sesuai dengan kebutuhan atau kepentingan kita. Sebagai contoh kita akan menambahkan zone
“tedc.com”.
nano /etc/bind/named.conf.local
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "tedc.com" {
type master;
file "/var/lib/bind/tedc.com.hosts";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/var/lib/bind/192.168.1.rev";
};
Duplikasi DB Local
Selanjutnya adalah menduplikasi file db.local sesuai dengan nama file yang disebutkan pada
/etc/bind/named.conf.local menjadi dua file, yaitu file tedc.com.hosts sebagai file forward (konversi
domain ke IP Address) dan 192.168.1.rev sebagai file reverse (konversi IP Address ke domain). Untuk
melakukannya ketikkan perintah sebagai berikut:
cp /etc/bind/db.local /var/lib/bind/tedc.com.hosts
cp /etc/bind/db.local /var/lib/bind/192.168.1.rev
Untuk memeriksa apakah kepemilikan file sudah seperti diatas, ketikkan perintah:
cd /var/lib/bind/
ls -la
Menambahkan Host
nano /var/lib/bind/tedc.com.hosts
$ttl 3600
tedc.com. IN SOA ns1.tedc.com. root.tedc.com. (
1570947544 ; serial
10800 ; refresh every 30 minute
3600 ; retry every 5 minute
604800 ; retry every 5 minute
38400 ) ; minimum a day
tedc.com. IN NS ns1.tedc.com.
ns1.tedc.com. IN A 192.168.1.102
if.tedc.com. IN A 192.168.1.102
informatika.tedc.com. IN CNAME if.tedc.com.
nano /var/lib/bind/192.168.1.rev
$ttl 3600
1.168.192.in-addr.arpa. IN SOA ns1.tedc.com. root.tedc.com. (
1570981349
10800
3600
604800
38400 )
1.168.192.in-addr.arpa. IN NS ns1.tedc.com.
102.1.168.192.in-addr.arpa. IN PTR if.tedc.com.
Editing Resolver
Lakukan modifikasi pada file resolv.conf, tujuannya agar server pun dapat mengenali DNS Server yang
berada pada server itu sendiri, mapun DNS Server eksternal. Untuk melakukan editing resolver, ketik
perintah:
nano /etc/resolv.conf
/etc/init.d/networking restart
/etc/init.d/bind9 restart
nslookup
> set type=any
> tedc.com
Server: 192.168.1.102
Address: 192.168.1.102#53
tedc.com
origin = ns1.tedc.com
mail addr = root.tedc.com
serial = 1570947544
refresh = 10800
retry = 3600
expire = 604800
minimum = 38400
tedc.com nameserver = ns1.tedc.com.
dig tedc.com
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;tedc.com. IN A
;; AUTHORITY SECTION:
tedc.com. 3600 IN SOA ns1.tedc.com. root.tedc.com. 1570947544 10800 3600 604800
38400
4. Buat laporan praktikum, sesuai dengan format pada link ini http://bit.ly/formatlaporanTEDC.
5. Buat dengan google docs, berikan link pada google presentation sesuai dengan kelas masing-masing.