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

From OnnoWiki
Jump to navigation Jump to search
 
(One intermediate revision 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
+
==Penutup==
 
Praktikum ini menegaskan transformasi akhir:
 
Praktikum ini menegaskan transformasi akhir:
dari OS user → OS builder → system integrator.
+
* 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.
+
* 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.
+
* 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