OS: PRAKTIKUM — Integrated OS Lab: Difference between revisions

From OnnoCenterWiki
Jump to navigationJump 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 06: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