Nama | NRP |
---|---|
Rayssa Ravelia | 5025211219 |
Immanuel Pascanov Samosir | 5025211257 |
Nomor 1
Nomor 2
Nomor 3
Nomor 4
Nomor 5
Nomor 6
Nomor 7
Nomor 8
Nomor 9
Nomor 10
Nomor 11
Nomor 12
Nomor 13
Nomor 14
Nomor 15
Nomor 16
Nomor 17
Nomor 18
Nomor 19
Nomor 20
Yudhistira akan digunakan sebagai DNS Master, Werkudara sebagai DNS Slave, Arjuna merupakan Load Balancer yang terdiri dari beberapa Web Server yaitu Prabakusuma, Abimanyu, dan Wisanggeni. Buatlah topologi dengan pembagian sebagai berikut. Folder topologi dapat diakses pada drive berikut
Berdasarkan soal tersebut, kelompok kami (B04) mendapatkan topologi no-8
![image](https://private-user-images.githubusercontent.com/89933907/275334787-7f8812be-db98-49d9-b717-300920969759.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzQ3ODctN2Y4ODEyYmUtZGI5OC00OWQ5LWI3MTctMzAwOTIwOTY5NzU5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFiZGE0MDljM2NkM2YxNjYzNmM3ODY0YjAyZTY0YzBmMGJlNjdhZTU4ODM4ZjZhY2Q1MGFmN2JhN2IwMGM5OTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ddaeMNFBa60Wy9Jo9_tWPptOU5JzTE6KDH3Pb7Y1y1s)
Yang dimana topologi-8 sebagai berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275334802-79a6b810-caf4-495c-9e36-5743ebac6bae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzQ4MDItNzlhNmI4MTAtY2FmNC00OTVjLTllMzYtNTc0M2ViYWM2YmFlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI2NTIxZDU4ZDA4NzJhYzUzODk3NjdjYzg4NDEwYzg5N2QzOTk3M2Q1NTI0NzdiMDIxODIyM2QzODkwMmI0OWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Xc5QdQjx6ha9f9Sbb59gbv1t1YcrXuJohVP3rRiOGEY)
Berikut ini adalah topologi yang telah dibuat sesuai dengan ketentuan:
![image](https://private-user-images.githubusercontent.com/89933907/275334843-45fa2d34-b858-49a2-93cd-a17d562f379b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzQ4NDMtNDVmYTJkMzQtYjg1OC00OWEyLTkzY2QtYTE3ZDU2MmYzNzliLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkxYmM1OGVhYzk5MzgyYjkxZDg3MDg1NGU0MzU3OTc3ZmQyOTk3Y2UyYzExYjJlODg0N2ZhOWJlMGFiZTA1ZjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.KbJDIew0NS6271W-5Byfkd-5OExbiBI0RWSwr9yuBCY)
Adapun network configuration masing-masing node sebagai berikut:
Router
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.180.1.1
netmask 255.255.255.0
auto eth2
iface eth2 inet static
address 192.180.2.1
netmask 255.255.255.0
NakulaClient
auto eth0
iface eth0 inet static
address 192.180.1.2
netmask 255.255.255.0
gateway 192.180.1.1
SadewaClient
auto eth0
iface eth0 inet static
address 192.180.1.3
netmask 255.255.255.0
gateway 192.180.1.1
AbimanyuWebServer
auto eth0
iface eth0 inet static
address 192.180.1.4
netmask 255.255.255.0
gateway 192.180.1.1
PrabukusumaWebServer
auto eth0
iface eth0 inet static
address 192.180.1.5
netmask 255.255.255.0
gateway 192.180.1.1
WisanggeniWebServer
auto eth0
iface eth0 inet static
address 192.180.1.6
netmask 255.255.255.0
gateway 192.180.1.1
YudhistiraDNSMaster
auto eth0
iface eth0 inet static
address 192.180.2.4
netmask 255.255.255.0
gateway 192.180.2.1
WerkudaraDNSSlave
auto eth0
iface eth0 inet static
address 192.180.2.3
netmask 255.255.255.0
gateway 192.180.2.1
ArjugaLoadBalancer
auto eth0
iface eth0 inet static
address 192.180.2.2
netmask 255.255.255.0
gateway 192.180.2.1
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buatlah website utama pada node arjuna dengan akses ke arjuna.yyy.com dengan alias www.arjuna.yyy.com dengan yyy merupakan kode kelompok.
Untuk membuat website utama pada node arjuna dengan akses ke arjuna.B04.com dengan alias www.arjuna.B04.com kita harus membuatnya di dalam node Yudhistira. Hal ini dikarenakan Yudhistira berperan sebagai DNSMaster. Berikut ini adalah langkah-langkah yang harus dilakukan:
-
Buat direktori /etc/bind/arjuna/arjuna.B04.com dan copy file db.local ke dalam forlder arjuna yang baru dibuat
-
Kemudian arahkan ke /etc/bind/named.conf.local dan ubah menggunakan nano berikut
Pada file konfigurasi di atas digunakan untuk zone "arjuna.B04.com" dalam server DNS BIND.
zone "arjuna.B04.com"
: Ini adalah awalan konfigurasi zona yang menyatakan bahwa sedang mendefinisikan konfigurasi untuk zona dengan nama "arjuna.B04.com". Dalam DNS, "zone" merujuk pada wilayah domain yang dikelola oleh server DNS.type master;
: Ini adalah tipe zona, yang dalam konteks ini diatur sebagai "master". Tipe "master" menunjukkan bahwa server DNS ini adalah sumber otoritatif untuk zona "arjuna.B04.com". Artinya, server ini adalah sumber utama yang memiliki catatan DNS untuk zona tersebut dan dapat menerima pembaruan terkait zona ini.file "/etc/bind/arjuna/arjuna.B04.com";
: Ini adalah alamat file zona. Ini mengacu pada file yang berisi catatan DNS aktual untuk zona "arjuna.B04.com". File ini adalah tempat di mana akan mendefinisikan catatan A, CNAME, MX, NS, dan catatan DNS lainnya yang terkait dengan domain "arjuna.B04.com".Dengan konfigurasi ini, server DNS BIND telah diinformasikan bahwa ia adalah server otoritatif untuk zona "arjuna.B04.com", dan bahwa catatan DNS terkait dengan zona ini akan ditemukan dalam file "/etc/bind/arjuna/arjuna.B04.com". Ini memungkinkan server BIND untuk meresolusi permintaan DNS yang berkaitan dengan domain "arjuna.B04.com" dan mengembalikan informasi yang tepat.
-
Selanjutnya, ubah isi /etc/bind/arjuna/arjuna.B04.com menjadi seperti berikut:
File
/etc/bind/arjuna/arjuna.B04.com
adalah file zona yang mengandung catatan DNS untuk domain "arjuna.B04.com." Berikut inia dalah penjelasan setiap bagian dari file ini:-
$TTL 604800
: Ini adalah TTL (Time to Live) default untuk catatan DNS dalam zona ini, diukur dalam detik. TTL menunjukkan berapa lama catatan DNS akan disimpan dalam cache DNS sebelum perlu diperbarui. Dalam hal ini, TTL diatur ke 604800 detik, yang setara dengan 1 minggu. -
@ IN SOA arjuna.B04.com. root.arjuna.B04.com. (
: Ini adalah catatan SOA (Start of Authority), yang menunjukkan bahwa "arjuna.B04.com" adalah zona otoritatif, dan "root.arjuna.B04.com" adalah alamat email administrator. Bagian selanjutnya adalah parameter-parameter SOA:2023100901
adalah nomor seri (serial number) zona. Ini adalah tanda waktu yang digunakan untuk mengidentifikasi pembaruan pada zona. Biasanya, akan diperbaharui nomor seri setiap kali Anda melakukan perubahan pada zona.604800
adalah waktu segar (refresh), yaitu berapa sering server DNS lain harus memeriksa zona untuk perubahan. Dalam hal ini, 604800 detik adalah setara dengan 1 minggu.86400
adalah waktu ulang (retry), yang menunjukkan berapa sering server DNS lain harus mencoba lagi jika gagal saat meminta zona.2419200
adalah waktu kadaluwarsa (expire), yaitu berapa lama zona dapat dianggap valid sebelum harus diperbarui oleh sumber otoritatif. Dalam hal ini, 2419200 detik setara dengan 4 minggu.604800
adalah TTL untuk cache negatif, yang mengatur berapa lama catatan DNS yang tidak ditemukan (misalnya, kesalahan DNS) akan disimpan dalam cache negatif.
-
@ IN NS arjuna.B04.com.
: Ini adalah catatan NS yang menunjukkan bahwa "arjuna.B04.com" adalah server Name Server (NS) yang bertanggung jawab atas zona ini. Dalam DNS, catatan NS mengarahkan ke server DNS yang memiliki otoritas atas zona. -
@ IN A 192.180.2.2
: Ini adalah catatan A yang menghubungkan domain "arjuna.B04.com" ke alamat IP 192.180.2.2. Dengan demikian, ketika nama domain "arjuna.B04.com" dicari, ia akan dikembalikan dengan alamat IP ini (IP ArjunaLoadBalancer). Dipilih untuk menggunakan IP ini dikarenakan pada soal dikatakan domain ini mengarah ke node arjuna. -
www IN CNAME arjuna.B04.com.
: Ini adalah catatan CNAME yang menunjukkan bahwa "www" adalah alias dari "arjuna.B04.com". Ini berarti jika seseorang mencari "www.arjuna.B04.com," ia akan diarahkan ke "arjuna.B04.com." -
@ IN AAAA ::1
: Ini adalah catatan AAAA yang menghubungkan domain "arjuna.B04.com" ke alamat IPv6 "::1". Ini berlaku jika ada permintaan DNS untuk alamat IPv6 dari domain "arjuna.B04.com."
-
-
Kemudian restart service dengan
service bind9 restart
Penting untuk dilakukan restart service BIND9 untuk mengaktifkan perubahan konfigurasi dan menerapkan perubahan zona yang dilakukan.
Berikut ini adalah bash untuk perintah nomor 2
#!/bin/bash
# Membuat direktori /etc/bind/arjuna
mkdir -p /etc/bind/arjuna
# Membuat file arjuna.B04.com dan mengeditnya
cat <<EOL > /etc/bind/arjuna/arjuna.B04.com
;
; BIND data file for local loopback interface
;
\$TTL 604800
@ IN SOA arjuna.B04.com. root.arjuna.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS arjuna.B04.com.
@ IN A 192.180.2.2 ; IP arjuna
www IN CNAME arjuna.B04.com.
@ IN AAAA ::1
EOL
# Mengedit named.conf.local
echo 'zone "arjuna.B04.com" {' >> /etc/bind/named.conf.local
echo ' type master;' >> /etc/bind/named.conf.local
echo ' file "/etc/bind/arjuna/arjuna.B04.com";' >> /etc/bind/named.conf.local
echo '};' >> /etc/bind/named.conf.local
# Restart bind9 service
service bind9 restart
echo "Setup DNS telah selesai."
Untuk mengecek keadaan status arjuna.B04.com, kita dapat melakukan ping dari node lain.
Sebagai contoh saya melakukan ping dari NakulaClient. Sebelum melakukan ping, kita harus memastikan bahwa nameserver yang terhubung di dalam /etc/resolv.conf adalah IP Yudhistira sebagai berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275336383-4aa1beb6-ba7a-4d37-9ef0-02007eb51ddd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzYzODMtNGFhMWJlYjYtYmE3YS00ZDM3LTllZjAtMDIwMDdlYjUxZGRkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMyZWIwMmMxZTQ5YzFkYWMyZDc5Y2RmOTE1MGU4MTE1M2NkOGYwMmQ3MDQ1ZGU5MDAzODFlMWZkYTdmM2I0MDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Q6PNyTXv7cko0YW8aApWiVmkT_I8xovRilNATt5v_BI)
Kemudian, dicoba untuk melakukan ping www.arjuna.B04.com dan arjuna.B04.com sebagai berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275336434-0066140d-abde-451d-af79-e3fdfaa86455.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzY0MzQtMDA2NjE0MGQtYWJkZS00NTFkLWFmNzktZTNmZGZhYTg2NDU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYxYWVjNDAwZTFhMGQwYTViMzgyMmNmYzJkMjhkNDQyM2FhMDE0OTYwNzBjOTIyYzRhNjA0MTNkYWU2YTM2ZDImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.e3YQufHezNXNVbneyE2Y5SMvzOS9B40ybXLVpGoIwDw)
Berdasarkan hasil tersebut, dapat dilihat bahwa domain sudah berhasil dibuat. Pada hasil ping tersebut juga dapat dilihat ping berasal dari 192.180.2.2 yang merupakan IP ArjunaLoadBalancer.
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Dengan cara yang sama seperti soal nomor 2, buatlah website utama dengan akses ke abimanyu.yyy.com dan alias www.abimanyu.yyy.com.
Untuk membuat website utama dengan akses ke abimanyu.B04.com dengan alias www.abimanyu.B04.com, kita menggunakan cara yang sama seperti pada soal nomor 2. Hanya saja yang perlu diubah adalah nama arjuna menjadi abimanyu dan IP tujuannya mengarah ke IP AbimanyuWebServer. Berikut ini adalah langkah-langkahnya:
-
Buat direktori /etc/bind/abimanyu/abimanyu.B04.com dan copy file db.local ke dalam forlder arjuna yang baru dibuat
-
Kemudian arahkan ke /etc/bind/named.conf.local dan ubah menggunakan nano berikut
Pada file konfigurasi di atas digunakan untuk zone "abimanyu.B04.com" dalam server DNS BIND.
zone "abimanyu.B04.com" {
: Ini adalah awalan dari definisi zona. Ini menunjukkan bahwa kita akan mendefinisikan zona dengan nama "abimanyu.B04.com".type master;
: Ini menunjukkan bahwa zona ini adalah zona master. Dalam konteks BIND, zona master adalah zona yang memiliki otoritas tertinggi atas catatan DNS di dalamnya. Ini berarti bahwa server BIND ini akan mengelola dan menyimpan informasi otoritatif untuk zona "abimanyu.B04.com" yang disebutkan dalam file ini.file "/etc/bind/abimanyu/abimanyu.B04.com";
: Baris ini menentukan lokasi file zona yang berisi catatan DNS untuk "abimanyu.B04.com". Jadi, semua informasi DNS untuk zona ini akan disimpan dalam file yang ditunjukkan (dalam kasus ini, "/etc/bind/abimanyu/abimanyu.B04.com"). Ini adalah file zona yang akan digunakan oleh server BIND untuk merespons permintaan DNS terkait dengan "abimanyu.B04.com".Dengan konfigurasi ini, server BIND akan mengelola zona "abimanyu.B04.com" sebagai zona master dan akan menggunakan file "/etc/bind/abimanyu/abimanyu.B04.com" sebagai sumber otoritatif untuk semua catatan DNS yang ada di dalam zona tersebut. Semua perubahan terkait dengan zona "abimanyu.B04.com" harus diperbarui dalam file ini dan akan tersedia untuk resolusi DNS ketika diperlukan.
-
Selanjutnya, ubah isi /etc/bind/abimanyu/abimanyu.B04.com menjadi seperti berikut:
File /etc/bind/abimanyu/abimanyu.B04.com
adalah file zona DNS untuk domain "abimanyu.B04.com" dalam server DNS BIND. Ini adalah file yang digunakan untuk mengkonfigurasi catatan DNS yang terkait dengan domain tersebut. Berikut adalah penjelasan baris per baris dari isi file ini:
1. `;`: Ini adalah komentar dalam file konfigurasi DNS. Baris yang dimulai dengan titik koma (;) adalah komentar dan tidak memengaruhi konfigurasi DNS. Ini digunakan untuk memberikan penjelasan atau dokumentasi.
2. `$TTL 604800`: TTL (Time to Live) adalah parameter yang menentukan berapa lama catatan DNS dapat disimpan dalam cache. Dalam kasus ini, TTL diatur ke 604800 detik atau 1 minggu.
3. `@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (2023100901...`: Ini adalah catatan SOA (Start of Authority). Ini mendefinisikan informasi yang berkaitan dengan zona, termasuk:
- Nama Server Otoritatif (NS): "abimanyu.B04.com."
- Alamat email administrator: "root.abimanyu.B04.com."
- Nomor Serial: 2023100901
- Refresh: 604800 detik (7 hari)
- Retry: 86400 detik (1 hari)
- Expire: 2419200 detik (4 minggu)
- Negative Cache TTL: 604800 detik (7 hari)
4. `@ IN NS abimanyu.B04.com.`: Ini adalah catatan NS (Name Server) yang menunjukkan bahwa "abimanyu.B04.com" adalah nama server otoritatif untuk zona "abimanyu.B04.com".
5. `@ IN A 192.180.1.4`: Ini adalah catatan A (Address) yang menghubungkan domain "abimanyu.B04.com" ke alamat IP 192.180.1.4. Ini berarti ketika seseorang mencari "abimanyu.B04.com," server DNS akan memberikan alamat IP ini sebagai jawaban. IP ini adalah IP dari AbimanyuWebServer, dipilih IP ini sebab domain tersebut mengarah ke node abimanyu.
6. `www IN CNAME abimanyu.B04.com.`: Ini adalah catatan CNAME (Canonical Name) yang mengaitkan subdomain "www" dengan "abimanyu.B04.com." Ini berarti bahwa ketika seseorang mencari "www.abimanyu.B04.com," itu akan diarahkan ke "abimanyu.B04.com."
7. `@ IN AAAA ::1`: Ini adalah catatan AAAA yang memberikan alamat IPv6 (::1) untuk domain "abimanyu.B04.com." Ini menghubungkan domain ini dengan alamat IPv6 tertentu.
File ini digunakan oleh server BIND untuk memberikan informasi DNS yang sesuai ketika ada permintaan yang berkaitan dengan zona "abimanyu.B04.com."
- Kemudian restart service dengan
Tujuan dari perintah "service bind9 restart" adalah untuk memulai ulang layanan BIND (Berkeley Internet Name Domain) yang bertanggung jawab atas server DNS. Dengan merestart BIND, diterapkan perubahan konfigurasi baru atau memperbaiki masalah yang terkait dengan layanan DNS tanpa harus memulai ulang seluruh server.
service bind9 restart
Berikut ini adalah file bash nomor 3
#!/bin/bash
# Membuat direktori /etc/bind/abimanyu
mkdir -p /etc/bind/abimanyu
# Membuat file abimanyu.B04.com dan mengeditnya
cat <<EOL > /etc/bind/abimanyu/abimanyu.B04.com
;
; BIND data file for local loopback interface
;
\$TTL 604800
@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS abimanyu.B04.com.
@ IN A 192.180.1.4 ; IP abimanyu
www IN CNAME abimanyu.B04.com.
@ IN AAAA ::1
EOL
# Mengedit named.conf.local
echo 'zone "abimanyu.B04.com" {' >> /etc/bind/named.conf.local
echo ' type master;' >> /etc/bind/named.conf.local
echo ' file "/etc/bind/abimanyu/abimanyu.B04.com";' >> /etc/bind/named.conf.local
echo '};' >> /etc/bind/named.conf.local
# Restart bind9 service
service bind9 restart
echo "Setup DNS telah selesai dengan nama Abimanyu."
Untuk mengecek keadaan status abimanyu.B04.com, kita dapat melakukan ping dari node lain.
Sebagai contoh saya melakukan ping dari SadewaClient. Sebelum melakukan ping, kita harus memastikan bahwa nameserver yang terhubung di dalam /etc/resolv.conf adalah IP Yudhistira sebagai berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275336383-4aa1beb6-ba7a-4d37-9ef0-02007eb51ddd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzYzODMtNGFhMWJlYjYtYmE3YS00ZDM3LTllZjAtMDIwMDdlYjUxZGRkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMyZWIwMmMxZTQ5YzFkYWMyZDc5Y2RmOTE1MGU4MTE1M2NkOGYwMmQ3MDQ1ZGU5MDAzODFlMWZkYTdmM2I0MDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Q6PNyTXv7cko0YW8aApWiVmkT_I8xovRilNATt5v_BI)
Kemudian, dicoba untuk melakukan ping www.abimanyu.B04.com dan abimanyu.B04.com sebagai berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275337427-b8748f2c-9a18-436d-b3a9-cef21ec10951.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzc0MjctYjg3NDhmMmMtOWExOC00MzZkLWIzYTktY2VmMjFlYzEwOTUxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThlZDhjMjA5NmQwMDE4ZDMxMTQ3NTU2NmZjZTdmNDc0ZmMzOGQwOWRjZGU2MDEzNWVmZmYzYjNlNzIwYmFiZGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.h664bndIF2pbeMuFvD_zSkef2-u4IhR0k6KaYaNKogg)
Berdasarkan hasil tersebut, dapat dilihat bahwa domain sudah berhasil dibuat. Pada hasil ping tersebut juga dapat dilihat ping berasal dari 192.180.1.4 yang merupakan IP AbimanyuWebServer.
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Kemudian, karena terdapat beberapa web yang harus di-deploy, buatlah subdomain parikesit.abimanyu.yyy.com yang diatur DNS-nya di Yudhistira dan mengarah ke Abimanyu.
Untuk membuat subdomain parikesit.abimanyu.B04.com dengan abimanyu.B04.com sebagai domain utamanya, berikut ini adalah tahapan yang dilakukan:
- Kita harus mengedit file dari /etc/bind/abimanyu/abimanyu.B04.com menjadi seperti berikut:
;
; BIND data file for local loopback interface
;
\$TTL 604800
@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS abimanyu.B04.com.
@ IN A 192.180.1.4 ; IP abimanyu
www IN CNAME abimanyu.B04.com.
parikesit IN A 192.180.1.4 ; IP abimanyu
@ IN AAAA ::1
![image](https://private-user-images.githubusercontent.com/89933907/275339369-5c7673fc-8a0e-40ae-94ab-7cec05b67486.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzkzNjktNWM3NjczZmMtOGEwZS00MGFlLTk0YWItN2NlYzA1YjY3NDg2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc0NjE0YzE3ZTUxNTJmMTZmMzZiODc5Njk5ZWZkNWQ3ZjI0Zjg1NGRkMTBjMzJmMjY5OGY1ZmI5Y2EzZjk3YzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ME7ZR2qFkhs8-KOw63tbSXYpiLOuFUFmnbN3kXbyq9g)
File `/etc/bind/abimanyu/abimanyu.B04.com` adalah file konfigurasi BIND, yang digunakan untuk mengatur zona DNS untuk domain `abimanyu.B04.com`.Berikut ini adalah pembahasan baris per baris:
1. `; BIND data file for local loopback interface`: Ini adalah komentar untuk memberikan deskripsi tentang isi file. Ini tidak memengaruhi konfigurasi DNS.
2. `$TTL 604800`: TTL (Time to Live) default untuk semua catatan dalam zona ini adalah 604800 detik, atau 1 minggu.
3. `@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (2023100901...`: Ini adalah catatan Start of Authority (SOA) yang mengatur otoritas untuk zona DNS.
- `@` mengacu pada domain utama (`abimanyu.B04.com`).
- `IN` menunjukkan tipe catatan yang berlaku di sini (Internet).
- `SOA` adalah jenis catatan yang menunjukkan informasi otoritas.
- `abimanyu.B04.com.` adalah nama server otoritas.
- `root.abimanyu.B04.com.` adalah alamat email administrator DNS yang diakhiri dengan titik.
- `2023100901` adalah nomor seri untuk catatan ini. Ini harus ditingkatkan setiap kali ada perubahan dalam zona DNS.
- `604800` adalah nilai Refresh, yang menunjukkan berapa lama nama server sekunder harus menunggu sebelum memeriksa apakah ada perubahan di zona DNS ini.
- `86400` adalah nilai Retry, yang menunjukkan berapa lama nama server sekunder harus menunggu sebelum mencoba lagi jika terjadi kesalahan saat mengambil zona DNS ini.
- `2419200` adalah nilai Expire, yang menunjukkan berapa lama zona DNS akan dianggap kadaluarsa jika server sekunder tidak dapat menggunakannya.
- `604800` adalah Negative Cache TTL, yang menunjukkan berapa lama cache negatif (misalnya, jika sebuah domain tidak ada) akan berlaku.
4. `@ IN NS abimanyu.B04.com.`: Ini adalah catatan Name Server (NS) yang menunjukkan bahwa server DNS yang bertanggung jawab untuk zona ini adalah `abimanyu.B04.com`.
5. `@ IN A 192.180.1.4`: Ini adalah catatan Address (A) yang mengaitkan domain utama (`abimanyu.B04.com`) dengan alamat IP `192.180.1.4` (IP AbimanyuWebServer)
6. `www IN CNAME abimanyu.B04.com.`: Ini adalah catatan Canonical Name (CNAME) yang mengaitkan subdomain `www` dengan `abimanyu.B04.com`. Ini berarti ketika seseorang mencoba mengakses `www.abimanyu.B04.com`, itu akan diarahkan ke `abimanyu.B04.com`.
7. `parikesit IN A 192.180.1.4`: Ini adalah catatan Address (A) yang mengaitkan subdomain `parikesit` dengan alamat IP `192.180.1.4` (IP AbimanyuWebServer)
8. `@ IN AAAA ::1`: Ini adalah catatan IPv6 Address (AAAA) yang mengaitkan domain utama (`abimanyu.B04.com`) dengan alamat IPv6 `::1`.
File ini mengatur zona DNS untuk domain `abimanyu.B04.com` dengan beberapa catatan yang menghubungkan domain dan subdomain ke alamat IP atau alamat lainnya.
- Kemudian lakukan perintah
service bind9 restart
Perintah tersebut digunakan untuk menerapkan konfigurasi yang sudah ditetapkan.
Berikut ini adalah file bash untuk soal nomor 4
#!/bin/bash
# Mengubah isi file /etc/bind/abimanyu/abimanyu.B04.com
cat <<EOL > /etc/bind/abimanyu/abimanyu.B04.com
;
; BIND data file for local loopback interface
\$TTL 604800
@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS abimanyu.B04.com.
@ IN A 192.180.1.4 ; IP abimanyu
www IN CNAME abimanyu.B04.com.
parikesit IN A 192.180.1.4 ; IP abimanyu
@ IN AAAA ::1
EOL
# Restart bind9 service
service bind9 restart
echo "Isi file Abimanyu.B04.com telah diubah, dan bind9 telah di-restart."
Untuk mengecek subdomain tersebut, lakukan perintah
ping parikesit.abimanyu.B04.com -c 5
Sebagai contoh saya melakukan ping pada NakulaClient berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275339958-901701ee-5396-4fed-bce4-aafb079973cc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzMzk5NTgtOTAxNzAxZWUtNTM5Ni00ZmVkLWJjZTQtYWFmYjA3OTk3M2NjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNlY2FjMDhlNDAyNzliNzQwMTljODM3OGZjMDU0YWQ0ZDUzNGNhODQ3NmQwNTQ4ODg1Y2Q0ZjYwMDdlNDZlMjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.46fG8nx32QQBVmBLhvSR3I4CljNVuBwfWHIqovJz0no)
Dari hasil ping dapat dilihat bahwa ping berasal dari IP 192.180.1.4 yang merupakan IP AbimanyuWebServer.
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buat juga reverse domain untuk domain utama. (Abimanyu saja yang direverse)
Untuk melakukan reverse domain utama pertama-tama kita harus mengedit file /etc/bind/named.conf.local di YudhistiraDNSMaster dengan menambahkan reverse 3 byte dari IP YudhistiraDNSMaster.
IP Yudhistira adalah 192.180.2.4
dengan 3 byte pertama 192.180.2
sehingga direverse menjadi 2.180.192
. Maka tambahkan pada file /etc/bind/named.conf.local sebagai berikut:
zone "2.180.192.in-addr.arpa." {
type master;
file "/etc/bind/abimanyu/2.180.192.in-addr.arpa";
};
Konfigurasi di atas adalah file konfigurasi BIND yang menentukan zona reverse DNS (zona arpa.in-addr) untuk alamat IP subnet 192.180.2.x. Berikut ini adalah pembahasan tiap barisnya:
-
zone "2.180.192.in-addr.arpa." {
: Ini mendefinisikan zona reverse DNS. Zona reverse digunakan untuk mengaitkan alamat IP dengan nama domain, sebaliknya dari zona DNS biasa yang mengaitkan nama domain dengan alamat IP. "2.180.192.in-addr.arpa." adalah notasi terbalik untuk alamat IP subnet 192.180.2.x. -
type master;
: Ini menunjukkan bahwa zona ini adalah zona master, yang berarti server DNS ini memiliki otoritas penuh atas zona ini dan akan menggunakan file yang ditentukan untuk merespons permintaan DNS yang berkaitan dengan zona reverse ini. -
file "/etc/bind/abimanyu/2.180.192.in-addr.arpa";
: Ini adalah alamat file zona yang berisi catatan DNS untuk zona reverse ini. Catatan DNS dalam file ini akan menghubungkan alamat IP dengan nama domain terkait. Dengan kata lain, ini akan digunakan untuk mengatasi permintaan DNS terkait dengan alamat IP dalam subnet 192.180.2.x dan memberikan nama domain yang sesuai dengan alamat IP tersebut.
Dengan konfigurasi ini, server BIND akan merespons permintaan DNS reverse lookup untuk alamat IP dalam subnet 192.180.2.x dengan menggunakan informasi dalam file "/etc/bind/abimanyu/2.180.192.in-addr.arpa".
Langkah selanjutnya, copy file db.local ke dalam folder abimanyu dan ubah namanya menjadi 2.180.192.in-addr.arpa
cp /etc/bind/db.local /etc/bind/abimanyu/2.180.192.in-addr.arpa
Selanjutnya, edit file /etc/bind/abimanyu/2.180.192.in-addr.arpa menggunakan:
nano /etc/bind/abimanyu/2.180.192.in-addr.arpa
Isi file tersebut sebagai berikut:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
2.180.192.in-addr.arpa. IN NS abimanyu.B04.com.
4 IN PTR abimanyu.B04.com. ; Byte ke-4 YudhistiraDNSServer
File /etc/bind/abimanyu/2.180.192.in-addr.arpa
adalah file zona reverse DNS yang mengaitkan alamat IP dengan nama domain, khususnya untuk subnet 192.180.2.x. Berikut adalah penjelasan isi file lebih detailnya:
-
$TTL 604800
: Ini adalah pengaturan TTL (Time to Live) dalam detik. TTL menentukan berapa lama catatan DNS dapat disimpan dalam cache. Dalam hal ini, TTL diatur ke 604800 detik atau 1 minggu. -
@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (2023100901...
: Ini adalah catatan SOA (Start of Authority) yang mendefinisikan informasi yang berkaitan dengan zona reverse DNS, termasuk:- Nama Server Otoritatif (NS): "abimanyu.B04.com."
- Alamat email administrator: "root.abimanyu.B04.com."
- Nomor Serial: 2023100901
- Refresh: 604800 detik (7 hari)
- Retry: 86400 detik (1 hari)
- Expire: 2419200 detik (4 minggu)
- Negative Cache TTL: 604800 detik (7 hari)
-
2.180.192.in-addr.arpa. IN NS abimanyu.B04.com.
: Ini adalah catatan NS (Name Server) yang menunjukkan bahwa "abimanyu.B04.com" adalah nama server otoritatif untuk zona reverse DNS ini. -
4 IN PTR abimanyu.B04.com. ; Byte ke-4 YudhistiraDNSServer
: Ini adalah catatan PTR (Pointer) yang menghubungkan alamat IP 192.180.2.4 dengan nama domain "abimanyu.B04.com."
Dengan konfigurasi ini, server DNS akan menggunakan file ini untuk mengatasi permintaan reverse DNS lookup terkait dengan alamat IP dalam subnet 192.180.2.x dan akan memberikan nama domain yang sesuai dengan alamat IP tersebut.
Terakhir, jalankan perintah berikut untuk menerapkan konfigurasi yang ditentukan.
service bind9 restart
Untuk mengecek konfigurasi sudah benar, saya melakukan testing pada SadewaClient. Pastikan sudah dilakukan perintah berikut:
apt-get update
apt-get install dnsutils
Berikut ini adalah konfigurasi yang saya tambahkan di bashrc pada SadewaClient dan juga NakulaClient:
![image](https://private-user-images.githubusercontent.com/89933907/275341407-24fa1438-5d44-4a2a-af2e-b723e6136e84.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNDE0MDctMjRmYTE0MzgtNWQ0NC00YTJhLWFmMmUtYjcyM2U2MTM2ZTg0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM5ZWEyOWUyMDQwYzJkMjU4NGI2N2RlNGE5ZmRiNzQ3N2E5ODcwZGFmZDY2YzA4ODM1YmUwMjc5MzBiZGQxMzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.yFlwyaPm-pefYwsgIwrooCVRlHNa9W_DNuiApWhGVN4)
![image](https://private-user-images.githubusercontent.com/89933907/275341593-0bdb0764-b9ba-476b-b84f-81f3ee8f200a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNDE1OTMtMGJkYjA3NjQtYjliYS00NzZiLWI4NGYtODFmM2VlOGYyMDBhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJmYzc2YzI2MjhhY2FlNDU1YzczZWM3NDA2NjFmYTI3MmFlY2QwYzc5NDIyN2EyZTlkMDdjOTk0YzM5MGFhYTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.fRookO6PEkmcQAa88zYc2RJVtAu5hLMHrPfekkrPVYc)
Kita juga harus memastikan nameserver adalah YudhistiraDNSMaster
![image](https://private-user-images.githubusercontent.com/89933907/275341641-ac948df6-41e0-4da2-adaf-d04d548971ec.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNDE2NDEtYWM5NDhkZjYtNDFlMC00ZGEyLWFkYWYtZDA0ZDU0ODk3MWVjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg4MzJkNWY1NDU4NTRhOTUyZDc1OWZiNWU2MWU2OWJmMmQ0ZjU3NTcxMWIzMDY5NzA4ODM0NTYzNTBmNGQ1NmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.juGvnaut4QrnntSIXEIjmkBDCNMldr7Wa0LV8fQM2SI)
Untuk mengecek reverse domain jalankan perintah
host -t PTR 192.180.2.4
Diperoleh sebagai berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275341548-1205d90b-4606-4ed9-9089-e85a8767679f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNDE1NDgtMTIwNWQ5MGItNDYwNi00ZWQ5LTkwODktZTg1YTg3Njc2NzlmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgwZDEyNGNlYWM2OTU0MWVhZmQwYTRhYjYyMzk2ODhmNDkzN2JiZjZkYmNiZjIzMjM2N2JlMTlmODkwOGE4ZDMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.U-5RhXGLzsRBDILuz7KLLnlmUkh_zZwS1uV1RQNbNU0)
Dari hasil tersebut dapat dilihat bahwa hasil reverse mengarah ke abimanyu.B04.com yang berarti reverse domain ini sudah benar.
Berikut ini adalah script bash untuk nomor 5:
#!/bin/bash
# 1. Menambahkan konfigurasi zone pada /etc/bind/named.conf.local
echo 'zone "2.180.192.in-addr.arpa." {' >> /etc/bind/named.conf.local
echo ' type master;' >> /etc/bind/named.conf.local
echo ' file "/etc/bind/abimanyu/2.180.192.in-addr.arpa";' >> /etc/bind/named.conf.local
echo '};' >> /etc/bind/named.conf.local
# 2. Menyalin file db.local ke direktori /etc/bind/abimanyu/2.180.192.in-addr.arpa
cp /etc/bind/db.local /etc/bind/abimanyu/2.180.192.in-addr.arpa
# 3. Mengganti isi file /etc/bind/abimanyu/2.180.192.in-addr.arpa
cat <<EOL > /etc/bind/abimanyu/2.180.192.in-addr.arpa
;
; BIND data file for local loopback interface
;
\$TTL 604800
@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
2.180.192.in-addr.arpa. IN NS abimanyu.B04.com.
4 IN PTR abimanyu.B04.com. ; Byte ke-4 YudhistiraDNSServer
EOL
# 4. Restart layanan bind9
service bind9 restart
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Agar dapat tetap dihubungi ketika DNS Server Yudhistira bermasalah, buat juga Werkudara sebagai DNS Slave untuk domain utama.
Untuk soal ini kita melakukan konfigurasi untuk Yudhistira sebagai DNS Master dan Werkudara sebagai DNS Slave. Konfigurasi ini dilakukan pada kedua node sebagai berikut:
- Konfigurasi pada Yudhistira
Untuk membuat DNS Slave pada Werkudara, kita harus mengubah file /etc/bind/named.conf.local di Yudhistira pada zone abimanyu.B04.com menjadi:
zone “abimanyu.B04.com" {
type master;
notify yes;
also-notify { 192.180.2.3; }; //IP Werkudara DNS Slave
allow-transfer { 192.180.2.3; };
file "/etc/bind/abimanyu/abimanyu.B04.com";
};
Konfigurasi pada file /etc/bind/named.conf.local
di server DNS Yudhistira untuk membuat DNS Slave (server DNS sekunder) untuk zona DNS abimanyu.B04.com
. Berikut adalah penjelasan dari konfigurasi tersebut:
-
zone "abimanyu.B04.com" {
: Ini adalah awal dari definisi zona DNS untuk domainabimanyu.B04.com
. -
type master;
: Ini mengatur tipe zona DNS menjadi "master", yang berarti Yudhistira adalah server DNS utama yang memiliki otoritas penuh atas zona DNS ini. -
notify yes;
: Ini mengaktifkan pemberitahuan kepada server DNS slave ketika ada perubahan dalam zona DNS ini. Ini memungkinkan server sekunder (DNS Slave) untuk secara otomatis mendapatkan pembaruan ketika terjadi perubahan pada zona ini. -
also-notify { 192.180.2.3; };
: Ini adalah daftar alamat IP yang akan diberitahu ketika ada perubahan pada zona DNS. Dalam hal ini, hanya IP192.180.2.3
(server DNS Slave di Werkudara) yang akan diberitahu. -
allow-transfer { 192.180.2.3; };
: Ini mengizinkan transfer zona ke server DNS slave dengan alamat IP192.180.2.3
. Ini diperlukan untuk memungkinkan server DNS slave untuk menyalin zona DNS dari server utama (master). -
file "/etc/bind/abimanyu/abimanyu.B04.com";
: Ini menentukan lokasi file zona DNS yang akan digunakan oleh server DNS master. Zona DNS untukabimanyu.B04.com
akan diambil dari file/etc/bind/abimanyu/abimanyu.B04.com
.
Dengan konfigurasi ini, Yudhistira akan berfungsi sebagai server DNS master untuk zona abimanyu.B04.com
, dan Werkudara (yang memiliki IP 192.180.2.3
) akan menjadi server DNS slave yang akan secara otomatis mengikuti perubahan pada zona DNS ini dan menggantinya jika diperlukan.
Kemudian lakukan restart service untuk menerapkan konfigurasi
service bind9 restart
- Konfigurasi pada Werkudara
Berikut ini adalah hal-hal yang dilakukan untuk melakukan konfigurasi pada WerkudaraDNSSlave: Pertama-tama buka /etc/bind/named.conf.local dan tambahkan:
zone "abimanyu.B04.com" {
type slave;
masters { 192.180.2.4; }; // IP Yudhistira
file "/var/lib/bind/abimanyu.B04.com";
};
Konfigurasi tersebut adalah langkah-langkah yang perlu dilakukan di server DNS sekunder (DNS Slave) di Werkudara untuk mengonfigurasi zona DNS `abimanyu.B04.com`. Berikut adalah penjelasan dari konfigurasi tersebut:
1. `zone "abimanyu.B04.com" {`: Ini adalah awal dari definisi zona DNS untuk domain `abimanyu.B04.com`.
2. `type slave;`: Ini mengatur tipe zona DNS menjadi "slave", yang menunjukkan bahwa Werkudara adalah server DNS sekunder yang akan mendapatkan zona DNS dari server utama (YudhistiraDNSMaster).
3. `masters { 192.180.2.4; };`: Ini adalah daftar alamat IP server DNS master yang akan digunakan oleh server DNS slave untuk mengambil zona DNS. Dalam hal ini, hanya ada satu server master, yaitu Yudhistira dengan alamat IP `192.180.2.4`.
4. `file "/var/lib/bind/abimanyu.B04.com";`: Ini menentukan lokasi di mana zona DNS yang diambil dari server master akan disimpan di server DNS slave. Zona DNS untuk `abimanyu.B04.com` akan disimpan di direktori `/var/lib/bind` dengan nama file `abimanyu.B04.com`.
Dengan konfigurasi ini, Werkudara akan berfungsi sebagai server DNS slave yang akan secara teratur meminta pembaruan zona DNS dari Yudhistira (server master) dan menyimpannya di direktori `/var/lib/bind`. Ini memungkinkan Werkudara untuk memiliki salinan yang akurat dari zona DNS `abimanyu.B04.com`, dan jika ada perubahan di server master, Werkudara akan secara otomatis mengikuti pembaruan tersebut.
dan lakukan perintah berikut untuk menerapkan konfigurasi:
service bind9 restart
- Testing
Untuk melakukan testing, sebagai contoh saya melakukannya pada NakulaClient. Pertama-tama, matikan YudhistiraDNSMaster dengan:
service bind9 stop
![image](https://private-user-images.githubusercontent.com/89933907/275345628-95e596bc-504f-4807-913c-6193cc3ee748.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNDU2MjgtOTVlNTk2YmMtNTA0Zi00ODA3LTkxM2MtNjE5M2NjM2VlNzQ4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEwMDZhYWUyODQ5MmY3MmIzODJmZGM1Y2UwNDJlMDcwYTY4YjExZTA0YmNhNjAyYTViYzZlMWM2OGZkMzhmZmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.quHNMWyKQ-6lNFEu32gxE8HzYJV9G1uNt-o1RtR3Umw)
Selanjutnya pastikan pengaturan nameserver mengarah ke IP Yudhistira dan IP Werkudara di /etc/resolv.conf
![image](https://private-user-images.githubusercontent.com/89933907/275345677-d76676db-2d70-4601-9ca5-8c8b2666584a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNDU2NzctZDc2Njc2ZGItMmQ3MC00NjAxLTljYTUtOGM4YjI2NjY1ODRhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ3OTFmMzliOWRhODgwN2I1ZDQzZWZmYzE4OWY4ZGY0ZTAxODNmMWVkYjI4NGFiOWYzZjVlNGY0Y2YwYWE5ODcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.erGL7niy26nCi6Si8X8mDNs-E7nd1lRDWBrYhbcAlt0)
Kemudian lakukan ping abimanyu.B04.com pada NakulaClient
![image](https://private-user-images.githubusercontent.com/89933907/275345737-c194fc99-b8f3-43a7-bc75-8734cba22e73.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNDU3MzctYzE5NGZjOTktYjhmMy00M2E3LWJjNzUtODczNGNiYTIyZTczLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA4ZTcxMjk2Zjc1OTczNzUwYzljMDRiMjU3MDZkODRiYTFlY2Q4MGM2ZWFiYzEyMTdlMGZkYjBjYzYwY2E1NjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.jtPft0RlIhP0RsxbJao7juTgy9cZighmeF7k8P6sj40)
Berdasarkan hasil tersebut dapat dilihat bahwa ping berasal dari 192.180.1.4, yang dimana itu merupakan IP AbimanyuWebServer. Maka dapat disimpulkan bahwa ketika DNSMaster dimatikan kita tetap dapat mengakses domain yang telah diregister melalui DNSSlave yaitu Werkudara.
Berikut ini adalah file bash untuk nomor 6 di node YudhistiraDNSMaster
#!/bin/bash
# Mencari dan menghapus zona "abimanyu.B04.com"
sed -i '/zone "abimanyu\.B04\.com" {/,/};/d' /etc/bind/named.conf.local
# Menambahkan zona "abimanyu.B04.com" yang baru
cat <<EOL >> /etc/bind/named.conf.local
zone "abimanyu.B04.com" {
type master;
notify yes;
also-notify { 192.180.2.3; }; //IP Werkudara DNS Slave
allow-transfer { 192.180.2.3; };
file "/etc/bind/abimanyu/abimanyu.B04.com";
};
EOL
# Menjalankan service bind9 restart
service bind9 restart
Berikut ini adalah file bash untuk nomor 6 di node WerkudaraDNSSlave
#!/bin/bash
# Tambahkan konfigurasi zona ke /etc/bind/named.conf.local
echo 'zone "abimanyu.B04.com" {' >> /etc/bind/named.conf.local
echo ' type slave;' >> /etc/bind/named.conf.local
echo ' masters { 192.180.2.4; }; // IP Yudhistira' >> /etc/bind/named.conf.local
echo ' file "/var/lib/bind/abimanyu.B04.com";' >> /etc/bind/named.conf.local
echo '};' >> /etc/bind/named.conf.local
# Restart layanan bind9
service bind9 restart
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Seperti yang kita tahu karena banyak sekali informasi yang harus diterima, buatlah subdomain khusus untuk perang yaitu baratayuda.abimanyu.yyy.com dengan alias www.baratayuda.abimanyu.yyy.com yang didelegasikan dari Yudhistira ke Werkudara dengan IP menuju ke Abimanyu dalam folder Baratayuda.
Untuk melakukan delegasi di dalam folder Baratayuda, kita harus melakukan konfigurasi di node Yudhistira dan Werkudara. Berikut ini adalah tahapannya:
- Konfigurasi di Yudhistira
Pertama-tama, kita harus mengubah isi file dari /etc/bind/abimanyu/abimanyu.B04.com menjadi:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS abimanyu.B04.com.
@ IN A 192.180.2.4 ; IP Yudhistira
www IN CNAME abimanyu.B04.com.
parikesit IN A 192.180.1.4 ; IP Abimayu
ns1 IN A 192.180.2.3 ; IP Werkudara
baratayuda IN NS ns1
@ IN AAAA ::1
![image](https://private-user-images.githubusercontent.com/89933907/275351825-ca8c8ba1-7ba7-4b84-9c66-2a5dd6959dfc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNTE4MjUtY2E4YzhiYTEtN2JhNy00Yjg0LTljNjYtMmE1ZGQ2OTU5ZGZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJlZWY0MzQ1ZTA4NjBiOGQxYTRkMGNkOGE3OGJhNDY5NGNmMzI5ZjIyOWYxYTRjYzgzMzEwZmUxMjQzMTRhYjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.BFGmlBw-4i49kYu0u4TAMIxA3uJeYhx1jiwqE2yKRPs)
File /etc/bind/abimanyu/abimanyu.B04.com
adalah file konfigurasi zona DNS untuk domain abimanyu.B04.com
. Berikut ini adalah pembahasan baris per baris:
1. `; BIND data file for local loopback interface`: Ini adalah komentar yang memberikan deskripsi tentang isi file. Ini tidak memengaruhi konfigurasi DNS.
2. `$TTL 604800`: TTL (Time to Live) default untuk semua catatan dalam zona ini adalah 604800 detik, atau 1 minggu.
3. `@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (2023100901...`: Ini adalah catatan Start of Authority (SOA) yang mengatur otoritas untuk zona DNS. Penjelasan rinci adalah sebagai berikut:
- `@` mengacu pada domain utama (`abimanyu.B04.com`).
- `IN` menunjukkan tipe catatan yang berlaku di sini (Internet).
- `SOA` adalah jenis catatan yang menunjukkan informasi otoritas.
- `abimanyu.B04.com.` adalah nama server otoritas.
- `root.abimanyu.B04.com.` adalah alamat email administrator DNS yang diakhiri dengan titik.
- `2023100901` adalah nomor seri untuk catatan ini. Ini harus ditingkatkan setiap kali ada perubahan dalam zona DNS.
- `604800` adalah nilai Refresh, yang menunjukkan berapa lama nama server sekunder harus menunggu sebelum memeriksa apakah ada perubahan di zona DNS ini.
- `86400` adalah nilai Retry, yang menunjukkan berapa lama nama server sekunder harus menunggu sebelum mencoba lagi jika terjadi kesalahan saat mengambil zona DNS ini.
- `2419200` adalah nilai Expire, yang menunjukkan berapa lama zona DNS akan dianggap kadaluarsa jika server sekunder tidak dapat menggunakannya.
- `604800` adalah Negative Cache TTL, yang menunjukkan berapa lama cache negatif (misalnya, jika sebuah domain tidak ada) akan berlaku.
4. `@ IN NS abimanyu.B04.com.`: Ini adalah catatan Name Server (NS) yang menunjukkan bahwa server DNS yang bertanggung jawab untuk zona ini adalah `abimanyu.B04.com`.
5. `@ IN A 192.180.2.4`: Ini adalah catatan Address (A) yang mengaitkan domain utama (`abimanyu.B04.com`) dengan alamat IP `192.180.2.4`. Ini menghubungkan nama domain ke alamat IP AbimanyuWebServer.
6. `www IN CNAME abimanyu.B04.com.`: Ini adalah catatan Canonical Name (CNAME) yang mengaitkan subdomain `www` dengan `abimanyu.B04.com`. Ini berarti ketika seseorang mencoba mengakses `www.abimanyu.B04.com`, itu akan diarahkan ke `abimanyu.B04.com`.
7. `parikesit IN A 192.180.1.4`: Ini adalah catatan Address (A) yang mengaitkan subdomain `parikesit` dengan alamat IP `192.180.1.4`.
8. `ns1 IN A 192.180.2.3`: Ini adalah catatan Address (A) yang mengaitkan subdomain `ns1` dengan alamat IP `192.180.2.3`.
9. `baratayuda IN NS ns1`: Ini adalah catatan Name Server (NS) yang menunjukkan bahwa subdomain `baratayuda` ditangani oleh server DNS `ns1`.
10. `@ IN AAAA ::1`: Ini adalah catatan IPv6 Address (AAAA) yang mengaitkan domain utama (`abimanyu.B04.com`) dengan alamat IPv6 `::1`.
Dalam file ini, zona DNS untuk abimanyu.B04.com
dikonfigurasi dengan berbagai catatan yang menghubungkan domain dan subdomain ke alamat IP atau alamat lainnya, serta menentukan otoritas untuk zona ini dengan catatan SOA.
Selanjutnya edit file /etc/bind/named.conf.options dengan cara:
nano /etc/bind/named.conf.options
Di dalam file tersebut lakukan comment dnssec-validation auto;
dan tambahkan baris berikut pada /etc/bind/named.conf.options
allow-query{any;};
Maka file /etc/bind/named.conf.options menjadi:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
//========================================================================
// 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;
allow-query{any;};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
![image](https://private-user-images.githubusercontent.com/89933907/275351839-402b9abb-4002-4859-a59c-3263ee8990c5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNTE4MzktNDAyYjlhYmItNDAwMi00ODU5LWE1OWMtMzI2M2VlODk5MGM1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIyMzlmNjc5MDNmNmNiNzBiNGUzNGM2MmUxZDk5YmRjZjI3NjUxN2ZhYzhiZDA2OTM5N2YzMGQzNWYzNmU4NjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.MwC6THg-LhX8v336YaxNtdJSMPFzQs7URV0Qol5M9X4)
//dnssec-validation auto;
: Ini adalah comment yang mematikan konfigurasi DNSSEC validation. DNSSEC adalah sebuah mekanisme keamanan yang digunakan untuk memverifikasi integritas data DNS, dan dalam konfigurasi ini, fitur DNSSEC validation dimatikan (dijadikan komentar)
allow-query { any; };
: dalam konfigurasi BIND DNS mengatur siapa yang diizinkan untuk melakukan permintaan DNS ke server.
auth-nxdomain no;
: mengatur parameter auth-nxdomain menjadi no. Ketika opsi ini diaktifkan (dalam konfigurasi standar), server DNS akan mengembalikan pesan NXDOMAIN (Non-Existent Domain) yang dikonfirmasi secara otentik jika domain yang dicari tidak ada dalam zona. Namun, dengan opsi ini dinonaktifkan (dijadikan komentar), server DNS tidak akan mengembalikan pesan NXDOMAIN yang dikonfirmasi otentik, yang dapat menghasilkan sedikit lebih cepat.
Selanjutnya, lakukan service restart untuk menerapkan konfigurasi
service bind9 restart
- Konfigurasi pada Werkudara
Langkah pertama adalah lakukan perintah:
nano /etc/bind/named.conf.options
Kemudian comment dnssec-validation auto;
dan tambahkan baris berikut pada /etc/bind/named.conf.options
allow-query{any;};
Maka menjadi seperti berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275351900-d3456652-edb4-407e-8fb3-a0edf25c7347.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNTE5MDAtZDM0NTY2NTItZWRiNC00MDdlLThmYjMtYTBlZGYyNWM3MzQ3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJiODM5YjllMzg0MmQ1YWI3MmFjNTk4MGJmN2ViMmQ1MmQwMmUxMGE4MDI3ODYzOTNmZTk5ZmE0ZWFlMjQ0OTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.aYB-dREyiQYStS1f9jASF1ky9qi5k8pjfc0ThpSc_PQ)
Selanjutnya, lakukan perintah berikut:
mkdir /etc/bind/baratayuda
cp /etc/bind/db.local /etc/bind/baratayuda/baratayuda.abimanyu.B04.com
Pada file /etc/bind/named.conf.local tambahkan di bagian bawah:
zone "baratayuda.abimanyu.B04.com" {
type master;
file "/etc/bind/baratayuda/baratayuda.abimanyu.B04.com";
};
![image](https://private-user-images.githubusercontent.com/89933907/275352550-15e8a346-05c6-4b47-8006-2d53e692129e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNTI1NTAtMTVlOGEzNDYtMDVjNi00YjQ3LTgwMDYtMmQ1M2U2OTIxMjllLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYzZWI0ZTgyYmFmNDdmMzVkMWJmZWJlMDhkMzYwN2ZmNzliMWNiNTU4MWVmMTU3NWU3MjczNjRmMTdlMzgyNjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.CpxhNIIw4gdSPyqYiJ-fF1vfXAnnE9zEuV4kLfesmYo)
Penambahan zona tersebut digunakan untuk memberikan delegasi pada baratayuda sehingga berhasil melakukan register domain pada DNSSlave.
Kemudian edit file /etc/bind/baratayuda/baratayuda.abimanyu.B04.com menjadi seperti ini:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA baratayuda.abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS baratayuda.abimanyu.B04.com.
@ IN A 192.180.1.4 ; IP Abimanyu
www.baratayuda IN CNAME baratayuda.abimanyu.B04.com
@ IN AAAA ::1
![image](https://private-user-images.githubusercontent.com/89933907/275352526-5f55cf3f-5d0e-479c-937c-354a23d0da6d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNTI1MjYtNWY1NWNmM2YtNWQwZS00NzljLTkzN2MtMzU0YTIzZDBkYTZkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdhNmQxZGIxN2Y1ZWE1MWZjMmZkYTBjMmE2ZjViNGZiZjAwNDI0YjlkMDdkZWM2ZTE1ZmU4ZWQ0MGFkNjk5MGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ugrITmanKL7KR5CaKXUXJYxdOsOQ5AiJlw_faKOZwRU)
Selanjutnya lakukan restart untuk menerapkan konfigurasi
service bind9 restart
- Testing
Untuk melakukan contoh tes, kami melakukan pada SadewaClient. Pastikan bahwa pada /etc/resolv.conf mengarah kepada IP Yudhistira dan Werkudara.
Kemudian lakukan ping berikut:
ping baratayuda.abimanyuB04.com -c 5
diperoleh sebagai berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275352208-e4a4811f-0124-4caa-9cb6-658d61b1c4f5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNTIyMDgtZTRhNDgxMWYtMDEyNC00Y2FhLTljYjYtNjU4ZDYxYjFjNGY1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUyN2JkNWM5N2IzM2EzMWFiYjEzZGFkNjVkM2RmMzM4YmJmYmVhMDk4MDAzNGI0MzM2OTNjODM2ZDcxODkzYjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Fdv2zl3MvZgld7f5CDaZdbeTDyEEGPgRuHzpnEfjY2s)
Berdasarkan hasil ping tersebut dapat dilihat bahwa hasil ping diperoleh dari IP 192.180.1.4 yang merupakan IP dari AbimanyuWebServer.
Berikut ini adalah file bash untuk nomor 7 di node Yudhistira
#!/bin/bash
# Mengubah isi file abimanyu.B04.com
cat <<EOL > /etc/bind/abimanyu/abimanyu.B04.com
;
; BIND data file for local loopback interface
;
\$TTL 604800
@ IN SOA abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS abimanyu.B04.com.
@ IN A 192.180.2.4 ; IP Yudhistira
www IN CNAME abimanyu.B04.com.
parikesit IN A 192.180.1.4 ; IP Abimayu
ns1 IN A 192.180.2.3 ; IP Werkudara
baratayuda IN NS ns1
www.baratayuda IN CNAME baratayuda.abimanyu.B04.com
@ IN AAAA ::1
EOL
# Mengubah isi file named.conf.options
cat <<EOL > /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
//========================================================================
// 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;
allow-query { any; };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
EOL
# Restart layanan bind9
service bind9 restart
Berikut ini adalah file bash untuk nomor 7 di node Werkudara
#!/bin/bash
# Mengubah isi file named.conf.options
cat <<EOL > /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
//========================================================================
// 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;
allow-query { any; };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
EOL
# Membuat direktori /etc/bind/baratayuda
mkdir -p /etc/bind/baratayuda
# Menyalin file db.local ke /etc/bind/baratayuda/baratayuda.abimanyu.B04.com
cp /etc/bind/db.local /etc/bind/baratayuda/baratayuda.abimanyu.B04.com
# Mengedit named.conf.local untuk menambahkan zona baru
cat <<EOL >> /etc/bind/named.conf.local
zone "baratayuda.abimanyu.B04.com" {
type master;
file "/etc/bind/baratayuda/baratayuda.abimanyu.B04.com";
};
EOL
# Mengubah isi file /etc/bind/baratayuda/baratayuda.abimanyu.B04.com
cat <<EOL > /etc/bind/baratayuda/baratayuda.abimanyu.B04.com
;
; BIND data file for local loopback interface
;
\$TTL 604800
@ IN SOA baratayuda.abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS baratayuda.abimanyu.B04.com.
@ IN A 192.180.1.4 ; IP Abimayu
@ IN AAAA ::1
EOL
# Restart layanan bind9
service bind9 restart
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Untuk informasi yang lebih spesifik mengenai Ranjapan Baratayuda, buatlah subdomain melalui Werkudara dengan akses rjp.baratayuda.abimanyu.yyy.com dengan alias www.rjp.baratayuda.abimanyu.yyy.com yang mengarah ke Abimanyu.
Untuk membuat subdomain melalui werkudara yang mengarah ke abimanyu, kita harus mengubahnya pada WerkudaraDNSSlave.
Pertama-tama ubah /etc/bind/baratayuda/baratayuda.abimanyu.B04.com menjadi seperti berikut:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA baratayuda.abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS baratayuda.abimanyu.B04.com.
@ IN A 192.180.1.4 ; IP Abimanyu
rjp IN A 192.180.1.4 ; IP Abimanyu
www.rjp IN CNAME baratayuda.abimanyu.B04.com.
@ IN AAAA ::1
![image](https://private-user-images.githubusercontent.com/89933907/275353559-b4e1043d-2f31-4a32-b852-17a3c034db3d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNTM1NTktYjRlMTA0M2QtMmYzMS00YTMyLWI4NTItMTdhM2MwMzRkYjNkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU4ZDhhMjNlN2NmZTQyZTk2M2JhZjk3NWVhMGM1Mzk3MzFjODVkNTc2ODNhODZjYWJmMTg4ODYwYjc0MDU1NjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.G7X7rOerjvVL2tQW8KN684QXE1gUCLWIyyCKZN_MYIg)
Dari perubahan diatas ditambahkan subdomain untuk rjp dan juga alias www.rjp sesuai dengan perintah soal yang keduanya mengarah ke IP Abimanyu.
Selanjutnya lakukan service bind9 restart untuk menerapkan konfigurasi
service bind9 restart
Untuk melakukan testing, saya melakukan testing pada SadewaClient dengan menjalankan:
ping rjp.baratayuda.abimanyu.B04.com
dan juga
ping www.rjp.baratayuda.abimanyu.B04.com
diperoleh hasil ping sebagai berikut:
![image](https://private-user-images.githubusercontent.com/89933907/275353588-3a637f1c-19de-43cc-ba2e-4bdd1120fcf9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzUzNTM1ODgtM2E2MzdmMWMtMTlkZS00M2NjLWJhMmUtNGJkZDExMjBmY2Y5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdiYjQ4OTdlNzJiZGE5ZmFmYmQ1NGM1MzRkMWE4YjdkZTJhMGUxN2M4YzE3NjJlNzhkNmE2YTFkZGM2ZmVjZmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.KghZAVlNcu06um82PJKeQVTUsYlmqMUt8ZnH5QJpUzI)
Berdasarkan hasil ping tersebut dapat dilihat bahwa kedua ping mengarah ke IP yang sama, yaitu IP 192.180.1.4 (IP AbimanyuWebServer).
Berikut ini adalah script bash untuk nomor 8:
#!/bin/bash
# Nama file yang akan diubah
file="/etc/bind/baratayuda/baratayuda.abimanyu.B04.com"
# Isi file yang baru
new_content=";
; BIND data file for local loopback interface
;
\$TTL 604800
@ IN SOA baratayuda.abimanyu.B04.com. root.abimanyu.B04.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS baratayuda.abimanyu.B04.com.
@ IN A 192.180.1.4 ; IP Abimanyu
rjp IN A 192.180.1.4 ; IP Abimanyu
www.rjp IN CNAME baratayuda.abimanyu.B04.com.
@ IN AAAA ::1
"
# Mengganti isi file
echo "$new_content" > "$file"
# Merestart layanan BIND9
service bind9 restart
echo "File $file telah diubah, dan layanan BIND9 telah di-restart."
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Arjuna merupakan suatu Load Balancer Nginx dengan tiga worker (yang juga menggunakan nginx sebagai webserver) yaitu Prabakusuma, Abimanyu, dan Wisanggeni. Lakukan deployment pada masing-masing worker.
Berdasarkan soal, load balancernya adalah Arjuna dengan 3 worker yaitu Prabakusuma, Abimanyu, dan Wisanggeni. Pertama-tama, lakukan setting di Yudhistira
apt-get update && apt install nginx php php-fpm -y
Pada soal load balancernya adalah arjuna maka yang dipakai adalah arjuna.B04.com
Lakukan tes ping arjuna.B04.com di client. Sebagai contoh dilakukan tes ping di SadewaClient
ping rjp.baratayuda.abim
![image](https://private-user-images.githubusercontent.com/89933907/274574106-6d835f77-f6ed-42f0-91c9-e998313d8b2d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTkzMzkwNy8yNzQ1NzQxMDYtNmQ4MzVmNzctZjZlZC00MmYwLTkxYzktZTk5ODMxM2Q4YjJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE0NzVjZjc0Mjk0YWE3Yjg0Nzk3ZDc3MDhiOTNhYTZjMzA5M2MxMjQyYjMzMWVhZTQwZTdjMjI3NjczNjc0NTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.vx6KoshoyoNI0dCcsnYavOaHMwwd9yRZP_fJhgln5no)
jalankan perintah
apt-get update && apt install nginx php php-fpm -y
buat direktori
mkdir /var/www/arjuna
masuk direktori /var/www/arjuna lalu buat file index.php dengan isi file
<?php
echo "Halo, Kamu berada di AbimanyuWebServer";
?>
selanjutnya kita akan melakukan konfigurasi pada Nginx, pertama masuk ke direktori /etc/nginx/sites-available lalu buat file baru dengan nama arjuna Isi file arjuna dengan ini
server {
listen 80;
listen 8002;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Kemudian, buat symlink
ln -s /etc/nginx/sites-available/arjuna /etc/nginx/sites-enabled
Terus, lakukan
service nginx restart
script bash abimanyu
#!/bin/bash
# Membuat direktori /var/www/arjuna
mkdir -p /var/www/arjuna
# Membuat file index.php
echo "<?php
\$hostname = gethostname();
\$date = date('Y-m-d H:i:s');
\$php_version = phpversion();
\$username = get_current_user();
echo 'Hello World!<br>';
echo 'Saya adalah: ' . \$username . '<br>';
echo 'Saat ini berada di: ' . \$hostname . '<br>';
echo 'Versi PHP yang saya gunakan: ' . \$php_version . '<br>';
echo 'Tanggal saat ini: ' . \$date . '<br>';
?>" > /var/www/arjuna/index.php
# Membuat file konfigurasi Nginx di /etc/nginx/sites-available/arjuna
echo "server {
listen 80;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files \$uri \$uri/ /index.php?\$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}" > /etc/nginx/sites-available/arjuna
# Membuat symlink ke direktori sites-enabled
ln -s /etc/nginx/sites-available/arjuna /etc/nginx/sites-enabled
# Merestart layanan Nginx
service nginx restart
echo "Konfigurasi Abimanyu selesai."
jalankan perintah
apt-get update && apt install nginx php php-fpm -y
buat direktori
mkdir /var/www/arjuna
masuk direktori /var/www/arjuna lalu buat file index.php dengan isi file
<?php
echo "Halo, Kamu berada di PrabukusumaWebServer";
?>
selanjutnya kita akan melakukan konfigurasi pada Nginx, pertama masuk ke direktori /etc/nginx/sites-available lalu buat file baru dengan nama arjuna Isi file arjuna dengan ini
server {
listen 80;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Kemudian, buat symlink
ln -s /etc/nginx/sites-available/arjuna /etc/nginx/sites-enabled
Terus, lakukan
service nginx restart
script bash prabukusuma
#!/bin/bash
# Membuat direktori /var/www/arjuna
mkdir -p /var/www/arjuna
# Membuat file index.php
echo "<?php
\$hostname = gethostname();
\$date = date('Y-m-d H:i:s');
\$php_version = phpversion();
\$username = get_current_user();
echo 'Hello World!<br>';
echo 'Saya adalah: ' . \$username . '<br>';
echo 'Saat ini berada di: ' . \$hostname . '<br>';
echo 'Versi PHP yang saya gunakan: ' . \$php_version . '<br>';
echo 'Tanggal saat ini: ' . \$date . '<br>';
?>" > /var/www/arjuna/index.php
# Membuat file konfigurasi Nginx di /etc/nginx/sites-available/arjuna
echo "server {
listen 80;
listen 8001;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files \$uri \$uri/ /index.php?\$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}" > /etc/nginx/sites-available/arjuna
# Membuat symlink ke direktori sites-enabled
ln -s /etc/nginx/sites-available/arjuna /etc/nginx/sites-enabled
# Merestart layanan Nginx
service nginx restart
echo "Konfigurasi Prabukusuma selesai."
jalankan perintah
apt-get update && apt install nginx php php-fpm -y
buat direktori
mkdir /var/www/arjuna
masuk direktori /var/www/arjuna lalu buat file index.php dengan isi file
<?php
echo "Halo, Kamu berada di WisanggeniWebServer";
?>
selanjutnya kita akan melakukan konfigurasi pada Nginx, pertama masuk ke direktori /etc/nginx/sites-available lalu buat file baru dengan nama arjuna Isi file arjuna dengan ini
server {
listen 80;
listen 8003;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Kemudian, buat symlink
ln -s /etc/nginx/sites-available/arjuna /etc/nginx/sites-enabled
Terus, lakukan
service nginx restart
script bash wisanggeni
#!/bin/bash
# Membuat direktori /var/www/arjuna
mkdir -p /var/www/arjuna
# Membuat file index.php
echo "<?php
\$hostname = gethostname();
\$date = date('Y-m-d H:i:s');
\$php_version = phpversion();
\$username = get_current_user();
echo 'Hello World!<br>';
echo 'Saya adalah: ' . \$username . '<br>';
echo 'Saat ini berada di: ' . \$hostname . '<br>';
echo 'Versi PHP yang saya gunakan: ' . \$php_version . '<br>';
echo 'Tanggal saat ini: ' . \$date . '<br>';
?>" > /var/www/arjuna/index.php
# Membuat file konfigurasi Nginx di /etc/nginx/sites-available/arjuna
echo "server {
listen 80;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files \$uri \$uri/ /index.php?\$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}" > /etc/nginx/sites-available/arjuna
# Membuat symlink ke direktori sites-enabled
ln -s /etc/nginx/sites-available/arjuna /etc/nginx/sites-enabled
# Merestart layanan Nginx
service nginx restart
echo "Konfigurasi Wisanggeni selesai."
pertama -tama pastikan sudah dilakukan
apt-get update && apt install nginx
buat file baru di direktori /etc/nginx/sites-available dengan nama lb-arjuna
Isi file lb-arjuna menjadi
# Default menggunakan Round Robin
upstream myweb {
server 192.180.1.4; #IP abimanyu
server 192.180.1.5; #IP prabukusuma
server 192.180.1.6; #IP wisanggeni
}
server {
listen 80;
server_name arjuna.B04.com;
location / {
proxy_pass http://myweb;
}
}
Lalu simpan lalu buat symlink
ln -s /etc/nginx/sites-available/lb-arjuna /etc/nginx/sites-enabled
script bash arjunaloadbalancer
#!/bin/bash
# Membuat file konfigurasi Nginx lb-arjuna di /etc/nginx/sites-available
echo "# Default menggunakan Round Robin
upstream myweb {
server 192.180.1.4; # IP abimanyu
server 192.180.1.5; # IP prabukusuma
server 192.180.1.6; # IP wisanggeni
}
server {
listen 80;
server_name arjuna.B04.com;
location / {
proxy_pass http://myweb;
}
}" > /etc/nginx/sites-available/lb-arjuna
# Membuat symlink ke direktori sites-enabled
ln -s /etc/nginx/sites-available/lb-arjuna /etc/nginx/sites-enabled
# Merestart layanan Nginx
service nginx restart
echo "Konfigurasi lb-arjuna selesai."
sebagai contoh testing di nakula pertama tama pastikan sudah ada
apt-get update && apt-get install lynx
lalu ketikkan
lynx http://arjuna.B04.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Kemudian gunakan algoritma Round Robin untuk Load Balancer pada Arjuna. Gunakan server_name pada soal nomor 1. Untuk melakukan pengecekan akses alamat web tersebut kemudian pastikan worker yang digunakan untuk menangani permintaan akan berganti ganti secara acak. Untuk webserver di masing-masing worker wajib berjalan di port 8001-8003. Contoh - Prabakusuma:8001 - Abimanyu:8002 - Wisanggeni:8003
Selanjutnya, kita akan melakukan penyesuaian port pada server-server tersebut sesuai dengan petunjuk yang telah diberikan. Karena telah berhasil melakukan deployment pada nomor 9. Berikutnya, kita perlu untuk mengubah masing-masing port pada worker menuju port yang telah ditentukan yaitu Prabakusuma:8001, Abimanyu:8002, Wisanggeni:8003. Kita juga perlu mengubah port load-balancing dengan menambahkan :800X pada masing-masing server.
Arjuna (Load Balancing)
- Pada ArjunaLoadBalancer, yang diubah dari no 9 adalah isi file
lb-arjuna
menjadi sebagai berikut:# Default menggunakan Round Robin upstream myweb { server 192.180.1.4: 8002; #IP abimanyu server 192.180.1.5: 8001; #IP prabukusuma server 192.180.1.6: 8003; #IP wisanggeni } server { listen 80; server_name arjuna.B04.com; location / { proxy_pass http://myweb; } } server { listen 8001; server_name arjuna.B04.com; location / { proxy_pass http://myweb; } } server { listen 8002; server_name arjuna.B04.com; location / { proxy_pass http://myweb; } } server { listen 8003; server_name arjuna.B04.com; location / { proxy_pass http://myweb; } }
- Lalu jalankan
service nginx restart
.
Prabakusuma
Pada Prabakusuma, edit file arjuna pada root, hapus listen 80
dan tambahkan listen 8001
pada konfigurasi server block.
server {
listen 8001;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Abimanyu
Pada Abimanyu, edit file arjuna pada root, hapus listen 80
dan tambahkan listen 8002
pada konfigurasi server block.
server {
listen 8002;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Wisanggeni
Pada Wisanggeni, edit file arjuna pada root, hapus listen 80
dan tambahkan listen 8003
pada konfigurasi server block.
server {
listen 8003;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Pada client Nakula, pastikan pada /etc/resolv.conf
terdapat nameserver yudhistira dan werkudara dan install dependencies apt-get update && apt-get install lynx
(dimasukkan ke .bashrc).
Selain menggunakan Nginx, lakukan konfigurasi Apache Web Server pada worker Abimanyu dengan web server www.abimanyu.yyy.com. Pertama dibutuhkan web server dengan DocumentRoot pada /var/www/abimanyu.yyy
Abimanyu
- Di root, simpan file
abimanyu.B04.com.conf
, dan isinya sebagai berikut:<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/abimanyu.B04 ServerName abimanyu.B04.com ServerAlias www.abimanyu.B04.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- Buat directory var/www/abimanyu.B04
- Untuk mengambil asset dari resource untuk webserver abimanyu.B04.com, digunakan metode git clone dari repository
http.sslVerify=false clone https://github.com/bombshelll/abimanyu.B04.com
yang akan di copy kedalam directory /var/www/abimanyu.B04
Script bash pada Webserver Abimanyu
service nginx stop
rm -r /var/www/abimanyu.B04
cp abimanyu.B04.com.conf /etc/apache2/sites-available/abimanyu.B04.com.conf
a2ensite abimanyu.B04.com.conf
mkdir -p /var/www/abimanyu.B04
apt-get install git -y
git -c http.sslVerify=false clone https://github.com/bombshelll/abimanyu.B04.com /var/www/abimanyu.B04
service apache2 restart
Pada client Nakula, testing dengan menjalankan lynx http://abimanyu.B04.com/index.php/home
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Setelah itu ubahlah agar url www.abimanyu.yyy.com/index.php/home menjadi www.abimanyu.yyy.com/home.
Abimanyu
- Di dalam
abimanyu.B04.com.conf
, tambahkan:<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/abimanyu.B04 ServerName abimanyu.B04.com ServerAlias www.abimanyu.B04.com <Directory /var/www/abimanyu.B04/index.php/home> Options +Indexes </Directory> Alias "/home" "/var/www/abimanyu.B04/index.php/home" ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Pada client Nakula, testing dengan menjalankan
lynx http://abimanyu.B04.com/home
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Selain itu, pada subdomain www.parikesit.abimanyu.yyy.com, DocumentRoot disimpan pada /var/www/parikesit.abimanyu.yyy
Abimanyu
- Di root, simpan file
parikesit.abimanyu.B04.com.conf
, dan isinya sebagai berikut:<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/parikesit.abimanyu.B04 ServerName parikesit.abimanyu.B04.com ServerAlias www.parikesit.abimanyu.B04.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- Buat directory var/www/parikesit.abimanyu.B04
- Untuk mengambil asset dari resource untuk webserver parikesit.abimanyu.B04.com, digunakan metode git clone dari repository
http.sslVerify=false clone https://github.com/bombshelll/parikesit.abimanyu.B04.com
yang akan di copy kedalam directory /var/www/parikesit.abimanyu.B04
Script bash pada Webserver Abimanyu
service nginx stop
rm -r /var/www/parikesit.abimanyu.B04
cp parikesit.abimanyu.B04.com.conf /etc/apache2/sites-available/parikesit.abimanyu.B04.com.conf
a2ensite parikesit.abimanyu.B04.com.conf
mkdir -p /var/www/parikesit.abimanyu.B04
apt-get install git -y
git -c http.sslVerify=false clone https://github.com/bombshelll/parikesit.abimanyu.B04.com /var/www/parikesit.abimanyu.B04
service apache2 restart
Pada client Nakula, testing dengan menjalankan lynx http://parikesit.abimanyu.B04.com/index.php/home
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Pada subdomain tersebut folder /public hanya dapat melakukan directory listing sedangkan pada folder /secret tidak dapat diakses (403 Forbidden).
Abimanyu
Jalankan script di bawah ini, dimana untuk directory public, menggunakan +Indexes
sedangkan pada directory secret menggunakan -Indexes
.
Script bash pada Webserver Abimanyu
echo '<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/parikesit.abimanyu.B04
ServerName parikesit.abimanyu.B04.com
ServerAlias www.parikesit.abimanyu.B04.com
<Directory /var/www/parikesit.abimanyu.B04/public>
Options +Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B04/secret>
Options -Indexes
</Directory>
Alias "/public" "/var/www/parikesit.abimanyu.B04/public"
Alias "/secret" "/var/www/parikesit.abimanyu.B04/secret"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/parikesit.abimanyu.B04.com.conf
service apache2 restart
Pada client Nakula, testing dengan menjalankan:
- lynx parikesit.abimanyu.B04.com/public
![image](https://private-user-images.githubusercontent.com/89269231/275888482-238e7935-d37d-4a01-b809-e92f5ee4846a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4ODg0ODItMjM4ZTc5MzUtZDM3ZC00YTAxLWI4MDktZTkyZjVlZTQ4NDZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE0NWVhZjI2MTUxOGE5MTJhMDMyNmE1MzRiNmFmNTAzMzEzZjU0Y2FlMzMzZGI4NWYzZjdmODhmOWM5ODVhNWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.OkWnfZVmYAY0IqoFhaP-9ZVK88BsM_w3ylSczrW7Xjk)
- lynx parikesit.abimanyu.B04.com/secret
![image](https://private-user-images.githubusercontent.com/89269231/275888747-254f940d-6384-44ad-84ad-bc9ff2981108.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4ODg3NDctMjU0Zjk0MGQtNjM4NC00NGFkLTg0YWQtYmM5ZmYyOTgxMTA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ5YTE4ZmNkYWE3YzllYzBmMDQwY2JmNTU4OWVkZmJlYjc1NGM2NGI0Mzg1MWQ3OGI5N2Q4MWNlMWQ5OTJiMTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.CqldShV4LkvGVo_nIOYE8cAL7xhtmZ1QT7eHYy5XUSs)
![image](https://private-user-images.githubusercontent.com/89269231/275889069-6128df5e-cc48-4654-a3e7-8a1c2689c7f5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4ODkwNjktNjEyOGRmNWUtY2M0OC00NjU0LWEzZTctOGExYzI2ODljN2Y1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI0MDJhYmMwNGFiZWZlM2NjNzkxYzgyNmVkMjk5ZGI3YTFjNzA0ZThjMmFhODQ5NzY0M2ViYTQwN2E2YjAwNjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.YIOUaGB7ifCEbnYNSJ_LSMQJmqXZvpwySaIWQlf7YUc)
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buatlah kustomisasi halaman error pada folder /error untuk mengganti error kode pada Apache. Error kode yang perlu diganti adalah 404 Not Found dan 403 Forbidden.
Abimanyu
Jalankan script di bawah ini, dimana untuk error dengan kode 404, menggunakan ErrorDocument 404 /error/404.html
dan untuk error kode 403 menggunakan ErrorDocument 403 /error/403.html
.
Script bash pada Webserver Abimanyu
echo '<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/parikesit.abimanyu.B04
ServerName parikesit.abimanyu.B04.com
ServerAlias www.parikesit.abimanyu.B04.com
<Directory /var/www/parikesit.abimanyu.B04/public>
Options +Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B04/secret>
Options -Indexes
</Directory>
Alias "/public" "/var/www/parikesit.abimanyu.B04/public"
Alias "/secret" "/var/www/parikesit.abimanyu.B04/secret"
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/parikesit.abimanyu.B04.com.conf
service apache2 restart
Pada client Nakula, testing dengan menjalankan:
- lynx parikesit.abimanyu.B04.com/asalasalan
![image](https://private-user-images.githubusercontent.com/89269231/275889463-cea9a301-0159-40e5-a780-c80e03b32ffc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4ODk0NjMtY2VhOWEzMDEtMDE1OS00MGU1LWE3ODAtYzgwZTAzYjMyZmZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVkMjI1ZGZkODQ3MWMwZWU4NTkwNTVkMTQ3MjBmOWMzMjg5ZDA1NjFkMzdkYmY0OGY0ZmUzMjY3ODE5Yzg1YTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.p8fyQQuQmOS7vN9KCIsCDr0tnuhVDCL_4Cd_5jGKsXc)
![image](https://private-user-images.githubusercontent.com/89269231/275889692-3132e56a-60d5-4d88-9419-2baccfb17ab0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4ODk2OTItMzEzMmU1NmEtNjBkNS00ZDg4LTk0MTktMmJhY2NmYjE3YWIwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQyNmNmOTllNGUyYzgxNDA1ZTM2ZDFmY2E4NjBkYjY5ZDc2ZjJhODk1ODcyMzhkYzJjZTM1NjhiZjQyY2I4ODgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.OI-fchQjqtnMlqIjPtC8Vh0wSg6o57JZq1F6dZ76gU8)
- lynx parikesit.abimanyu.B04.com/secret
![image](https://private-user-images.githubusercontent.com/89269231/275889902-e5e62006-bf44-44b7-8ca2-b5d35b840762.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4ODk5MDItZTVlNjIwMDYtYmY0NC00NGI3LThjYTItYjVkMzViODQwNzYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQxNWFjYWJmYmFiY2NlY2I3OWM3YTZiMmI0MzdlN2Q1M2FkYTk4YzFmYWEwZTEwY2Q3NzkwM2ZhMzk5MWEwNTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.DXNjwHafsIWEz3ce8K7k8etTnCKV9-Z49t1I1wLIAA4)
![image](https://private-user-images.githubusercontent.com/89269231/275890142-ba796500-f9b1-4e99-ba3c-53dd7c366466.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4OTAxNDItYmE3OTY1MDAtZjliMS00ZTk5LWJhM2MtNTNkZDdjMzY2NDY2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFjYzZmM2IyZDJjMDJlNDU2N2RlYTYxY2I2NDYxZTUzNTc5Njc4YTIwMmMwYWM3YjQ2MTkzOWVhN2UxMTFiNjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.dp71Q_d4AAB8351t8-dtr3IJ3TE1krkbWhsEiEWA2HY)
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buatlah suatu konfigurasi virtual host agar file asset www.parikesit.abimanyu.yyy.com/public/js menjadi www.parikesit.abimanyu.yyy.com/js
Abimanyu
Sama seperti nomor 12, pada file parikesit.abimanyu.B04.com.conf
, tambahkan alias untuk path /var/www/parikesit.abimanyu.B04/public/js
.
echo '<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/parikesit.abimanyu.B04
ServerName parikesit.abimanyu.B04.com
ServerAlias www.parikesit.abimanyu.B04.com
<Directory /var/www/parikesit.abimanyu.B04/public>
Options +Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B04/secret>
Options -Indexes
</Directory>
Alias "/public" "/var/www/parikesit.abimanyu.B04/public"
Alias "/secret" "/var/www/parikesit.abimanyu.B04/secret"
Alias "/js" "/var/www/parikesit.abimanyu.B04/public/js"
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/parikesit.abimanyu.B04.com.conf
service apache2 restart
Pada client Nakula, testing dengan menjalankan lynx parikesit.abimanyu.B04.com/js
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Agar aman, buatlah konfigurasi agar www.rjp.baratayuda.abimanyu.yyy.com hanya dapat diakses melalui port 14000 dan 14400.
Abimanyu
Sama seperti pada nomor-nomor sebelumnya, namun pada portnya, tidak digunakan 80, melainkan <VirtualHost *:14000 *:14400>
.
echo '<VirtualHost *:14000 *:14400>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/rjp.baratayuda.abimanyu.B04
ServerName rjp.baratayuda.abimanyu.B04.com
ServerAlias www.rjp.baratayuda.abimanyu.B04.com
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/rjp.baratayuda.abimanyu.B04.com.conf
cp ports.conf /etc/apache2/ports.conf
mkdir -p /var/www/rjp.baratayuda.abimanyu.B04
apt-get install git -y
git -c http.sslVerify=false clone https://github.com/bombshelll/rjp.baratayuda.abimanyu.B04.com /var/www/rjp.baratayuda.abimanyu.B04
a2ensite rjp.baratayuda.abimanyu.B04.com.conf
service apache2 restart
Pada client Nakula, testing dengan menjalankan:
- lynx rjp.baratayuda.abimanyu.B04.com:14000
![image](https://private-user-images.githubusercontent.com/89269231/275891502-dad83455-54b6-4151-b1ba-1f7d87ccda3f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4OTE1MDItZGFkODM0NTUtNTRiNi00MTUxLWIxYmEtMWY3ZDg3Y2NkYTNmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg0ZjRjN2M0MTNiZmVjNGQzZWU0Y2U1NGQxYTFkN2ViODdiYmNmMjA2NzBhNTk5YzJmOWU1ZmViMWI4YWExNzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.XRxKxaUt6uUTtFnUfGEXoa5GuHqD23GyNY_5zvkx2gg)
- lynx rjp.baratayuda.abimanyu.B04.com:14400
![image](https://private-user-images.githubusercontent.com/89269231/275891600-1b2ec498-57c3-489f-8f0f-f0dc46868dbb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4OTE2MDAtMWIyZWM0OTgtNTdjMy00ODlmLThmMGYtZjBkYzQ2ODY4ZGJiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEyZjRiNTliZDg3NzU1MGVjOTNiNTQ1M2I0OWZhMmZhMGFhMTMyM2YzNjAxNjA1MDVmMDNiNjU4YTI1YjZmYzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.IPg3v-uZj5KedHbzpouBShMf7BwTFs0vj1pjgshN39A)
- Saat tidak menggunakan kedua port di atas
![image](https://private-user-images.githubusercontent.com/89269231/275891708-fa2bccbf-c050-457a-86b7-e29fb2319256.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNDQ5MDksIm5iZiI6MTcyMzI0NDYwOSwicGF0aCI6Ii84OTI2OTIzMS8yNzU4OTE3MDgtZmEyYmNjYmYtYzA1MC00NTdhLTg2YjctZTI5ZmIyMzE5MjU2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA5VDIzMDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThmMzU4NjI2MzQ0ODExYzdiOTVmMjMxNGM1Mjk1OWRkMTcxZWRlM2Y1NjUxZjhlYWUzZjBmYjQ0YTdkOTY4MTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.4qWcT_A2N4asl_lJGF5BA3TTHHOjp7wU7eQfdq_6KBI)
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Untuk mengaksesnya buatlah autentikasi username berupa “Wayang” dan password “baratayudayyy” dengan yyy merupakan kode kelompok. Letakkan DocumentRoot pada /var/www/rjp.baratayuda.abimanyu.yyy.
Dalam membuat autentikasi sesuai dengan perintah soal lakukan pada node Abimanyu di dalam file rjp.baratayuda.abimanyu.B04.com.conf
sebagai berikut:
echo '<VirtualHost *:14000 *:14400>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/rjp.baratayuda.abimanyu.B04
ServerName rjp.baratayuda.abimanyu.B04.com
ServerAlias www.rjp.baratayuda.abimanyu.B04.com
<Directory /var/www/html/rjp.baratayuda.abimanyu.B04>
AuthType Basic
AuthName "Protected"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
<Directory>
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/rjp.baratayuda.abimanyu.B04.com.conf
service apache2 restart
Selanjutnya, untuk kita menjalankan pada Abimanyu untuk setup username dan password dengan menjalankan
htpasswd -c /etc/apache2/.htpasswd Wayang
Kemudian set password menjadi baratayudaB04
Buatlah agar setiap kali mengakses IP dari Abimanyu akan secara otomatis dialihkan ke www.abimanyu.yyy.com (alias)
Untuk melakukan soal nomor ini, kita harus membuat scrip bash pada node Abimanyu. Di dalam folder abimanyu-redirect.conf
diisi seperti berikut:
<VirtualHost *:80>
ServerAdmin webmaster@abimanyu.B04.com
DocumentRoot /var/www/abimanyu.B04
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Redirect / http://www.abimanyu.B04.com/
</VirtualHost>
Berikut ini adalah file bash untuk nomor 19:
#!bin/bash
cp abimanyu-redirect.conf /etc/apache2/sites-available/000-default.conf
a2ensite abimanyu-redirect.conf
apache2ctl configtest
service apache2 restart
Sebagai testing, kita jalankan pada client Nakula dengan:
lynx 192.180.1.4
diperoleh hasil sebagai berikut:
Karena website www.parikesit.abimanyu.yyy.com semakin banyak pengunjung dan banyak gambar gambar random, maka ubahlah request gambar yang memiliki substring “abimanyu” akan diarahkan menuju abimanyu.png.
Berdasarkan soal tersebut, semua url yang mengandung kata "abimanyu" akan menuju "abimanyu.png". Oleh karena itu, kita harus melakukan konfigurasi di AbimanyuWebServer. Pada Abimanyu kita juga harus melakukan rewrite modul
a2enmod rewrite
Kemudian jalankan program ini untuk direktori parikesit.abimanyu.B04
echo 'RewriteEngine On
RewriteCond %{REQUEST_URI} ^/public/images/(.*)(abimanyu)(.*\.(png|jpg))
RewriteCond %{REQUEST_URI} !/public/images/abimanyu.png
RewriteRule abimanyu http://parikesit.abimanyu.B04.com/public/images/abimanyu.png$1 [L,R=301]' > /var/www/parikesit.abimanyu.B04/.htaccess
Selanjutnya ubah konfigurasi dan gunakan AllowOverride All
echo -e '<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/parikesit.abimanyu.B04
ServerName parikesit.abimanyu.B04.com
ServerAlias www.parikesit.abimanyu.B04.com
<Directory /var/www/parikesit.abimanyu.B04/public>
Options +Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B04/secret>
Options -Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B04>
Options +FollowSymLinks -Multiviews
AllowOverride All
</Directory>
Alias "/public" "/var/www/parikesit.abimanyu.B04/public"
Alias "/secret" "/var/www/parikesit.abimanyu.B04/secret"
Alias "/js" "/var/www/parikesit.abimanyu.a09/public/js"
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/parikesit.abimanyu.B04.com.conf
service apache2 restart
Untuk testing dilakukan pada client, sebagai contoh Sadewa sebagai berikut:
lynx parikesit.abimanyu.B04.com/public/images/not-abimanyu.png
lynx parikesit.abimanyu.B04.com/public/images/abimanyu-student.jpg
lynx parikesit.abimanyu.B04.com/public/images/abimanyu.png
lynx parikesit.abimanyu.B04.com/public/images/notabimanyujustmuseum.177013
Berikut ini adalah hasil saat dijalankan: