diff --git a/README.md b/README.md index abd1ecd..2be120e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,185 @@ Master-Slave-DNS-with-BIND9 =============== -Repository ini berisikan instalasi dan konfigurasi Master-Slave DNS pada Bind9 \ No newline at end of file +Repository ini berisikan instalasi dan konfigurasi Master-Slave DNS pada Bind9 + +## Task +Instalasi dan Konfigurasi +* BIND9 +* Glue Record Domain + +Ketentuan pengerjaan: +* Menggunakan 2 VPS dengan OS centos7 +* Menggunakan domain utama (domain.tld) +* Menggunakan DNS Server BIND9 +* Menggunakan Master Slave Bind9 + +## Instalasi dan Konfigurasi BIND9 (Master) +#### Step 1: Install BIND9 +Untuk melakukan instalasi BIND9 yang pertama adalah melakukan remote ke IP VPS dengan menggunakan SSH + +> ```$ ssh root@ipaddress``` + +Setelah berhasil login ke VPS, lakukan pembaharuan paket/repository dari system operasi Centos7 dengan perintah sebagai berikut: + +> ```# yum -y update``` + +Setelah melakukan update system selanjutnya lakukan install epel-release + +> ```# yum install epel-release -y``` + +Setelah melakukan install epel-release selanjutnya kita install bind9 + +> ```# yum install bind bind-utils -y``` + +#### Step 2: Konfigurasi BIND9 + +Kemudian lakukan backup file konfigurasi bind dengan melakukan copy file tersebut + +> ```# cp /etc/named.conf /etc/named.conf.ori``` + +Lakukan perubahan konfigurasi named.conf dari sisi Master + +> ```# vi /etc/named.conf``` + +Rubah isi dari file tersebut. + +> ``` +listen-on port 53 { 127.0.0.1; 103.23.20.70;}; ( masukan ip server bind ) +listen-on-v6 port 53 { ::1; }; +allow-query { 127.0.0.1; 103.23.20.70; any; }; ( masukan ip server bind ) +allow-query-cache { 127.0.0.1; 103.23.20.70; any ;}; ( masukan ip server bind ) +``` + +Kemudian masukan konfigurasi Zona Master pada file konfigurasi BIND9 + +> ``` +zone "padiakse.my.id" { + type master; (masukan type disini sebagai master) + file "/var/named/for.dns"; ( Penempatan file zona ) + allow-update { 117.53.47.189; }; ( Mengizinkan Update zone ke ip bind slave ) + allow-transfer { 117.53.47.189; }; ( Mengizinkan mentransfer zone ke ip bind slave ) + also-notify { 117.53.47.189; }; (Melakukan notify setiap kali ada peruabahan zone dari sisi master ke slave) + notify yes; + }; +``` + +Setelah itu buat File Zone sesuai dengan penempatan file Zona pada file konfigurasi Bind + +> ```# vi /var/named/for.dns``` + +Berikut isi dari file zona Tersebut. + +> ``` +$TTL 86400 +@ IN SOA padiakse.my.id. root.padiakse.my.id. ( + 2403202148 ;Serial yyMMddhhmm + 3600 ;Refresh + 1800 ;Retry + 604800 ;Expire + 86400 ;Minimum TTL +) +@ IN NS binds1.padiakse.my.id. +@ IN NS binds2.padiakse.my.id. +@ IN A 103.23.20.70 +binds1 IN A 103.23.20.70 +binds2 IN A 117.53.47.189 +bind IN A 117.53.47.189 +``` + +Setelah file Zona selesai kita enable konfigurasi Bind9 Server dan menjalankan servicenya + +> ``` +# systemctl enable named +# systemctl start named +``` + +Pastikan service berjalan dengan normal. + +> ``` +# systemctl status named +● named.service - Berkeley Internet Name Domain (DNS) + Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled) + Active: active (running) since Tue 2020-03-24 21:50:22 WIB; 15h ago + Process: 8204 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS) + Process: 7386 ExecReload=/bin/sh -c /usr/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS) + Process: 8215 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS) + Process: 8213 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS) + Main PID: 8216 (named) + CGroup: /system.slice/named.service + └─8216 /usr/sbin/named -u named -c /etc/named.conf +``` + + +## Instalasi dan Konfigurasi BIND9 (Slave) +#### Step 1: Install BIND9 +Untuk melakukan instalasi BIND9 yang pertama adalah melakukan remote ke IP VPS dengan menggunakan SSH + +> ```$ ssh root@ipaddress``` + +Setelah berhasil login ke VPS, lakukan pembaharuan paket/repository dari system operasi Centos7 dengan perintah sebagai berikut: + +> ```# yum -y update``` + +Setelah melakukan update system selanjutnya lakukan install epel-release + +> ```# yum install epel-release -y``` + +Setelah melakukan install epel-release selanjutnya kita install bind9 + +> ```# yum install bind bind-utils -y``` + +#### Step 2: Konfigurasi BIND9 + +Kemudian lakukan backup file konfigurasi bind dengan melakukan copy file tersebut + +> ```# cp /etc/named.conf /etc/named.conf.ori``` + +Lakukan perubahan konfigurasi named.conf dari sisi Master + +> ```# vi /etc/named.conf``` + +Rubah isi dari file tersebut. + +> ``` +listen-on port 53 { 127.0.0.1; 117.53.47.189; }; ( masukan ip server bind ) +listen-on-v6 port 53 { none; }; +allow-query { 127.0.0.1; 117.53.47.189; any; }; ( masukan ip server bind ) +allow-query-cache { 127.0.0.1; 117.53.47.189; any ;}; ( masukan ip server bind ) +``` + +Kemudian masukan konfigurasi Zona Master pada file konfigurasi BIND9 + +> ``` +zone "padiakse.my.id" { + type slave; (masukan type disini sebagai Slave) + allow-transfer { 103.23.20.70; }; ( Mengizinkan Update zone dari Ip master ) + allow-notify { 103.23.20.70; }; ( Mengizinkan mentransfer zone dari Ip master) + masters { 103.23.20.70; }; (Merupakan IP master dari konfigurasi slave) + file "slaves/for.dns"; ( Penempatan file zona ) + masterfile-format text; ( Berguna untuk menerjemahkan zona dari master ke dalam format text) + notify yes; + }; +``` + +Setelah file Zona selesai kita enable konfigurasi Bind9 Server dan menjalankan servicenya + +> ``` +# systemctl enable named +# systemctl start named +``` + +Pastikan service berjalan dengan normal. + +> ``` +# systemctl status named +● named.service - Berkeley Internet Name Domain (DNS) + Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled) + Active: active (running) since Tue 2020-03-24 21:50:42 WIB; 15h ago + Process: 16837 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS) + Process: 16849 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS) + Process: 16847 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS) + Main PID: 16851 (named) + CGroup: /system.slice/named.service + └─16851 /usr/sbin/named -u named -c /etc/named.conf +```