Konfigurasi DNS Master Slave pada CentOS 7

Kali ini saya akan mebahas materi kelanjutan dari DNS Server yang sudah saya posting sebelumnya, Pada umumnya dalam jaringan atau server terdapat istilah redudant yang artinya ada penggati jika yang utama mengalami kegagalan. Dalam DNS Server istilahnya adalah Master Slave, server utama yang menyimpan database asli adalah Master, sedangkan server yang hanya menyalin saja dari yang asli disebut dengan Slave.

Sekarang saya akan menunjukan cara membuat Slave DNS Server, konfigurasi merupakan kelanjutan dari posting saya sebelumnya. Berikut ini adalah topologinya :

Saya akan menambahkan satu zone forward baru dan satu zone reverse baru yaitu server.net dan 10.0.0.64/26, yang menjadi server Utama adalah dlp1 konfigurasi seperti pada posting sebelumnya, dan dlp2 yang merupakan replika dari dlp1.

Konfigurasi Server Master

Di server master kita akan melakukan konfigurasi IP Address server slave yang boleh menyalin database dari server master ini, melanjutkan konfigurasi sebelumnya dan juga menambahkan zone forward, reverse baru.

  1. Edit file konfigurasi bind /etc/named.conf
  2. [root@dlp1 ~]# nano /etc/named.conf
    • Pada bagian allow-transfer tambahkan IP Address server DNS Slave agar diizinkan melakukan transfer penyalinan. Jika tidak ada allow-transfer maka tambahkan saja.
    • options {
      listen-on port 53 { any; };
      listen-on-v6 port 53 { none; };
      directory "/var/named";
      dump-file "/var/named/data/cache_dump.db";
      statistics-file "/var/named/data/named_stats.txt";
      memstatistics-file "/var/named/data/named_mem_stats.txt";
      allow-query { any; };
      allow-transfer { localhost; 10.0.0.66; };
    • Kemudian pada bagian paling bawah kita tambahkan zone forward dan reverse baru.
    • zone "jaringan.org" IN { //Forward Zone
      type master; //Master atau server DNS utama
      file "/var/named/db.jaringan"; //File database zone
      };


      zone "server.net" IN {
      type master;
      file "/var/named/db.server";
      };


      zone "0.18.172.in-addr.arpa" IN { //Reverse Zone
      type master;
      file "/var/named/db.18";
      };


      zone "0.0.10.in-addr.arpa" IN {
      type master;
      file "/var/named/db.64";
      };


      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
    • Simpan file tersebut.
  3. Setelah konfigurasi bind named selesai, sekarang kita buat file database untuk zone yang baru.
    • Seperti biasa salin saja file database contoh yang sudah ada.
    • [root@dlp1 ~]# cd /var/named/
      [root@dlp1 named]# cp named.empty db.server
      [root@dlp1 named]# cp named.empty db.64
    • Edit file untuk zone forwardnya, kemudian isi dengan database record DNS sesuai dengan topologi.
    • [root@dlp1 named]# nano db.server
      $TTL 3H
      @ IN SOA jaringan.org. root.jaringan.org. (
      0 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
      @ IN NS dlp1.jaringan.org.
      @ IN A 10.0.0.66
      dlp2 IN A 10.0.0.66
      node03 IN A 10.0.0.67
      node04 IN A 10.0.0.68
      www IN CNAME node03.server.net.
      web IN CNAME node03.server.net.
      mail IN CNAME node03.server.net.
      ftp IN CNAME node04.server.net.
      smb IN CNAME node04.server.net.
      IN MX 0 dlp2.server.net.
    • Sekarang kita edit file reverse.
    • [root@dlp1 named]# nano db.64
      $TTL 3H
      @ IN SOA jaringan.org. root.jaringan.org. (
      0 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
      @ IN NS dlp1.jaringan.org.
      66 IN PTR server.net.
      66 IN PTR dlp2.server.net.
      67 IN PTR node03.server.net.
      68 IN PTR node04.server.net.
  4. Seperti biasa cek sintaks konfigurasi dari kesalahan penulisan.
  5. [root@dlp1 named]# named-checkconf -z
    zone jaringan.org/IN: loaded serial 0
    zone server.net/IN: loaded serial 0
    zone 0.18.172.in-addr.arpa/IN: loaded serial 0
    zone 64.0.0.10.in-addr.arpa/IN: loaded serial 0
    zone localhost.localdomain/IN: loaded serial 0
    zone localhost/IN: loaded serial 0
    zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
    zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
    zone 0.in-addr.arpa/IN: loaded serial 0
  6. Atur permission file database tersebut agar dapat dibaca oleh bind named.
  7. [root@dlp1 named]# chown named:named db.server 
    [root@dlp1 named]# chown named:named db.64
  8. Restart service named untuk memperbarui konfigurasi.
  9. [root@dlp1 named]# systemctl restart named

Konfigurasi Server Slave

Setelah konfigurasi server master selesai dan dapat bekerja dengan baik, sekarang kita akan mengkonfigurasi server slave dlp2 (diposisi kanan pada gambar topologi) agar server ini melakukan replika atau meniru database domain/zone pada server dns master.

  1. Langkah pertama pastinya yaitu menginstall aplikasi bind atau named pada server ini.
  2. [root@dlp2 ~]# yum -y install bind bind-utils
  3. Edit file konfigurasi bind named /etc/named.conf untuk mengatur beberapa parameter.
    • Menetukan listen address, dan siapa saja yang boleh mengakses DNS Server ini.
    • options {
      listen-on port 53 { any; }; //Menerima req DNS dari mana saja
      listen-on-v6 port 53 { none; }; //Mematikan IPv6
      directory "/var/named";
      dump-file "/var/named/data/cache_dump.db";
      statistics-file "/var/named/data/named_stats.txt";
      memstatistics-file "/var/named/data/named_mem_stats.txt";
      allow-query { any; }; //Siapa saja boleh mengakses
    • Kemudian masukan zone forward dan reverse seperti yang ada di server master, tetapi tipenya Slave dan beserta IP Address dari server master yang memiliki databasenya. Letakan skrip ini dibagian bawah.
    • zone "jaringan.org" IN {
      type slave;
      masters {172.18.0.10;};
      };

      zone "server.net" IN {
      type slave;
      masters {172.18.0.10;};
      };

      zone "0.18.172.in-addr.arpa" {
      type slave;
      masters {172.18.0.10;};
      };

      zone "0.0.10.in-addr.arpa" {
      type slave;
      masters {172.18.0.10;};
      };


      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
  4. Buka akses firewall untuk dns pada server ini.
  5. [root@dlp2 ~]# firewall-cmd --add-service=dns --permanent
    success
    [root@dlp2 ~]# firewall-cmd --reload
    success
  6. Restart bind named untuk menyalin database domain dari server master.
  7. [root@dlp2 ~]# systemctl restart named
    [root@dlp2 ~]# systemctl enable named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

    Note : untuk mengetahui jika terjadi sebuah error kita tinggal lihat saya pesan log server, caranya ketikan perintah tail -f /var/log/messages

Setelah selesai mengkonfigurasi semuanya, sekarang kita lakukan testing pada server slave apakah sudah menyalin seluruh database dari server master.

[root@dlp2 ~]# nslookup server.net //Testing A Record
Server: 10.0.0.66
Address: 10.0.0.66#53

Name: server.net
Address: 10.0.0.66

[root@dlp2 ~]# nslookup www.server.net //Testing CNAME alias
Server: 10.0.0.66
Address: 10.0.0.66#53

www.server.net canonical name = node03.server.net.
Name: node03.server.net
Address: 10.0.0.67

[root@dlp2 ~]# nslookup 10.0.0.68 //Testing Reverse
Server: 10.0.0.66
Address: 10.0.0.66#53

68.0.0.10.in-addr.arpa name = node04.server.net.

Jika tidak ada pesan error tandanya semuanya sudah berhasil dan sudah dapat digunakan. Sekian terima kasih mohon maaf jika ada kesalahan.

Konfigurasi DNS Master Slave pada CentOS 7

Kali ini saya akan mebahas materi kelanjutan dari DNS Server yang sudah saya posting sebelumnya, Pada umumnya dalam jaringan atau server terdapat istilah redudant yang artinya ada penggati jika yang utama mengalami kegagalan. Dalam DNS Server istilahnya adalah Master Slave, server utama yang menyimpan database asli adalah Master, sedangkan server yang hanya menyalin saja dari yang asli disebut dengan Slave.

Sekarang saya akan menunjukan cara membuat Slave DNS Server, konfigurasi merupakan kelanjutan dari posting saya sebelumnya. Berikut ini adalah topologinya :

Saya akan menambahkan satu zone forward baru dan satu zone reverse baru yaitu server.net dan 10.0.0.64/26, yang menjadi server Utama adalah dlp1 konfigurasi seperti pada posting sebelumnya, dan dlp2 yang merupakan replika dari dlp1.

Konfigurasi Server Master

Di server master kita akan melakukan konfigurasi IP Address server slave yang boleh menyalin database dari server master ini, melanjutkan konfigurasi sebelumnya dan juga menambahkan zone forward, reverse baru.

  1. Edit file konfigurasi bind /etc/named.conf
  2. [root@dlp1 ~]# nano /etc/named.conf
    • Pada bagian allow-transfer tambahkan IP Address server DNS Slave agar diizinkan melakukan transfer penyalinan. Jika tidak ada allow-transfer maka tambahkan saja.
    • options {
      listen-on port 53 { any; };
      listen-on-v6 port 53 { none; };
      directory "/var/named";
      dump-file "/var/named/data/cache_dump.db";
      statistics-file "/var/named/data/named_stats.txt";
      memstatistics-file "/var/named/data/named_mem_stats.txt";
      allow-query { any; };
      allow-transfer { localhost; 10.0.0.66; };
    • Kemudian pada bagian paling bawah kita tambahkan zone forward dan reverse baru.
    • zone "jaringan.org" IN { //Forward Zone
      type master; //Master atau server DNS utama
      file "/var/named/db.jaringan"; //File database zone
      };


      zone "server.net" IN {
      type master;
      file "/var/named/db.server";
      };


      zone "0.18.172.in-addr.arpa" IN { //Reverse Zone
      type master;
      file "/var/named/db.18";
      };


      zone "0.0.10.in-addr.arpa" IN {
      type master;
      file "/var/named/db.64";
      };


      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
    • Simpan file tersebut.
  3. Setelah konfigurasi bind named selesai, sekarang kita buat file database untuk zone yang baru.
    • Seperti biasa salin saja file database contoh yang sudah ada.
    • [root@dlp1 ~]# cd /var/named/
      [root@dlp1 named]# cp named.empty db.server
      [root@dlp1 named]# cp named.empty db.64
    • Edit file untuk zone forwardnya, kemudian isi dengan database record DNS sesuai dengan topologi.
    • [root@dlp1 named]# nano db.server
      $TTL 3H
      @ IN SOA jaringan.org. root.jaringan.org. (
      0 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
      @ IN NS dlp1.jaringan.org.
      @ IN A 10.0.0.66
      dlp2 IN A 10.0.0.66
      node03 IN A 10.0.0.67
      node04 IN A 10.0.0.68
      www IN CNAME node03.server.net.
      web IN CNAME node03.server.net.
      mail IN CNAME node03.server.net.
      ftp IN CNAME node04.server.net.
      smb IN CNAME node04.server.net.
      IN MX 0 dlp2.server.net.
    • Sekarang kita edit file reverse.
    • [root@dlp1 named]# nano db.64
      $TTL 3H
      @ IN SOA jaringan.org. root.jaringan.org. (
      0 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
      @ IN NS dlp1.jaringan.org.
      66 IN PTR server.net.
      66 IN PTR dlp2.server.net.
      67 IN PTR node03.server.net.
      68 IN PTR node04.server.net.
  4. Seperti biasa cek sintaks konfigurasi dari kesalahan penulisan.
  5. [root@dlp1 named]# named-checkconf -z
    zone jaringan.org/IN: loaded serial 0
    zone server.net/IN: loaded serial 0
    zone 0.18.172.in-addr.arpa/IN: loaded serial 0
    zone 64.0.0.10.in-addr.arpa/IN: loaded serial 0
    zone localhost.localdomain/IN: loaded serial 0
    zone localhost/IN: loaded serial 0
    zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
    zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
    zone 0.in-addr.arpa/IN: loaded serial 0
  6. Atur permission file database tersebut agar dapat dibaca oleh bind named.
  7. [root@dlp1 named]# chown named:named db.server 
    [root@dlp1 named]# chown named:named db.64
  8. Restart service named untuk memperbarui konfigurasi.
  9. [root@dlp1 named]# systemctl restart named

Konfigurasi Server Slave

Setelah konfigurasi server master selesai dan dapat bekerja dengan baik, sekarang kita akan mengkonfigurasi server slave dlp2 (diposisi kanan pada gambar topologi) agar server ini melakukan replika atau meniru database domain/zone pada server dns master.

  1. Langkah pertama pastinya yaitu menginstall aplikasi bind atau named pada server ini.
  2. [root@dlp2 ~]# yum -y install bind bind-utils
  3. Edit file konfigurasi bind named /etc/named.conf untuk mengatur beberapa parameter.
    • Menetukan listen address, dan siapa saja yang boleh mengakses DNS Server ini.
    • options {
      listen-on port 53 { any; }; //Menerima req DNS dari mana saja
      listen-on-v6 port 53 { none; }; //Mematikan IPv6
      directory "/var/named";
      dump-file "/var/named/data/cache_dump.db";
      statistics-file "/var/named/data/named_stats.txt";
      memstatistics-file "/var/named/data/named_mem_stats.txt";
      allow-query { any; }; //Siapa saja boleh mengakses
    • Kemudian masukan zone forward dan reverse seperti yang ada di server master, tetapi tipenya Slave dan beserta IP Address dari server master yang memiliki databasenya. Letakan skrip ini dibagian bawah.
    • zone "jaringan.org" IN {
      type slave;
      masters {172.18.0.10;};
      };

      zone "server.net" IN {
      type slave;
      masters {172.18.0.10;};
      };

      zone "0.18.172.in-addr.arpa" {
      type slave;
      masters {172.18.0.10;};
      };

      zone "0.0.10.in-addr.arpa" {
      type slave;
      masters {172.18.0.10;};
      };


      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
  4. Buka akses firewall untuk dns pada server ini.
  5. [root@dlp2 ~]# firewall-cmd --add-service=dns --permanent
    success
    [root@dlp2 ~]# firewall-cmd --reload
    success
  6. Restart bind named untuk menyalin database domain dari server master.
  7. [root@dlp2 ~]# systemctl restart named
    [root@dlp2 ~]# systemctl enable named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

    Note : untuk mengetahui jika terjadi sebuah error kita tinggal lihat saya pesan log server, caranya ketikan perintah tail -f /var/log/messages

Setelah selesai mengkonfigurasi semuanya, sekarang kita lakukan testing pada server slave apakah sudah menyalin seluruh database dari server master.

[root@dlp2 ~]# nslookup server.net //Testing A Record
Server: 10.0.0.66
Address: 10.0.0.66#53

Name: server.net
Address: 10.0.0.66

[root@dlp2 ~]# nslookup www.server.net //Testing CNAME alias
Server: 10.0.0.66
Address: 10.0.0.66#53

www.server.net canonical name = node03.server.net.
Name: node03.server.net
Address: 10.0.0.67

[root@dlp2 ~]# nslookup 10.0.0.68 //Testing Reverse
Server: 10.0.0.66
Address: 10.0.0.66#53

68.0.0.10.in-addr.arpa name = node04.server.net.

Jika tidak ada pesan error tandanya semuanya sudah berhasil dan sudah dapat digunakan. Sekian terima kasih mohon maaf jika ada kesalahan.

Membangun server DNS pada CentOS 7

DNS kepanjangan dari Domain Name System adalah sebuah sistem penamaan pada jaringan komputer, yang berfungsi memberikan nama pada setiap Host atau Komputer dan domain (daerah) yang ada di jaringan, dengan ini kita dengan mudah mengingat komputer menggunakan nama yang dikenali manusia, tidak seperti IP Address yang merupakan angka dan mungkin sulit diingat.

Sedangkan DNS Server adalah server yang menyediakan layanan DNS, server ini yang menyimpan database nama domain ataupun komputer, dan akan menerjemahkan dari nama domain menjadi IP Address jika ada yang meminta. Beberapa poin penting dari DNS Server :

  • DNS dapat memberi nama sebuah domain atau daerah (bisa disebut zone atau zona) yang terdiri dari banyak komputer didalamnya.
  • Dari satu nama domain dapat dibuat sub-domain yang bisa digunakan untuk menamai suatu komputer/server (seperti www,web,blog,dll).
  • Menggunakan protokol UDP#53 dalam pengiriman pesan DNS nya, jika ukuran pesannya besar bisa saja menggunakan TCP#53.
  • Dalam satu database zone/domain terdiri dari beberapa jenis record yang memiliki perannya masing-masing. Record DNS paling umum :
    • A atau AAAA berfungsi untuk menerjemahkan Domain/Sub-domain > IP Address.
    • PTR kebalikan dari A.
    • NS berisi informasi server dns yang memiliki zone tersebut.
    • MX untuk mengarahkan ke mail server yang ada didomain ini.
    • CNAME alias atau nama lain dari sebuah nama.
Pada Sistem Operasi Linux CentOS 7 aplikasi yang menjalankan service DNS adalah BIND, Berkeley Internet Name Domain, aplikasi yang dapat membangun sebuah DNS server pada hampir semua distro linux termasuk CentOS.
Sekarang kita akan mencoba mengkonfigurasi DNS Server berdasarkan topologi dibawah ini :

Server DLP1

  1. Pertama install terlebih dahulu paket aplikasi bind dari repositori default centos atau repositori pada DVD.
  2. [root@dlp1 ~]# yum -y install bind bind-utils
  3. Konfigurasi BIND, edit file /etc/named.conf menggunakan editor nano.
  4. [root@dlp1 ~]# nano /etc/named.conf
    • Atur listen, client yang boleh melakukan query ke server, dan server slave yang boleh mentransfer dari siapa saja. Atau bisa diatur sendiri siapa saja yang boleh dan tidak boleh berdasarkan IP Address.
    • options {
      listen-on port 53 { any; };
      listen-on-v6 port 53 { none; };
      directory "/var/named";
      dump-file "/var/named/data/cache_dump.db";
      statistics-file "/var/named/data/named_stats.txt";
      memstatistics-file "/var/named/data/named_mem_stats.txt";
      allow-query { any; };
      allow-transfer { any; };
    • Pindah pada baris paling bawah sebelum tulisan Include untuk menambahkan forward zone jaringan.org dan reverse zone untuk IP Network 172.18.0.0/25.
    • zone "." IN {
      type hint;
      file "named.ca";
      };

      zone "jaringan.org" IN { //Forward Zone
      type master; //Master atau server DNS utama
      file "/var/named/db.jaringan"; //File database zone
      };

      zone "0.18.172.in-addr.arpa" IN { //Reverse Zone
      type master;
      file "/var/named/db.18";
      };


      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
      //Penulisan IP Network pada reverse zone harus dibalik dan ditambahkan in-addr.arpa
      //Contoh jika IP Network menggunakan subnetting :
      //IP Network = 192.168.10.128
      //Netmask = 255.255.255.128
      //Range = 129 - 254
      //Maka cara penulisannya tinggal dibalik saja yaitu :
      //128.0.168.192.in-addr.arpa

    • Save file tersebut
  5. Membuat database untuk zone forward jaringan.org dan zone reverse 172.18.0.0/25, lokasi file database sesuai pada konfigurasi sebelumnya di /etc/named.conf
    • Salin saja contoh file database kosong yang telah ada.
    • [root@dlp1 ~]# cd /var/named/
      [root@dlp1 named]# cp named.empty db.jaringan
      [root@dlp1 named]# cp named.empty db.18
    • Edit file zone forward db.jaringan untuk mengisi database zone forward tersebut, ganti beberapa tulisan menjadi seperti dibawah ini.
    • [root@dlp1 named]# nano db.jaringan
      $TTL 3H
      @ IN SOA jaringan.org root.jaringan.org. (
      0 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
      @ IN NS dlp1.jaringan.org.
      @ IN A 172.18.0.10 #root domain
      #sub-domain server dan IP Address-nya
      dlp1    IN A 172.18.0.10 #sub-domain
      node01 IN A 172.18.0.11
      node02 IN A 172.18.0.12
      #cname untuk redirect dari satu domain/sub-dom ke domain/sub-dom lain.
      www IN CNAME dlp1.jaringan.org. #www alias server dlp1
      mail IN CNAME dlp1.jaringan.org.
      smb IN CNAME node01.jaringan.org.
      ftp IN CNAME node02.jaringan.org.
      #sebagai informasi lokasi mail server dari domain "jaringan.org"
      IN MX 0 node01.jaringan.org. #Lokasi mail server

    • Kemudian untuk reverse zone, edit file database reverse zone yang sudah di salin sebelumnya.
    • $TTL 3H
      @ IN SOA jaringan.org. root.jaringan.org. (
      0 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
      @ IN NS dlp1.jaringan.org.
      #Memetakan IP Address ke domain/sub-dom
      #Oktet terakhir IP Address server
      10 IN PTR jaringan.org.
      10 IN PTR dlp1.jaringan.org.
      11 IN PTR node01.jaringan.org.
      12 IN PTR node02.jaringan.org.

  6. Atur permission pada file database yang telah dibuat agar dapat dibaca oleh bind.
  7. [root@dlp1 named]# chown named:named db.jaringan 
    [root@dlp1 named]# chown named:named db.18
  8. Cek sintaks konfigurasi file yang telah diedit tadi apakah ada kesalahan dengan menjalankan perintah dibawah ini.
  9. [root@dlp1 named]# named-checkconf -z
    zone jaringan.org/IN: loaded serial 0
    zone 0.18.172.in-addr.arpa/IN: loaded serial 0

    zone localhost.localdomain/IN: loaded serial 0
    zone localhost/IN: loaded serial 0
    zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
    zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
    zone 0.in-addr.arpa/IN: loaded serial 0
  10. Restart proses named bind untuk memperbarui konfigurasi.
  11. [root@dlp1 ~]# systemctl restart named
    [root@dlp1 ~]# systemctl enable named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
  12. Buka akses firewall.
  13. [root@dlp1 ~]# firewall-cmd --add-service=dns --permanent
    success
    [root@dlp1 ~]# firewall-cmd --reload
    success

Setelah itu testing dns server apakah sudah dapat menerjemahkan Domain ke IP Address.

[root@dlp1 ~]# nslookup jaringan.org
Server: 172.18.0.10
Address: 172.18.0.10#53

Name: jaringan.org
Address: 172.18.0.10

[root@dlp1 ~]# nslookup www.jaringan.org
Server: 172.18.0.10
Address: 172.18.0.10#53

www.jaringan.org canonical name = dlp1.jaringan.org.
Name: dlp1.jaringan.org
Address: 172.18.0.10

[root@dlp1 ~]# nslookup 172.18.0.10
Server: 172.18.0.10
Address: 172.18.0.10#53

10.0.18.172.in-addr.arpa name = jaringan.org.
10.0.18.172.in-addr.arpa name = dlp1.jaringan.org.

Jika tidak ada error tandanya konfigurasi sudah berhasil.

Membangun server DNS pada CentOS 7

DNS kepanjangan dari Domain Name System adalah sebuah sistem penamaan pada jaringan komputer, yang berfungsi memberikan nama pada setiap Host atau Komputer dan domain (daerah) yang ada di jaringan, dengan ini kita dengan mudah mengingat komputer menggunakan nama yang dikenali manusia, tidak seperti IP Address yang merupakan angka dan mungkin sulit diingat.

Sedangkan DNS Server adalah server yang menyediakan layanan DNS, server ini yang menyimpan database nama domain ataupun komputer, dan akan menerjemahkan dari nama domain menjadi IP Address jika ada yang meminta. Beberapa poin penting dari DNS Server :

  • DNS dapat memberi nama sebuah domain atau daerah (bisa disebut zone atau zona) yang terdiri dari banyak komputer didalamnya.
  • Dari satu nama domain dapat dibuat sub-domain yang bisa digunakan untuk menamai suatu komputer/server (seperti www,web,blog,dll).
  • Menggunakan protokol UDP#53 dalam pengiriman pesan DNS nya, jika ukuran pesannya besar bisa saja menggunakan TCP#53.
  • Dalam satu database zone/domain terdiri dari beberapa jenis record yang memiliki perannya masing-masing. Record DNS paling umum :
    • A atau AAAA berfungsi untuk menerjemahkan Domain/Sub-domain > IP Address.
    • PTR kebalikan dari A.
    • NS berisi informasi server dns yang memiliki zone tersebut.
    • MX untuk mengarahkan ke mail server yang ada didomain ini.
    • CNAME alias atau nama lain dari sebuah nama.
Pada Sistem Operasi Linux CentOS 7 aplikasi yang menjalankan service DNS adalah BIND, Berkeley Internet Name Domain, aplikasi yang dapat membangun sebuah DNS server pada hampir semua distro linux termasuk CentOS.
Sekarang kita akan mencoba mengkonfigurasi DNS Server berdasarkan topologi dibawah ini :

Server DLP1

  1. Pertama install terlebih dahulu paket aplikasi bind dari repositori default centos atau repositori pada DVD.
  2. [root@dlp1 ~]# yum -y install bind bind-utils
  3. Konfigurasi BIND, edit file /etc/named.conf menggunakan editor nano.
  4. [root@dlp1 ~]# nano /etc/named.conf
    • Atur listen, client yang boleh melakukan query ke server, dan server slave yang boleh mentransfer dari siapa saja. Atau bisa diatur sendiri siapa saja yang boleh dan tidak boleh berdasarkan IP Address.
    • options {
      listen-on port 53 { any; };
      listen-on-v6 port 53 { none; };
      directory "/var/named";
      dump-file "/var/named/data/cache_dump.db";
      statistics-file "/var/named/data/named_stats.txt";
      memstatistics-file "/var/named/data/named_mem_stats.txt";
      allow-query { any; };
      allow-transfer { any; };
    • Pindah pada baris paling bawah sebelum tulisan Include untuk menambahkan forward zone jaringan.org dan reverse zone untuk IP Network 172.18.0.0/25.
    • zone "." IN {
      type hint;
      file "named.ca";
      };

      zone "jaringan.org" IN { //Forward Zone
      type master; //Master atau server DNS utama
      file "/var/named/db.jaringan"; //File database zone
      };

      zone "0.18.172.in-addr.arpa" IN { //Reverse Zone
      type master;
      file "/var/named/db.18";
      };


      include "/etc/named.rfc1912.zones";
      include "/etc/named.root.key";
      //Penulisan IP Network pada reverse zone harus dibalik dan ditambahkan in-addr.arpa
      //Contoh jika IP Network menggunakan subnetting :
      //IP Network = 192.168.10.128
      //Netmask = 255.255.255.128
      //Range = 129 - 254
      //Maka cara penulisannya tinggal dibalik saja yaitu :
      //128.0.168.192.in-addr.arpa

    • Save file tersebut
  5. Membuat database untuk zone forward jaringan.org dan zone reverse 172.18.0.0/25, lokasi file database sesuai pada konfigurasi sebelumnya di /etc/named.conf
    • Salin saja contoh file database kosong yang telah ada.
    • [root@dlp1 ~]# cd /var/named/
      [root@dlp1 named]# cp named.empty db.jaringan
      [root@dlp1 named]# cp named.empty db.18
    • Edit file zone forward db.jaringan untuk mengisi database zone forward tersebut, ganti beberapa tulisan menjadi seperti dibawah ini.
    • [root@dlp1 named]# nano db.jaringan
      $TTL 3H
      @ IN SOA jaringan.org root.jaringan.org. (
      0 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
      @ IN NS dlp1.jaringan.org.
      @ IN A 172.18.0.10 #root domain
      #sub-domain server dan IP Address-nya
      dlp1    IN A 172.18.0.10 #sub-domain
      node01 IN A 172.18.0.11
      node02 IN A 172.18.0.12
      #cname untuk redirect dari satu domain/sub-dom ke domain/sub-dom lain.
      www IN CNAME dlp1.jaringan.org. #www alias server dlp1
      mail IN CNAME dlp1.jaringan.org.
      smb IN CNAME node01.jaringan.org.
      ftp IN CNAME node02.jaringan.org.
      #sebagai informasi lokasi mail server dari domain "jaringan.org"
      IN MX 0 node01.jaringan.org. #Lokasi mail server

    • Kemudian untuk reverse zone, edit file database reverse zone yang sudah di salin sebelumnya.
    • $TTL 3H
      @ IN SOA jaringan.org. root.jaringan.org. (
      0 ; serial
      1D ; refresh
      1H ; retry
      1W ; expire
      3H ) ; minimum
      @ IN NS dlp1.jaringan.org.
      #Memetakan IP Address ke domain/sub-dom
      #Oktet terakhir IP Address server
      10 IN PTR jaringan.org.
      10 IN PTR dlp1.jaringan.org.
      11 IN PTR node01.jaringan.org.
      12 IN PTR node02.jaringan.org.

  6. Atur permission pada file database yang telah dibuat agar dapat dibaca oleh bind.
  7. [root@dlp1 named]# chown named:named db.jaringan 
    [root@dlp1 named]# chown named:named db.18
  8. Cek sintaks konfigurasi file yang telah diedit tadi apakah ada kesalahan dengan menjalankan perintah dibawah ini.
  9. [root@dlp1 named]# named-checkconf -z
    zone jaringan.org/IN: loaded serial 0
    zone 0.18.172.in-addr.arpa/IN: loaded serial 0

    zone localhost.localdomain/IN: loaded serial 0
    zone localhost/IN: loaded serial 0
    zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
    zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
    zone 0.in-addr.arpa/IN: loaded serial 0
  10. Restart proses named bind untuk memperbarui konfigurasi.
  11. [root@dlp1 ~]# systemctl restart named
    [root@dlp1 ~]# systemctl enable named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
  12. Buka akses firewall.
  13. [root@dlp1 ~]# firewall-cmd --add-service=dns --permanent
    success
    [root@dlp1 ~]# firewall-cmd --reload
    success

Setelah itu testing dns server apakah sudah dapat menerjemahkan Domain ke IP Address.

[root@dlp1 ~]# nslookup jaringan.org
Server: 172.18.0.10
Address: 172.18.0.10#53

Name: jaringan.org
Address: 172.18.0.10

[root@dlp1 ~]# nslookup www.jaringan.org
Server: 172.18.0.10
Address: 172.18.0.10#53

www.jaringan.org canonical name = dlp1.jaringan.org.
Name: dlp1.jaringan.org
Address: 172.18.0.10

[root@dlp1 ~]# nslookup 172.18.0.10
Server: 172.18.0.10
Address: 172.18.0.10#53

10.0.18.172.in-addr.arpa name = jaringan.org.
10.0.18.172.in-addr.arpa name = dlp1.jaringan.org.

Jika tidak ada error tandanya konfigurasi sudah berhasil.

RHEL: Installation Red Hat Enterprise Linux 7.2

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Hii.. Kali ini saya mau iseng sharing ke temen temen yang mau install Red Hat Enterprise Linux hehe.

RHEL bukannya harus punya subscription ya? kalo mau coba coba bisa ga?

Yup, untuk itu kita harus mempunyai sebuah subscription dan membelinya di Red Hat Authorized Partner, tetapi nihh tapiii kita tetap bisa mendapatkan subscription berupa evaluation (trial) selama 30 hari.

So how do we get it?

Kita bisa membuat account di website official Red Hat. Untuk daftar ini kalian membutuhkan email bisnis bukan email umum (yahoo, gmail, outlook, hotmail, dll)

Mengaktifkan Subscription Evaluation

Step 1

Membuat akun Red Hat Untuk mendaftar Akun Red Hat kita bisa buka website official Red Hat di https://access.redhat.com, kemudian klik icon lalu klik Register.

Ada 2 tipe disini, kalau Corporate untuk organisasi, jadi kita pilih Personal, akun tipe ini digunakan untuk sistem milik kita sendiri. (dasar jomblo 😅)

Untuk yang berbintang (*) wajib di isi yaa.
Berikutnya silahkan buat username dan masukan email serta password yang nantinya akan digunakan untuk login https://access.redhat.com.

Isi data perusahaan dan diri kalian ya.

Jangan lupa centang kolom I agree to the Red Hat Portals Terms of Use and Export Control Agreement, kemudian click SUBMIT.

Selanjutnya kita akan mengaktifkan subscription gratiss tis tiss milik kita, click Download kemudian cari product Red Hat Enterprise Linux, click Start Evaluation.

Lalu click CONTINUE.

Click AGREE AND GET STARTED, untuk menerima aturan yang ada. (biasakan baca agreement ya teman teman 😗)

Setelah itu kalian bisa download iso RHEL 7.2 Binary DVD dengan click Download Now.

Instalasi Red Hat Enterprice Linux 7.2

Setelah kita sudah mendapatkan isonya, kalian bisa burn into cd atau buat bootable-nya di flashdisk.
Jika sudah masukan cd atau fd nya, nyalahkan komputer, tunggu proses booting dan pilih Install Red Hat Enterprise Linux 7.2.

Pilih bahasa yang ingin digunakan.

Click DATE & TIME.

Tinggal click aja Negara Indonesia di map, nanti Region dan City akan berubah sendiri menjadi Asia, Jakarta. Kemudian click Done.

Click INSTALLATION DESTINATION untuk membuat partisi pada harddisk.

Pilih I will configure partitioning dan click tombol Done.

Pilih skema partisinya yaitu LVM. Kemudian click Click here to create them automatically agar partisi terbuat secara otomatis. Setelah itu kita klik tombol Done.

Kenapa pilih LVM?

Karena jika dimasa yang akan datang kalian punya rencana untuk menambah kapasitas harddisk tapi malas untuk instal ulang OS nya, kalian harus menggunakan LVM, tipe ini cocok untuk server production.

Lalu click tombol Accept Changes.

Click Begin Installation untuk memulai instalasi RHEL 7.2

Jangan lupa create password untuk root, click ROOT PASSWORD.

Isi password-nya kemudian click Done. (Jika pass nya week tekan tombol Done 2x)

Setelah itu kita bisa menunggu sampai proses instalasi selesai seperti gambar dibawah ini. Dan klik tombol Reboot.

Oke selesai, sekarang kalian sudah bisa instal Red Hat Enterprise tanpa harus membeli subscription nya 😅

Setelah booting dan berjalan dengan baik, kalian tidak akan bisa menggunakan perintah “yum” dikarenakan server RHEL 7.2 kalian belum di aktifasi oleh subscription yang tadi sudah kita start evaluation nya selama 30 hari.

Next update saya akan post bagaimana mengaktifkan subscription-nya.

Semoga bermanfaat. 😄

وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

RHEL: Installation Red Hat Enterprise Linux 7.2

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Hii.. Kali ini saya mau iseng sharing ke temen temen yang mau install Red Hat Enterprise Linux hehe.

RHEL bukannya harus punya subscription ya? kalo mau coba coba bisa ga?

Yup, untuk itu kita harus mempunyai sebuah subscription dan membelinya di Red Hat Authorized Partner, tetapi nihh tapiii kita tetap bisa mendapatkan subscription berupa evaluation (trial) selama 30 hari.

So how do we get it?

Kita bisa membuat account di website official Red Hat. Untuk daftar ini kalian membutuhkan email bisnis bukan email umum (yahoo, gmail, outlook, hotmail, dll)

Mengaktifkan Subscription Evaluation

Step 1

Membuat akun Red Hat Untuk mendaftar Akun Red Hat kita bisa buka website official Red Hat di https://access.redhat.com, kemudian klik icon lalu klik Register.

Ada 2 tipe disini, kalau Corporate untuk organisasi, jadi kita pilih Personal, akun tipe ini digunakan untuk sistem milik kita sendiri. (dasar jomblo 😅)

Untuk yang berbintang (*) wajib di isi yaa.
Berikutnya silahkan buat username dan masukan email serta password yang nantinya akan digunakan untuk login https://access.redhat.com.

Isi data perusahaan dan diri kalian ya.

Jangan lupa centang kolom I agree to the Red Hat Portals Terms of Use and Export Control Agreement, kemudian click SUBMIT.

Selanjutnya kita akan mengaktifkan subscription gratiss tis tiss milik kita, click Download kemudian cari product Red Hat Enterprise Linux, click Start Evaluation.

Lalu click CONTINUE.

Click AGREE AND GET STARTED, untuk menerima aturan yang ada. (biasakan baca agreement ya teman teman 😗)

Setelah itu kalian bisa download iso RHEL 7.2 Binary DVD dengan click Download Now.

Instalasi Red Hat Enterprice Linux 7.2

Setelah kita sudah mendapatkan isonya, kalian bisa burn into cd atau buat bootable-nya di flashdisk.
Jika sudah masukan cd atau fd nya, nyalahkan komputer, tunggu proses booting dan pilih Install Red Hat Enterprise Linux 7.2.

Pilih bahasa yang ingin digunakan.

Click DATE & TIME.

Tinggal click aja Negara Indonesia di map, nanti Region dan City akan berubah sendiri menjadi Asia, Jakarta. Kemudian click Done.

Click INSTALLATION DESTINATION untuk membuat partisi pada harddisk.

Pilih I will configure partitioning dan click tombol Done.

Pilih skema partisinya yaitu LVM. Kemudian click Click here to create them automatically agar partisi terbuat secara otomatis. Setelah itu kita klik tombol Done.

Kenapa pilih LVM?

Karena jika dimasa yang akan datang kalian punya rencana untuk menambah kapasitas harddisk tapi malas untuk instal ulang OS nya, kalian harus menggunakan LVM, tipe ini cocok untuk server production.

Lalu click tombol Accept Changes.

Click Begin Installation untuk memulai instalasi RHEL 7.2

Jangan lupa create password untuk root, click ROOT PASSWORD.

Isi password-nya kemudian click Done. (Jika pass nya week tekan tombol Done 2x)

Setelah itu kita bisa menunggu sampai proses instalasi selesai seperti gambar dibawah ini. Dan klik tombol Reboot.

Oke selesai, sekarang kalian sudah bisa instal Red Hat Enterprise tanpa harus membeli subscription nya 😅

Setelah booting dan berjalan dengan baik, kalian tidak akan bisa menggunakan perintah “yum” dikarenakan server RHEL 7.2 kalian belum di aktifasi oleh subscription yang tadi sudah kita start evaluation nya selama 30 hari.

Next update saya akan post bagaimana mengaktifkan subscription-nya.

Semoga bermanfaat. 😄

وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Struktur Hirarki File System Linux Sesuai Standar FHS

Sebelum belajar tentang Linux Server entah itu Debian, Ubuntu, Kubuntu atau distro yang lain yang berbasis CLI (Command Line Interface). Setidaknya harus tau terlebih dahulu tentang Struktur Hirarki.

Konfigurasi linux server kebanyakan adalah merubah isi file yang didapat dari packet yang di install. Misal, pada saat menginstall dns-server dengan packet bind9. Maka yang perlu dikonfigurasi adalah file-file yang terletak di /etc/bind. Lalu mengubah isi file yang ada didalam folder tersebut.

Struktur hirarki ini digunakan untuk mengelompokkan file dan folder tertentu sesuai fungsinya masing-masing yang mengikuti standar FHS (Filesystems Hierarchy Standard) dan LSB (Linux Standard Base). Tujuannya agar setiap distro linux memiliki hirarki yang sama.

Pada saat menginstall linux di komputer maka nanti akan terbuat secara default folder atau klo dilinux namanya direktori. Direktori ini dibuat berdasarkan FHS tadi.

Hirarkinya seperti gambar berikut :

hirarki-file-sistem-linux
Sumber : https://netsec.id/wp-content/uploads/hirarki-file-sistem-linux.jpg

Yang perlu dipahami adalah bahwa setiap kita melakukan konfigurasi di linux server. Kita harus mengkonfigurasi file yang berada dalam folder-folder tergantung service yang di install.

 

 

Cara Mengganti Nama Interface Network ke eth0 Pada Ubuntu 16.04 (Xenial Xerus)

Assalamualaikum gaes, udah lama nih ga update tulisan di web aku ini hehe. Nah kali ini saya akan memberikan informasi bagaimana cara melakukan penggantian nama interface network pada Ubuntu 16.04.

Seperti yang sudah kita ketahui bersama bahwa Ubuntu telah merilis Ubuntu 16.04 (Xenial Xerus) sebagai versi baru dari varian LTS (Long Term Support). Dan disini ada hal yang menarik jika kita pertama kali mencoba Ubuntu 16.04. Apabila kita mencoba melakukan instalasi pada VMware Workstation atau VirtualBox kita akan mendapati bahwa nama interface network kita adalah ens33. Kemudian kita pasti akan bertanya tanya, kok namanya berubah jadi ens33 yaa? Biasanya kan eth0 kek gitu ada apa nih? Trus gimana nih cara ngerubahnya?.

Oke, tenang-tenang. Sebenarnya itu adalah format default network interface yang baru dari Ubuntu. Tapi mungkin kita ini sudah terbiasa dengan format eth0. Nah, untuk mengubahnya berikut caranya :

  1. Silahkan login dan pakai akses root.
  2. Kemudian cek interface dengan perintah “ip a”.
    # ip a
    
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:1f:ee:72 brd ff:ff:ff:ff:ff:ff
        inet 100.100.100.10/24 brd 100.100.100.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe1f:ee72/64 scope link 
           valid_lft forever preferred_lft forever
    
  3. Kita juga bisa mengecek nama interface yang dibuat system pada saat reboot dengan perintah “dmesg | grep eth”.
    # dmesg | grep eth
    
    [    3.050064] e1000 0000:02:01.0 eth0: (PCI:66MHz:32-bit) 00:0c:29:1f:ee:72
    [    3.050074] e1000 0000:02:01.0 eth0: Intel(R) PRO/1000 Network Connection
    [    3.057410] e1000 0000:02:01.0 ens33: renamed from eth0
    
  4. Berikutnya silahkan edit grub file agar interface kita berubah ke eth0. Buka dulu grub file dengan perintah ini :
    # sudo nano /etc/default/grub

    Dan rubahlah pada bagian “GRUB_CMDLINE_LINUX” yang awalnya seperti ini :

    GRUB_CMDLINE_LINUX=""

    Menjadi seperti ini :

    GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
  5. Setelah itu generate baru grub file nya :
    # sudo grub-mkconfig -o /boot/grub/grub.cfg
    
    Generating grub configuration file ...
    Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
    Found linux image: /boot/vmlinuz-4.4.0-15-generic
    Found initrd image: /boot/initrd.img-4.4.0-15-generic
    Found memtest86+ image: /memtest86+.elf
    Found memtest86+ image: /memtest86+.bin
    done
    
  6. Ubahlah pada “/etc/network/interfaces” dan ganti nama interface menjadi eth0 :
    # nano /etc/network/interfaces
    
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
            address 100.100.100.10
            netmask 255.255.255.0
            gateway 100.100.100.2
            dns-nameserver 8.8.8.8
  7. Terakhir reboot, dan cek kembali dengan perintah “ip a” atau “ifconfig”. Maka hasilnya nama interface telah kembali menjadi eth0.
    # ifconfig 
    eth0      Link encap:Ethernet  HWaddr 00:0c:29:1f:ee:72  
              inet addr:100.100.100.10  Bcast:100.100.100.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe1f:ee72/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:7 errors:0 dropped:0 overruns:0 frame:0
              TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:676 (676.0 B)  TX bytes:1184 (1.1 KB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:160 errors:0 dropped:0 overruns:0 frame:0
              TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1 
              RX bytes:11840 (11.8 KB)  TX bytes:11840 (11.8 KB)
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:1f:ee:72 brd ff:ff:ff:ff:ff:ff
        inet 100.100.100.10/24 brd 100.100.100.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe1f:ee72/64 scope link 
           valid_lft forever preferred_lft forever
    

    Nah, konfigurasi telah selesai. Dan kini kita telah mempunyai nama dengan style yang lama hehe. Emang terkadang beberapa hal itu Old but Gold haha.

    Okay mungkin itu dulu yang bisa saya sampaikan. Jumpa lagi di lain tulisan yaa.
    Wassalamualaikum gaes

[Lab 8.10] Reserve Proxy load balance pada CentOS 7

Sebelumnya saya sudah membahas konfigurasi reserve proxy, yaitu sebuah modules pada apache yang memungkinkan sebuah server menjadi proxy untuk meneruskan permintaan web dari client menuju web server yang ada di belakang server proxy tersebut, tapi pada konfigurasi sebelumnya hanya terdapat satu server saja, kita dapat melakukan load balance pada Web server yang lebih dari satu.

Server controller atau proxy akan mengirimkan secara merata pada setiap Web Server yang ada, misalnya permintaan pertama dialihkan ke node1 dan permintaan kedua akan dialihkan ke node2.

Controller

Kita konfigurasi server ini untuk mengaktifkan mod_proxy agar dapat meneruskan permintaan dari Client menuju Web Server.

  • Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
  • [root@dz-httpd-controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.40
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

  • Sekarang kita install paket HTTPD yang berisi apache untuk menjalankan layanan Web Server pada CentOS 7.
  • yum install httpd
  • Aktifkan layanan httpd dan jalankan lewat systemctl.
  • systemctl enable httpd
    systemctl start httpd
  • Kemudian buka firewall untuk layanan HTTP Port 80 dan juga HTTPS Port 443 dengan firewall-cmd.
  • firewall-cmd --perma --add-port=80/tcp
    firewall-cmd --perma --add-port=443/tcp
    firewall-cmd --reload
  • Cek apakah modules sudah aktif, secara default sudah aktif.
  • [root@dz-httpd-controller ~]# grep "mod_proxy" /etc/httpd/conf.modules.d/00-proxy.conf 
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_express_module modules/mod_proxy_express.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
  • Buat file konfigurasi untuk mod_proxy pada Server ini. dan juga isi daftar domain Web Server yang akan diload balance.
  • [root@dz-httpd-controller ~]# vi /etc/httpd/conf.d/r_proxy.conf 
    <IfModule mod_proxy.c>
    ProxyRequests Off
    <Proxy *>
    Require all granted
    </Proxy>
    # backend server and forwarded path
    ProxyPass / balancer://cluster lbmethod=byrequests
    <proxy balancer://cluster>
    BalancerMember http://node1.centos.dz/ loadfactor=1
    BalancerMember http://node2.centos.dz/ loadfactor=1

    </proxy>
    </IfModule>

  • Restart layanan httpd untuk memperbarui semua konfigurasi.
  • systemctl restart httpd

Node1

Server ini adalah web server sebenarnya, pastikan sudah memiliki domain untuk server ini.

  • Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
  • [root@dz-httpd ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.41
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

  • Sekarang kita install paket HTTPD yang berisi apache untuk menjalankan layanan Web Server pada CentOS 7.
  • yum install httpd
  • Aktifkan layanan httpd dan jalankan lewat systemctl.
  • systemctl enable httpd
    systemctl start httpd
  • Kemudian buka firewall untuk layanan HTTP Port 80 dan juga HTTPS Port 443 dengan firewall-cmd.
  • firewall-cmd --perma --add-port=80/tcp
    firewall-cmd --perma --add-port=443/tcp
    firewall-cmd --reload
  • Kita buat konten HTML pada server ini yang nantinya akan diakses.
  • [root@dz-httpd-node1 ~]# vi /var/www/html/index.html 
    <H1>WEBSITE HTTPD TESTING 123</H1>
    <h3>NODE1 WEB SERVER</h3>

Node2

Server ini adalah web server sebenarnya, pastikan sudah memiliki domain untuk server ini.

  • Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
  • [root@dz-httpd ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.42
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

  • Sekarang kita install paket HTTPD yang berisi apache untuk menjalankan layanan Web Server pada CentOS 7.
  • yum install httpd
  • Aktifkan layanan httpd dan jalankan lewat systemctl.
  • systemctl enable httpd
    systemctl start httpd
  • Kemudian buka firewall untuk layanan HTTP Port 80 dan juga HTTPS Port 443 dengan firewall-cmd.
  • firewall-cmd --perma --add-port=80/tcp
    firewall-cmd --perma --add-port=443/tcp
    firewall-cmd --reload
  • Kita buat konten HTML pada server ini yang nantinya akan diakses.
  • [root@dz-httpd-node1 ~]# vi /var/www/html/index.html 
    <H1>WEBSITE HTTPD TESTING 123</H1>
    <h3>NODE2 WEB SERVER</h3>

Kemudian testing pada client dengan mengakses server proxy lewat web browser.

Dan kemudian kita lakukan refresh dan yang muncul adalah tampilan pada web server yang satunya lagi.

[Lab 8.10] Reserve Proxy load balance pada CentOS 7

Sebelumnya saya sudah membahas konfigurasi reserve proxy, yaitu sebuah modules pada apache yang memungkinkan sebuah server menjadi proxy untuk meneruskan permintaan web dari client menuju web server yang ada di belakang server proxy tersebut, tapi pada konfigurasi sebelumnya hanya terdapat satu server saja, kita dapat melakukan load balance pada Web server yang lebih dari satu.

Server controller atau proxy akan mengirimkan secara merata pada setiap Web Server yang ada, misalnya permintaan pertama dialihkan ke node1 dan permintaan kedua akan dialihkan ke node2.

Controller

Kita konfigurasi server ini untuk mengaktifkan mod_proxy agar dapat meneruskan permintaan dari Client menuju Web Server.

  • Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
  • [root@dz-httpd-controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.40
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

  • Sekarang kita install paket HTTPD yang berisi apache untuk menjalankan layanan Web Server pada CentOS 7.
  • yum install httpd
  • Aktifkan layanan httpd dan jalankan lewat systemctl.
  • systemctl enable httpd
    systemctl start httpd
  • Kemudian buka firewall untuk layanan HTTP Port 80 dan juga HTTPS Port 443 dengan firewall-cmd.
  • firewall-cmd --perma --add-port=80/tcp
    firewall-cmd --perma --add-port=443/tcp
    firewall-cmd --reload
  • Cek apakah modules sudah aktif, secara default sudah aktif.
  • [root@dz-httpd-controller ~]# grep "mod_proxy" /etc/httpd/conf.modules.d/00-proxy.conf 
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_express_module modules/mod_proxy_express.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
  • Buat file konfigurasi untuk mod_proxy pada Server ini. dan juga isi daftar domain Web Server yang akan diload balance.
  • [root@dz-httpd-controller ~]# vi /etc/httpd/conf.d/r_proxy.conf 
    <IfModule mod_proxy.c>
    ProxyRequests Off
    <Proxy *>
    Require all granted
    </Proxy>
    # backend server and forwarded path
    ProxyPass / balancer://cluster lbmethod=byrequests
    <proxy balancer://cluster>
    BalancerMember http://node1.centos.dz/ loadfactor=1
    BalancerMember http://node2.centos.dz/ loadfactor=1

    </proxy>
    </IfModule>

  • Restart layanan httpd untuk memperbarui semua konfigurasi.
  • systemctl restart httpd

Node1

Server ini adalah web server sebenarnya, pastikan sudah memiliki domain untuk server ini.

  • Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
  • [root@dz-httpd ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.41
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

  • Sekarang kita install paket HTTPD yang berisi apache untuk menjalankan layanan Web Server pada CentOS 7.
  • yum install httpd
  • Aktifkan layanan httpd dan jalankan lewat systemctl.
  • systemctl enable httpd
    systemctl start httpd
  • Kemudian buka firewall untuk layanan HTTP Port 80 dan juga HTTPS Port 443 dengan firewall-cmd.
  • firewall-cmd --perma --add-port=80/tcp
    firewall-cmd --perma --add-port=443/tcp
    firewall-cmd --reload
  • Kita buat konten HTML pada server ini yang nantinya akan diakses.
  • [root@dz-httpd-node1 ~]# vi /var/www/html/index.html 
    <H1>WEBSITE HTTPD TESTING 123</H1>
    <h3>NODE1 WEB SERVER</h3>

Node2

Server ini adalah web server sebenarnya, pastikan sudah memiliki domain untuk server ini.

  • Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
  • [root@dz-httpd ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.42
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

  • Sekarang kita install paket HTTPD yang berisi apache untuk menjalankan layanan Web Server pada CentOS 7.
  • yum install httpd
  • Aktifkan layanan httpd dan jalankan lewat systemctl.
  • systemctl enable httpd
    systemctl start httpd
  • Kemudian buka firewall untuk layanan HTTP Port 80 dan juga HTTPS Port 443 dengan firewall-cmd.
  • firewall-cmd --perma --add-port=80/tcp
    firewall-cmd --perma --add-port=443/tcp
    firewall-cmd --reload
  • Kita buat konten HTML pada server ini yang nantinya akan diakses.
  • [root@dz-httpd-node1 ~]# vi /var/www/html/index.html 
    <H1>WEBSITE HTTPD TESTING 123</H1>
    <h3>NODE2 WEB SERVER</h3>

Kemudian testing pada client dengan mengakses server proxy lewat web browser.

Dan kemudian kita lakukan refresh dan yang muncul adalah tampilan pada web server yang satunya lagi.