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