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== | |||
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== | ||
[ Android x86 ] <-- client (untrusted) | |||
| | |||
[ OpenWRT x86 ] <-- router / firewall / policy | | TCP/IP | ||
| | |||
[ 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.