Difference between revisions of "OS: PRAKTIKUM — Integrated OS Lab"

From OnnoWiki
Jump to navigation Jump to search
(Created page with " PRAKTIKUM 11 — Integrated OS Lab Ubuntu sebagai Controller • OpenWRT sebagai Router • Android sebagai Client Tujuan Praktikum Setelah menyelesaikan praktikum ini, mahas...")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
+
==Tujuan Praktikum==
PRAKTIKUM 11 — Integrated OS Lab
 
Ubuntu sebagai Controller • OpenWRT sebagai Router • Android sebagai Client
 
Tujuan Praktikum
 
 
Setelah menyelesaikan praktikum ini, mahasiswa mampu:
 
Setelah menyelesaikan praktikum ini, mahasiswa mampu:
Mengorkestrasi tiga OS berbeda dalam satu sistem terintegrasi
+
* Mengorkestrasi tiga OS berbeda dalam satu sistem terintegrasi
Mendesain topologi jaringan yang realistis dan aman
+
* Mendesain topologi jaringan yang realistis dan aman
Mengkonfigurasi routing & firewall berbasis kernel
+
* Mengkonfigurasi routing & firewall berbasis kernel
Menyajikan layanan dari Ubuntu dan mengaksesnya dari Android
+
* Menyajikan layanan dari Ubuntu dan mengaksesnya dari Android
Menganalisis alur data lintas OS (kernel ↔ user space ↔ jaringan)
+
* Menganalisis alur data lintas OS (kernel ↔ user space ↔ jaringan)
 
Filosofi inti:
 
Filosofi inti:
Di dunia nyata, sistem selalu multi-OS. Nilai engineer terlihat dari kemampuan mengintegrasikan, bukan sekadar mengonfigurasi satu OS.
+
Di dunia nyata, sistem selalu multi-OS. Nilai engineer terlihat dari kemampuan mengintegrasikan, bukan sekadar mengonfigurasi satu OS.
Gambaran Arsitektur Lab
+
 
[ Android x86 ]  <-- client (untrusted)
+
==Gambaran Arsitektur Lab==
        |
+
 
        |  TCP/IP
+
[ Android x86 ]  <-- client (untrusted)
        |
+
        |
[ OpenWRT x86 ]  <-- router / firewall / policy
+
        |  TCP/IP
        |
+
        |
        |  routing + NAT
+
[ OpenWRT x86 ]  <-- router / firewall / policy
        |
+
        |
[ Ubuntu Server 24.04 ]  <-- controller / services
+
        |  routing + NAT
 +
        |
 +
[ Ubuntu Server 24.04 ]  <-- controller / services
 +
 
 
Peran kunci:
 
Peran kunci:
Ubuntu: controller (server, monitoring, orchestration)
+
* Ubuntu: controller (server, monitoring, orchestration)
OpenWRT: router (routing, firewall, policy enforcement)
+
* OpenWRT: router (routing, firewall, policy enforcement)
Android: client (end-user system, sandboxed)
+
* Android: client (end-user system, sandboxed)
Persiapan Lingkungan
+
 
Spesifikasi & Prasyarat
+
==Persiapan Lingkungan==
Host: Ubuntu Desktop 24.04
+
===Spesifikasi & Prasyarat===
Hypervisor: VirtualBox (+ GNS3 opsional)
+
* Host: Ubuntu Desktop 24.04
VM:
+
* Hypervisor: VirtualBox (+ GNS3 opsional)
Ubuntu Server 24.04 (2–4 CPU, 4–8 GB RAM)
+
* VM:
OpenWRT x86 (1 CPU, 256–512 MB RAM)
+
** Ubuntu Server 24.04 (2–4 CPU, 4–8 GB RAM)
Android x86 (2 CPU, 2–4 GB RAM)
+
** OpenWRT x86 (1 CPU, 256–512 MB RAM)
Jaringan:
+
** Android x86 (2 CPU, 2–4 GB RAM)
Internal Network untuk lab
+
* Jaringan:
NAT opsional untuk internet
+
** Internal Network untuk lab
Gunakan snapshot VM sebelum mulai.
+
** NAT opsional untuk internet
 +
** Gunakan snapshot VM sebelum mulai.
 
Konfigurasi OpenWRT sebagai Router
 
Konfigurasi OpenWRT sebagai Router
IP Addressing (Deterministik)
+
 
 +
===IP Addressing (Deterministik)===
 +
 
 
OpenWRT (br-lan): 192.168.100.1/24
 
OpenWRT (br-lan): 192.168.100.1/24
 +
 
Cek:
 
Cek:
ip addr
+
ip addr
ip route
+
ip route
DHCP (Opsional, Disarankan)
+
 
 +
===DHCP (Opsional, Disarankan)===
 
Pastikan DHCP aktif agar Android mudah mendapat IP.
 
Pastikan DHCP aktif agar Android mudah mendapat IP.
uci show dhcp
+
uci show dhcp
/etc/init.d/dnsmasq restart
+
/etc/init.d/dnsmasq restart
Firewall Dasar (Zona)
+
 
 +
===Firewall Dasar (Zona)===
 
Konsep security zone:
 
Konsep security zone:
LAN: Android
+
* LAN: Android
WAN/CTRL: Ubuntu
+
* WAN/CTRL: Ubuntu
 +
 
 
Cek aturan:
 
Cek aturan:
uci show firewall
+
uci show firewall
 +
 
 
Firewall OpenWRT dieksekusi oleh kernel networking stack—bukan sekadar aplikasi.
 
Firewall OpenWRT dieksekusi oleh kernel networking stack—bukan sekadar aplikasi.
Ubuntu sebagai Controller
+
 
Static IP Ubuntu
+
==Ubuntu sebagai Controller==
 +
===Static IP Ubuntu===
 
Set 192.168.100.10/24, gateway 192.168.100.1.
 
Set 192.168.100.10/24, gateway 192.168.100.1.
sudo nano /etc/netplan/01-lab.yaml
+
sudo nano /etc/netplan/01-lab.yaml
sudo netplan apply
+
sudo netplan apply
 +
 
 
Verifikasi:
 
Verifikasi:
ip a
+
ip a
ip route
+
ip route
ping 192.168.100.1
+
ping 192.168.100.1
  
Layanan Controller (Contoh Nyata)
+
===Layanan Controller (Contoh Nyata)===
 
Web server ringan untuk observasi lintas OS:
 
Web server ringan untuk observasi lintas OS:
sudo apt update
+
sudo apt update
sudo apt install -y python3
+
sudo apt install -y python3
python3 -m http.server 8080
+
python3 -m http.server 8080
 +
 
 
Buka port (UFW):
 
Buka port (UFW):
sudo ufw allow 8080
+
sudo ufw allow 8080
sudo ufw enable
+
sudo ufw enable
Android sebagai Client
+
 
Koneksi Jaringan
+
==Android sebagai Client==
 +
===Koneksi Jaringan===
 
Pastikan Android mendapat IP 192.168.100.x.
 
Pastikan Android mendapat IP 192.168.100.x.
 +
 
Cek (ADB):
 
Cek (ADB):
adb shell ip addr
+
adb shell ip addr
adb shell ip route
+
adb shell ip route
 +
 
 
Uji Konektivitas
 
Uji Konektivitas
adb shell ping -c 3 192.168.100.1
+
adb shell ping -c 3 192.168.100.1
adb shell ping -c 3 192.168.100.10
+
adb shell ping -c 3 192.168.100.10
Akses Layanan Ubuntu
+
 
 +
===Akses Layanan Ubuntu===
 
Dari browser Android:
 
Dari browser Android:
http://192.168.100.10:8080
+
http://192.168.100.10:8080
 
Observasi lintas OS:
 
Observasi lintas OS:
Android app → Android framework → kernel Android → TCP/IP → OpenWRT (routing/firewall) → Ubuntu (service).
+
Android app → Android framework → kernel Android → TCP/IP → OpenWRT (routing/firewall) → Ubuntu (service).
Integrasi & Observasi Sistem
+
 
Monitoring dari Ubuntu
+
==Integrasi & Observasi Sistem==
ss -tulpen
+
===Monitoring dari Ubuntu===
ip -s link
+
ss -tulpen
journalctl -f
+
ip -s link
Monitoring di OpenWRT
+
journalctl -f
logread -f
+
 
iptables -L -v -n
+
===Monitoring di OpenWRT===
Observasi di Android
+
logread -f
adb shell ps -A | head
+
iptables -L -v -n
adb shell getenforce
+
===Observasi di Android===
 +
adb shell ps -A | head
 +
adb shell getenforce
 
Perhatikan perbedaan model isolasi dan policy di tiap OS.
 
Perhatikan perbedaan model isolasi dan policy di tiap OS.
Keamanan Berlapis (Defense in Depth)
+
==Keamanan Berlapis (Defense in Depth)==
Android: sandbox, UID isolation, SELinux enforcing
+
* Android: sandbox, UID isolation, SELinux enforcing
OpenWRT: firewall, routing policy, NAT
+
* OpenWRT: firewall, routing policy, NAT
Ubuntu: UFW, service hardening
+
* Ubuntu: UFW, service hardening
 
Contoh kebijakan:
 
Contoh kebijakan:
Android → Ubuntu: allow HTTP (8080)
+
* Android → Ubuntu: allow HTTP (8080)
Android → Ubuntu: deny SSH (22)
+
* Android → Ubuntu: deny SSH (22)
 +
 
 
Implementasi (Ubuntu):
 
Implementasi (Ubuntu):
sudo ufw deny from 192.168.100.0/24 to any port 22
+
sudo ufw deny from 192.168.100.0/24 to any port 22
Failure Scenarios (Wajib Dicoba)
+
 
Matikan firewall OpenWRT → amati perubahan akses
+
==Failure Scenarios (Wajib Dicoba)==
Putuskan routing → Android gagal akses Ubuntu
+
* Matikan firewall OpenWRT → amati perubahan akses
Hentikan service Ubuntu → Android connection refused
+
* Putuskan routing → Android gagal akses Ubuntu
Belajar OS terbaik datang dari kegagalan yang terkontrol.
+
* Hentikan service Ubuntu → Android connection refused
Refleksi Akademik (OBE-Oriented)
+
* Belajar OS terbaik datang dari kegagalan yang terkontrol.
 +
 
 +
==Refleksi Akademik (OBE-Oriented)==
 
Mahasiswa kini mampu:
 
Mahasiswa kini mampu:
Mendesain sistem multi-OS
+
* Mendesain sistem multi-OS
Mengintegrasikan jaringan lintas OS
+
* Mengintegrasikan jaringan lintas OS
Menerapkan keamanan berlapis
+
* Menerapkan keamanan berlapis
Menganalisis alur data lintas kernel & user space
+
* Menganalisis alur data lintas kernel & user space
Berpikir sebagai system architect
+
* Berpikir sebagai system architect
 +
 
 +
 
 +
 
 +
==Penutup==
 +
Praktikum ini menegaskan transformasi akhir:
 +
* dari OS user → OS builder → system integrator.
 +
* Ubuntu, OpenWRT, dan Android kini bukan entitas terpisah, melainkan satu sistem komputasi hidup—seperti yang ditemui di data center, edge computing, dan IoT dunia nyata.
 +
* Jika Anda menuntaskan praktikum ini, Anda tidak hanya memahami sistem operasi—Anda memahami sistem terintegrasi.
  
  

Latest revision as of 13:13, 15 February 2026

Tujuan Praktikum

Setelah menyelesaikan praktikum ini, mahasiswa mampu:

  • Mengorkestrasi tiga OS berbeda dalam satu sistem terintegrasi
  • Mendesain topologi jaringan yang realistis dan aman
  • Mengkonfigurasi routing & firewall berbasis kernel
  • Menyajikan layanan dari Ubuntu dan mengaksesnya dari Android
  • Menganalisis alur data lintas OS (kernel ↔ user space ↔ jaringan)

Filosofi inti:

Di dunia nyata, sistem selalu multi-OS. Nilai engineer terlihat dari kemampuan mengintegrasikan, bukan sekadar mengonfigurasi satu OS.

Gambaran Arsitektur Lab

[ Android x86 ]  <-- client (untrusted)
        |
        |  TCP/IP
        |
[ OpenWRT x86 ]  <-- router / firewall / policy
        |
        |  routing + NAT
        |
[ Ubuntu Server 24.04 ]  <-- controller / services

Peran kunci:

  • Ubuntu: controller (server, monitoring, orchestration)
  • OpenWRT: router (routing, firewall, policy enforcement)
  • Android: client (end-user system, sandboxed)

Persiapan Lingkungan

Spesifikasi & Prasyarat

  • Host: Ubuntu Desktop 24.04
  • Hypervisor: VirtualBox (+ GNS3 opsional)
  • VM:
    • Ubuntu Server 24.04 (2–4 CPU, 4–8 GB RAM)
    • OpenWRT x86 (1 CPU, 256–512 MB RAM)
    • Android x86 (2 CPU, 2–4 GB RAM)
  • Jaringan:
    • Internal Network untuk lab
    • NAT opsional untuk internet
    • Gunakan snapshot VM sebelum mulai.

Konfigurasi OpenWRT sebagai Router

IP Addressing (Deterministik)

OpenWRT (br-lan): 192.168.100.1/24

Cek:

ip addr
ip route

DHCP (Opsional, Disarankan)

Pastikan DHCP aktif agar Android mudah mendapat IP.

uci show dhcp
/etc/init.d/dnsmasq restart

Firewall Dasar (Zona)

Konsep security zone:

  • LAN: Android
  • WAN/CTRL: Ubuntu

Cek aturan:

uci show firewall

Firewall OpenWRT dieksekusi oleh kernel networking stack—bukan sekadar aplikasi.

Ubuntu sebagai Controller

Static IP Ubuntu

Set 192.168.100.10/24, gateway 192.168.100.1.

sudo nano /etc/netplan/01-lab.yaml
sudo netplan apply

Verifikasi:

ip a
ip route
ping 192.168.100.1

Layanan Controller (Contoh Nyata)

Web server ringan untuk observasi lintas OS:

sudo apt update
sudo apt install -y python3
python3 -m http.server 8080

Buka port (UFW):

sudo ufw allow 8080
sudo ufw enable

Android sebagai Client

Koneksi Jaringan

Pastikan Android mendapat IP 192.168.100.x.

Cek (ADB):

adb shell ip addr
adb shell ip route

Uji Konektivitas

adb shell ping -c 3 192.168.100.1
adb shell ping -c 3 192.168.100.10

Akses Layanan Ubuntu

Dari browser Android:

http://192.168.100.10:8080

Observasi lintas OS:

Android app → Android framework → kernel Android → TCP/IP → OpenWRT (routing/firewall) → Ubuntu (service).

Integrasi & Observasi Sistem

Monitoring dari Ubuntu

ss -tulpen
ip -s link
journalctl -f

Monitoring di OpenWRT

logread -f
iptables -L -v -n

Observasi di Android

adb shell ps -A | head
adb shell getenforce

Perhatikan perbedaan model isolasi dan policy di tiap OS.

Keamanan Berlapis (Defense in Depth)

  • Android: sandbox, UID isolation, SELinux enforcing
  • OpenWRT: firewall, routing policy, NAT
  • Ubuntu: UFW, service hardening

Contoh kebijakan:

  • Android → Ubuntu: allow HTTP (8080)
  • Android → Ubuntu: deny SSH (22)

Implementasi (Ubuntu):

sudo ufw deny from 192.168.100.0/24 to any port 22

Failure Scenarios (Wajib Dicoba)

  • Matikan firewall OpenWRT → amati perubahan akses
  • Putuskan routing → Android gagal akses Ubuntu
  • Hentikan service Ubuntu → Android connection refused
  • Belajar OS terbaik datang dari kegagalan yang terkontrol.

Refleksi Akademik (OBE-Oriented)

Mahasiswa kini mampu:

  • Mendesain sistem multi-OS
  • Mengintegrasikan jaringan lintas OS
  • Menerapkan keamanan berlapis
  • Menganalisis alur data lintas kernel & user space
  • Berpikir sebagai system architect


Penutup

Praktikum ini menegaskan transformasi akhir:

  • dari OS user → OS builder → system integrator.
  • Ubuntu, OpenWRT, dan Android kini bukan entitas terpisah, melainkan satu sistem komputasi hidup—seperti yang ditemui di data center, edge computing, dan IoT dunia nyata.
  • Jika Anda menuntaskan praktikum ini, Anda tidak hanya memahami sistem operasi—Anda memahami sistem terintegrasi.


Pranala Menarik