Install & Deploy PNETLab v4 · v5 · v6 Klasik

Panduan komprehensif install, upgrade berjenjang, dan deploy PNETLab klasik pada Ubuntu 18.04 Bionic (v5) dan Ubuntu 20.04 Focal (v6), plus OVA vendor v4.2.10. Memakai skrip *_rev3.sh di direktori repositori repo.alsyundawy.com/?berkas=PnetLab, path LabHub terverifikasi 21 September 2026, dan prosedur vendor pnetlab.com. Bukan PNETLab v8 / Ubuntu 26.04 Resolute.

v4
OVA 4.2.10
v5
18.04 Bionic
v6
20.04 Focal
rev3
Alsundawy
LabHub
/pnetlab/upgrades
v1.3.0 DOC-PNETLABV456-ALSY-2026.09.21
21 September 2026 Classic / Community
Penulis & Maintainer: Harry Dertin Sutisna Alsyundawy
Target: PNETLab v4 / v5 Bionic / v6 Focal — amd64
v1.3.0 (21 September 2026) — Full code review & linter clean Current
  • Bug fix: Footer social links diubah dari div[role="list"] ke <ul><li> native — menyelesaikan error ARIA "children which are not allowed" & "Prefer native <ul>".
  • CSS fix: Dihapus properti deprecated -webkit-overflow-scrolling:touch (tidak didukung sejak Safari iOS 13+, Chrome, Edge, Firefox). Scrollbar API dimigrasi ke @supports (scrollbar-width) guard agar fallback aman di semua browser.
  • Pseudo-element fix: Semua :before/:after diupgrade ke ::before/::after (CSS3 standar).
  • Responsive Xiaomi/POCO: Tambahan breakpoint @media (max-width:430px) dan @media (max-width:375px) untuk viewport 360–412px yang umum di Redmi A3, Redmi Note 13, POCO X6 Pro, dan perangkat budget Indonesia.
  • Security: Atribut transparent menggantikan literal #0000 pada nilai scrollbar-color untuk kejelasan kode.
  • Readability: CSS diformat dengan komentar seksi, font-family dikutip dengan benar, dan seluruh kode lolos W3C CSS linter.
v1.2.0 (21 September 2026) — OVA di Proxmox VE 8+, nav dibersihkan, ikon kontak
  • Kerangka visual: Bootstrap 5.3.8, Inter, FA 7.3.1, hero-stat, section-card, sidebar, offcanvas, copy-btn.
  • Skrip primer terverifikasi: install_pnetlab_latest_v5_rev3.sh (5.3.13), install_pnetlab_v5_testing_rev3.sh (5.5.18), install_pnetlab_v6_rev3.sh (6.0.0-100) — HTTP 200 di repo.alsyundawy.com.
  • Aset repo terverifikasi: OVA 4.2.10 & 5.3.13, patch 5.3.11 / 5.3.45 / 5.4.6 / 5.5.18, video instalasi, tgz Jammy 6.6.
  • Bab baru 9b: Deploy OVA PNETLab di Proxmox VE 8+ (nested KVM, importovf CLI, qemu-img VMDK, qm set host).
v1.0.0 — Draft path LabHub (desain awal)
1

Ringkasan & Status Sumber 21 Sep 2026

PNETLab klasik adalah platform emulasi jaringan self-hosted (turunan UNetLab) dengan GUI Apache + Guacamole, path /opt/unetlab, dan bridge pnet0pnet9. Generasi ini berbeda total dari PNETLab v8 Unofficial (Codeberg netkillui, Ubuntu 26.04, PHP 8, pnet-guac-lite).

  • v4: OVA resmi pnetlab.com masih 4.2.10. Bare-metal vendor = Ubuntu 18.04 + deb [trusted=yes] http://repo.pnetlab.com ./.
  • v5: Ubuntu 18.04 Bionic. Stable komunitas 5.3.13. Testing Alsundawy 5.5.18.
  • v6: Ubuntu 20.04 Focal + PHP 7.4 native. Paket skrip rev3: pnetlab 6.0.0-100 / komponen 6.0.0-30 / guacamole 6.0.0-7 / kernel UKSM 5.17.15-pnetlab.
Isolasi lab. Channel LabHub sempat menyatakan generasi ini deprecated/vulnerable. Ubuntu 18.04 dan 20.04 EOL. Jangan expose GUI/SSH/Guacamole ke internet publik.
Jangan menyalin prosedur tutorial v8 Resolute ke host Bionic/Focal, dan jangan mencampur repo.pnetlab.com dengan installer Codeberg v8.
2

Arsitektur Deploy yang Direkomendasikan

Arsitektur Deploy
              PNETLab KLASIK v4 / v5 / v6
                           │
         ┌─────────────────┼─────────────────┐
         │                 │                 │
     v4 OVA 4.2.10     v5 Ubuntu 18.04    v6 Ubuntu 20.04
     vendor / repo     Bionic + rev3      Focal + rev3
         │                 │                 │
         ▼                 ▼                 ▼
   root/pnet SSH      5.3.13 stable      PHP 7.4 + UKSM
   admin/pnet GUI     5.5.18 testing     guacamole 6.0.0-7
         │                 │                 │
         └─────────────────┴─────────────────┘
                           │
        GUI http://<ip>/  + nested VT-x/AMD-V + pnet0..9
Komponen v4 v5 v6
OSOVA vendor / 18.04 bare-metalUbuntu 18.04 Bionic sajaUbuntu 20.04 Focal saja
PHP7.2 era vendor7.2 (+ php7.2-zip sebelum upgrade GUI)7.4 native Focal (bukan 8.x)
WebApache + paket pnetlab-guacamole klasik — bukan pnet-guac-lite
Path/opt/unetlab
3

Persyaratan Sistem

  • CPU Intel VT-x/EPT atau AMD-V/RVI. Nested virt wajib di VMware/ESXi/Proxmox agar node QEMU tidak start-stop.
  • Docs vendor laptop: 4 logical CPU, RAM host 8 GB / VM 6 GB, HDD 40 GB — lab QEMU nyata butuh jauh lebih besar.
  • ISO: 18.04 untuk v5; 20.04.x live-server untuk v6. Bukan 22.04/26.04 untuk jalur klasik.
  • Snapshot hypervisor + backup /opt/unetlab/labs dan /opt/unetlab/addons sebelum upgrade.
Cek nested
grep -E -c '(vmx|svm)' /proc/cpuinfo
kvm-ok
lsmod | grep kvm
4

Repo Alsundawy & Fitur Script rev3

Skrip revisi official komunitas diunduh 21 September 2026 dari direktori repositori repo.alsyundawy.com/?berkas=PnetLab (proteksi indeks Nginx script berkas, HTTP 200) atau unduh langsung file skrip masing-masing di bawah ini:

File (Direct Download)TargetUkuran cek
install_pnetlab_latest_v5_rev3.sh18.04 → patch 5.3.13.zip14 611 B
install_pnetlab_v5_testing_rev3.sh18.04 testing 5.5.18 + deb 4.0.0-3021 244 B
install_pnetlab_v6_rev3.sh20.04 Focal 6.0.0-10030 732 B
Fitur bersama rev3 (dari DOCNOTE skrip)
  • set -Euo pipefail, gate root + versi Ubuntu (exit 1 jika salah OS).
  • Mirror LabHub diprioritaskan ke /0:/pnetlab/upgrades_pnetlab/... (bukan path root yang 500).
  • Validasi magic ZIP PK / DEB !<arch> pada file .part sebelum rename; failover mirror jika HTML/500.
  • ensure_working_dns (8.8.8.8 + 1.1.1.1) sesuai slug vendor name-resolution.
  • check_virtualization (vmx/svm) sebelum QEMU start-stop.
  • Backup labs ke /root/labs-TIMESTAMP.tgz jika folder ada; workdir mktemp + trap cleanup.
  • Pasca-aksi: /opt/unetlab/wrappers/unl_wrapper -a fixpermissions.
Khusus v6 rev3
  • PHP 7.4 native Focal, purge php8*, a2enmod rewrite php7.4, libsdl2 sesuai LabHub.
  • Kernel linux-image-5.17.15-pnetlab-uksm; paket P/L folders: docker, schema, guacamole 6.0.0-7, vpcs, dynamips, wireshark, qemu, pnetlab 6.0.0-100.
  • Password root vendor hanya jika /opt/ovf/.configured belum ada (idempotent).
  • Perbaikan fstab Azure (pemisah spasi, bukan literal \t).
Khusus v5 testing rev3
  • Artefak: 5.5.18.zip, pnetlab-docker/qemu/wireshark_4.0.0-30, pnetlab-guacamole_4.0.0-6, docker-ce.zip, swtpm-bionic.zip.
  • ALTER TABLE kuota CPU/RAM di DB pnetlab_db memakai MYSQL_PWD + env, bukan hardcode di output.
Unduh skrip rev3
sudo -i
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
cd /root
wget -O install_pnetlab_latest_v5_rev3.sh \
  https://repo.alsyundawy.com/PnetLab/install_pnetlab_latest_v5_rev3.sh
wget -O install_pnetlab_v5_testing_rev3.sh \
  https://repo.alsyundawy.com/PnetLab/install_pnetlab_v5_testing_rev3.sh
wget -O install_pnetlab_v6_rev3.sh \
  https://repo.alsyundawy.com/PnetLab/install_pnetlab_v6_rev3.sh
less install_pnetlab_latest_v5_rev3.sh   # inspeksi dulu
chmod +x install_pnetlab_*_rev3.sh
5

Install PNETLab v4

OVA 4.2.10

Vendor: pnetlab.com/pages/download. Mirror Alsundawy (HTTP 200, 2 061 676 032 B): PNET_4.2.10.ova.

  1. Import OVA ke VMware/VirtualBox/ESXi. Aktifkan Virtualize VT-x/EPT atau AMD-V/RVI.
  2. Login konsol root / pnet. Wizard awal. Offline GUI: admin/pnet.
  3. Akses HTTP ke IP manajemen (docs vendor: HTTP, bukan HTTPS).
Bare-metal vendor 18.04
sudo -i
passwd
sed -i -e 's/.*PermitRootLogin .*/PermitRootLogin yes/' /etc/ssh/sshd_config
service sshd restart
echo 'deb [trusted=yes] http://repo.pnetlab.com ./' >> /etc/apt/sources.list
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
apt-get update
apt-get purge netplan.io
apt-get install pnetlab -y
# jika gagal: apt-get update && apt-get install pnetlab -y
reboot

Sumber: slug vendor install-bare-metal. Ini generasi v4/v5, bukan skrip Focal v6.

6

Install / Upgrade v5 Stable — Ubuntu 18.04

Skrip install_pnetlab_latest_v5_rev3.sh mensyaratkan PNETLab sudah ada di host Bionic, lalu mengunduh 5.3.13.zip dan menjalankan prosedur vendor ./upgrade/upgrade.

1Siapkan Ubuntu 18.04 — OpenSSH, DNS, nested virt.
2Pasang basis v4/v5 — OVA 4.2.10 / 5.3.13 atau apt-get install pnetlab vendor.
3Jalankan rev3 stable
v5 stable rev3
sudo -i
cd /root
wget -O install_pnetlab_latest_v5_rev3.sh \
  https://repo.alsyundawy.com/PnetLab/install_pnetlab_latest_v5_rev3.sh
bash install_pnetlab_latest_v5_rev3.sh
reboot
kvm-ok
grep -cw vmx /proc/cpuinfo
Path LabHub yang dipakai skrip: .../pnetlab/upgrades_pnetlab/bionic/stable/5.3.13.zip. OVA siap pakai: PNetLab-v.5.3.13.ova (3 236 652 544 B).
7

v5 Testing 5.5.18 — Bionic

Cabang testing, bukan stable. Patch lokal Alsundawy: 5.5.18.zip (128 059 576 B). Hanya Ubuntu 18.04.

v5 testing rev3
sudo -i
wget -O install_pnetlab_v5_testing_rev3.sh \
  https://repo.alsyundawy.com/PnetLab/install_pnetlab_v5_testing_rev3.sh
bash install_pnetlab_v5_testing_rev3.sh
reboot
8

Install PNETLab v6 — Ubuntu 20.04 Focal

Skrip install_pnetlab_v6_rev3.sh menolak OS selain 20.04. Patch PHP 7.4 (bukan PPA PHP 7.2 yang sudah hilang). Reboot wajib karena kernel UKSM.

v6 Focal rev3
sudo -i
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
apt-get update
wget -O install_pnetlab_v6_rev3.sh \
  https://repo.alsyundawy.com/PnetLab/install_pnetlab_v6_rev3.sh
less install_pnetlab_v6_rev3.sh
bash install_pnetlab_v6_rev3.sh
reboot
php -v          # harapkan 7.4
kvm-ok
dpkg -l | egrep 'pnetlab|guacamole'
Catatan lama install.txt di repo masih memuat curl ... labhub.eu.org/api/raw/?path=/upgrades_pnetlab/focal/.... API raw itu pada 2026-09-21 redirect ke index. Pakai skrip rev3, bukan pipa path lama.
9

OVA, Patch, Video, dan Bundel Lain di Repo

Semua URL berkas langsung berikut berstatus HTTP 200 pada 21 September 2026. Seluruh direktori berkas dapat ditelusuri melalui repo.alsyundawy.com/?berkas=PnetLab.

AsetPeranBytes
PNET_4.2.10.ovaOVA v42 061 676 032
PNetLab-v.5.3.13.ovaOVA v5 stable3 236 652 544
from_any_to_5.3.11.zipPatch extras 5.3.11132 142 153
5.3.45.zipPatch 5.3.45123 360 833
5.4.6.zipPatch 5.4.6127 356 923
5.5.18.zipTesting 5.5.18128 059 576
pnetlab6.6-jammy-2026-06-08.tgzBundel komunitas 22.04 — bukan Focal v6 klasik, bukan v8602 852 164
Video instalasi
9b

Deploy OVA PNETLab di Proxmox VE 8+

Minimum Proxmox VE 8 (disarankan 8.3+ atau 9.x). Docs resmi: QEMU/KVM Virtual Machines dan Migrate to Proxmox VE. Wizard impor OVA/OVF masuk siklus PVE 8.2 dan distabilkan di 8.3 (konten storage import).

Tanpa nested KVM, node QEMU di dalam PNETLab akan start lalu langsung stop (slug vendor device-start-and-stop-immediately). CPU type default PVE (x86-64-v2-AES / kvm64) tidak meneruskan VT-x/AMD-V.
A. Nested virtualization di host PVE
Host PVE (Intel / AMD)
# Cek modul
cat /sys/module/kvm_intel/parameters/nested   # Intel: Y atau 1
cat /sys/module/kvm_amd/parameters/nested     # AMD: Y atau 1

# Intel — persist
echo "options kvm-intel nested=1" > /etc/modprobe.d/kvm-intel.conf
# AMD — persist
echo "options kvm-amd nested=1" > /etc/modprobe.d/kvm-amd.conf

update-initramfs -u
# Reload modul hanya jika tidak ada VM yang berjalan:
# modprobe -r kvm_intel && modprobe kvm_intel
# atau reboot host
B. Jalur GUI PVE 8.3+ (resmi)
  1. Datacenter → Storage → edit storage file-based (local atau NFS/CIFS) → centang konten Import (plus Disk Image).
  2. Pada node: Storage → tab Import → Upload atau Download from URL (contoh OVA Alsundawy).
  3. Pilih file OVA → Import. Wizard membaca OVF (vCPU/RAM/nama). Set target storage disk.
  4. Docs resmi: OVA butuh ruang sementara untuk extract; bisa set Import Working Storage.

OVA terverifikasi:

C. Jalur CLI — qm importovf (semua PVE 8+)

OVA adalah tar. Docs wiki: extract dulu, lalu impor OVF. Jaringan harus dipasang manual setelah import.

Extract + importovf
# di node PVE, sebagai root
mkdir -p /var/lib/vz/import/pnetlab && cd /var/lib/vz/import/pnetlab
# scp/wget OVA ke sini, contoh:
# wget -O PNET_4.2.10.ova https://repo.alsyundawy.com/PnetLab/PNET_4.2.10.ova

tar -xvf PNET_4.2.10.ova
ls -l
# biasanya: *.ovf  *.vmdk  *.mf

# VMID bebas, storage = local-lvm / local-zfs / nama storage Anda
qm importovf 210 PNET_4.2.10.ovf local-lvm --format qcow2
D. Alternatif: VM kosong + qemu-img + qm importdisk

Dipakai komunitas jika OVF PNETLab memicu error XPath namespace pada qm importovf (thread forum Proxmox; perbaiki xmlns di Envelope atau pakai jalur ini).

convert VMDK + importdisk
qemu-img convert -p -f vmdk -O qcow2 PNET_4.2.10-disk1.vmdk pnetlab.qcow2

qm create 210 --name pnetlab --ostype l26 --memory 8192 --cores 4 \
  --cpu host --numa 1 --scsihw virtio-scsi-pci \
  --net0 virtio,bridge=vmbr0 --bios seabios

qm importdisk 210 pnetlab.qcow2 local-lvm
# pasang disk yang muncul sebagai unused0:
qm set 210 --scsi0 local-lvm:vm-210-disk-0 --boot order=scsi0

Nama file VMDK di dalam OVA bisa berbeda; cek hasil tar -tf. Sesuaikan storage ID dan nama LV setelah impor.

E. Wajib setelah impor — CPU host & NIC
qm set nested + net
qm set 210 --cpu host
qm set 210 --cores 4 --memory 8192
# NIC manajemen: virtio ke vmbr0 (sesuaikan bridge lab Anda)
qm set 210 --net0 virtio,bridge=vmbr0
# SeaBIOS biasanya benar untuk OVA PNETLab (bukan OVMF)
qm set 210 --bios seabios
qm config 210
Live-migration antar node beda CPU: tipe host tidak portable. Untuk cluster homogen itu aman. PVE 9.1+ punya flag nested-virt pada model CPU vendor; untuk lab PNETLab tetap paling sederhana cpu: host.
F. Validasi di dalam guest PNETLab
Guest PNETLab
grep -E -c '(vmx|svm)' /proc/cpuinfo
kvm-ok
ip -br a
# ganti password default root/pnet
passwd
10

Upgrade Patch Berjenjang (Vendor)

Slug how-to-upgrade-pnetlab: online lewat GUI System → Version → Upgrade. Offline wajib naik bertahap (contoh vendor 1.0.1 → 1.0.2 → 1.0.3). Komunitas: sampai 4.2.10 berjenjang; 5.2.7+ banyak patch from_any_to_5.3.x.

Prosedur offline vendor
cd /tmp
rm -rf upgrade
unzip NAMA.zip -d ./upgrade
chmod 755 -R upgrade
find upgrade -type f -print0 | xargs -0 dos2unix 2>&1
./upgrade/upgrade
reboot

Sebelum tombol upgrade GUI di 18.04, docs vendor:

18.04 pra-upgrade GUI
rm -f /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend
apt-get install php7.2-zip -y
# jika stuck 100%: php /opt/unetlab/html/store/artisan upgrade now
11

Upgrade OS & Lintas Versi (4→5, 5→6, 4→6)

4→5 OVA 4.2.10 atau host vendor → patch from_4.2.10_to_5.0.1/5.0.1.zip di LabHub, lalu extras / from_any_to_5.3.11.zip / rev3 5.3.13. Cadangkan labs. Jangan loncat 4.2.10 langsung ke 5.5.18 tanpa snapshot.
5→6 Vendor tidak punya prosedur resmi do-release-upgrade. Folder LabHub extras/upgrade_to_ubuntu_20.04/ hanya berisi zip offline v6. Jalur aman: export config + tar labs/addons → Focal baru → install_pnetlab_v6_rev3.sh → restore + Fixpermissions.
4→6 Jangan satu lompatan. Pilihan: 4→5 lalu Focal baru, atau Focal bersih + v6 rev3 + restore lab.
pnetlab6.6-jammy-2026-06-08.tgz adalah bundel komunitas Ubuntu 22.04. Bukan target skrip v6 rev3 (gate 20.04) dan bukan v8 Resolute. Jangan dicampur ke host Focal/Bionic tanpa prosedur terpisah yang Anda uji sendiri.
12

ishare2 & Image

README resmi: ishare2-org/ishare2-cli. Installer https://ishare2.sh/install HTTP 200.

ishare2
curl https://ishare2.sh/install | sh
ishare2 search qemu
ishare2 installed all
ishare2 relicense
ishare2 fix permissions
13

HTML Console / Guacamole Klasik

  • HTML Console = default vendor, tanpa paket klien (Guacamole klasik v4–v6).
  • Native console: PuTTY/UltraVNC/Wireshark atau eve-ng-integration Linux.
  • Wireshark HTML memakai Docker; simpan ke /nobody/thinclient_drives/GUAC/Download.
System mode
mode default offline
mode default online
mode reset offline
14

Error Umum Vendor

Name resolution
fix-name-resolution-error
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
ping -c 2 pnetlab.com
# jika Google DNS diblokir:
rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
file_get_contents / MySQL SSL
fix-bug-file-get-contents
sed -i '/skip_ssl/d' /etc/mysql/mysql.conf.d/mysqld.cnf
echo 'skip_ssl' >> /etc/mysql/mysql.conf.d/mysqld.cnf
service mysql restart
sed -i 's/Update-Package-Lists "1"/Update-Package-Lists "0"/g' /etc/apt/apt.conf.d/20auto-upgrades
  • Node start-stop: image INVALID, nested virt mati, atau iourc IOL rusak.
  • Fixpermissions GUI atau wrapper unl_wrapper -a fixpermissions.
15

Validasi Runtime

Checklist host
lsb_release -a
php -v
dpkg -l | egrep 'pnetlab|guacamole|qemu|dynamips|vpcs'
systemctl is-active apache2 mysql docker || true
ip -br link | egrep 'pnet|br'
ss -lntup | egrep ':80|:8080|:22'
grep -E -c '(vmx|svm)' /proc/cpuinfo
kvm-ok
ls -ld /opt/unetlab /opt/unetlab/addons /opt/unetlab/labs
16

Security Baseline & Larangan

  • Ganti password root/pnet dan admin/pnet segera.
  • Jangan expose UI ke internet. VLAN lab / VPN / allowlist.
  • Isolasi bridge pnet1pnet9 dari jaringan kampus.
  • Jangan do-release-upgrade ke 22.04/26.04 pada host klasik.
  • Jangan campur repo.pnetlab.com dengan channel Codeberg v8.
  • Jangan pipe curl | bash ke API raw LabHub yang redirect index.
  • Image IOS/ASA/dll adalah tanggung jawab lisensi Anda.
Host klasik memakai stack EOL. Treat sebagai lab terisolasi, bukan appliance produksi internet-facing.
17

Urutan Final yang Direkomendasikan

PHASE 1 — Host
  1. Pilih OS yang cocok: OVA v4/v5, Bionic untuk v5, Focal untuk v6.
  2. Nested virt, snapshot, DNS, SSH key.
PHASE 2 — Install
  1. v4: OVA atau apt vendor 18.04.
  2. v5: basis + install_pnetlab_latest_v5_rev3.sh (atau testing 5.5.18).
  3. v6: Focal bersih + install_pnetlab_v6_rev3.sh.
PHASE 3 — Hardening & lab
  • Reboot, ganti password, Fixpermissions, uji 2-node, baru tarik image besar.
Kesimpulan: jalur klasik yang terverifikasi adalah OVA/vendor v4, Bionic + rev3 5.3.13/5.5.18, dan Focal + rev3 6.0.0-100. Path LabHub yang hidup ada di /0:/pnetlab/upgrades_pnetlab/.
Dokumentasi teknis PNETLab klasik v4 / v5 / v6 — Riset LabHub, skrip rev3 & penyusunan oleh ALSYUNDAWY IT SOLUTION