Master-Slave-DNS-with-BIND9 =============== 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 ```