IPv6 publik untuk Raspberry Pi: panduan lengkap 2026
Cara memberi Raspberry Pi (atau single-board Linux apa pun) alamat IPv6 publik dedicated miliknya sendiri — bisa diakses dari mana saja — dalam 5 menit.
Raspberry Pi 4/5 adalah hardware default buat "coba-coba self-hosting". Hambatan default-nya: ISP kamu tidak membiarkan traffic inbound sampai ke sana. CGNAT, tanpa delegasi IPv6, tanpa port forwarding. Si Pi nongkrong di LAN rumah tanpa terlihat sama sekali oleh dunia luar.
Panduan ini memberi si Pi IPv6 publik beneran — yang dedicated, bukan URL proxy Cloudflare — dan membahas tiga aplikasi nyata: Pi-hole DNS, Jellyfin, Mosquitto MQTT.
Prasyarat
- Raspberry Pi yang jalan di Raspberry Pi OS atau Linux aarch64 / armv7 apa pun.
- Internet yang jalan di Pi (cuma butuh outbound UDP/443 ke hub wayangi).
- 5 menit.
Yang tidak kamu butuhkan: IP statis, port-forwarding di router, IPv6 dari ISP, akun Cloudflare, atau distro Linux tertentu.
Langkah 1: install wayangi
Di Pi:
curl -fsSL https://wayangi.dalang.io/install.sh | sudo sh -s -- --token=YOUR_TOKEN
Ambil token dari dashboard kamu setelah menambah device — tier gratis mencakup 3 device mesh-only tanpa kartu kalau cuma mau coba. Untuk IPv6 publik beneran, $5/bln per device.
Script install-nya mengambil binary linux-arm64 (statically linked, jadi jalan di Alpine / Raspbian / Ubuntu / Pi OS / dll.), verifikasi SHA terhadap manifest yang sudah di-sign, install ke /usr/local/bin, pasang systemd unit, dan menghidupkan tunnel. Sekitar 60 detik dari awal sampai akhir di Pi 5.
Cek hasilnya:
wayangi status
# agent: running (pid 1234)
# device: "raspberrypi" (id 01KS...)
# endpoint: 163.128.54.14:443
# addresses:
# - 10.66.0.5/32
# - 2001:df6:d2c0:1400:ffff::5/64
# - 2001:df6:d2c0:1400::42/128 ← this is your public IPv6
Langkah 2: verifikasi reachability
Dari mesin lain mana pun di internet publik (HP pakai data seluler paling bersih — nge-bypass LAN rumahmu):
curl -s "https://wayangi.dalang.io/check?target=[2001:df6:d2c0:1400::42]:80"
# FAIL · couldn't reach [2001:df6:d2c0:1400::42]:80 in 18ms — connection refused
Connection refused justru jawaban yang benar — IPv6-nya bisa diraih, kamu cuma belum menjalankan service. Nyalakan satu:
# On the Pi
sudo python3 -m http.server 80 --bind ::
Jalankan lagi check-nya. OK · reached [...] in 23ms. Selesai — Pi kamu sudah di internet publik.
Aplikasi 1: Jellyfin
sudo apt install jellyfin
# By default Jellyfin binds 0.0.0.0:8096 — fine, IPv6 inherits via dual-stack
# Or explicit IPv6: edit /etc/jellyfin/network.xml <BindAddress> to ::
sudo systemctl restart jellyfin
# Point a DNS record
# pi.example.com AAAA 2001:df6:d2c0:1400::42
# Browse https://pi.example.com:8096/
Tambahkan Caddy di depan untuk TLS yang proper:
# /etc/caddy/Caddyfile
pi.example.com {
reverse_proxy localhost:8096
}
Caddy akan auto-resolve AAAA, minta cert Let's Encrypt via IPv6, dan mem-front Jellyfin di HTTPS. Selesai.
Aplikasi 2: Pi-hole sebagai DNS publik
Cukup nekat (dan berisiko kalau salah konfigurasi) — tapi sah untuk jaringan pribadi yang mau kamu pakai dari HP di data seluler:
# Install Pi-hole normally
# Edit /etc/pihole/setupVars.conf
# IPV6_ADDRESS=2001:df6:d2c0:1400::42
# DNSMASQ_LISTENING=all
sudo systemctl restart pihole-FTL
# On your phone: settings → Private DNS → pi.example.com
# (Android 9+ Private DNS works over IPv6 to the public address)
Catatan: DNS resolver yang bisa diraih publik bisa di-abuse untuk amplification attack. Pi-hole rate-limit by default, tapi kamu juga harus: aktifkan "DNSSEC validation" di Pi-hole, batasi accept-from list-nya, jalankan unbound di belakangnya. Tidak direkomendasikan kecuali kamu paham threat model-nya.
Aplikasi 3: MQTT untuk IoT
sudo apt install mosquitto
# /etc/mosquitto/conf.d/wayangi.conf
listener 8883
protocol mqtt
cafile /etc/ssl/certs/ca-certificates.crt
certfile /etc/letsencrypt/live/pi.example.com/fullchain.pem
keyfile /etc/letsencrypt/live/pi.example.com/privkey.pem
allow_anonymous false
password_file /etc/mosquitto/passwd
sudo systemctl restart mosquitto
Sekarang ESP32 yang tersebar di luar sana bisa connect ke mqtts://pi.example.com:8883 langsung, tanpa broker pihak ketiga.
Beberapa Pi berbagi satu prefix
Kalau kamu punya cluster Pi (atau cuma dua Pi dan satu NAS), model paling bersih: satu tier /124 = 16 alamat IPv6 dedicated, satu device utama yang mendaftarkan tier-nya, dan device lain bergabung sebagai sub-device. Tiap sub otomatis klaim IP dari prefix milik parent — tanpa binding manual, tanpa langganan tambahan. $25/bln untuk /124 mencakup semua 16.
Reboot, update, dan apa yang terjadi kalau tunnel mati
- Script install mendaftarkan systemd unit; agent restart otomatis saat reboot.
sudo wayangi updatemenarik binary signed terbaru (verifikasi SHA-256 + ed25519) lalu atomic-swap. Jalankan tiap bulan.- Kalau agent mati, systemd me-restart-nya dalam sedetik. IPv6 publik kamu tetap di-assign ke device selama langgananmu aktif — alamatnya sendiri tidak berubah.
- Kalau handshake WireGuard gagal (isu routing ISP yang langka), agent otomatis fallback ke TCP/443 via WSS. Key WireGuard yang sama, cuma dikirim lewat TLS.
Biaya
- $5/bln untuk satu Pi dengan satu IPv6 publik (tier
/128). - $25/bln untuk tier
/124— 16 IPv6 dedicated, bisa dibagi ke sampai 16 Pi via sub-device. - Gratis untuk 3 Pi di tier mesh-only (mereka saling ngobrol tapi tidak bisa diraih dari luar).
- Bayar tahunan hemat 15%.
Bandingkan dengan alternatifnya: VPS $5/bln buat reverse-tunnel (setup manual, tanpa HA), Cloudflare Tunnel (HTTPS-only di tier gratis, DNS kamu harus di CF), ngrok ($8/bln Personal + cap bandwidth), Tailscale Funnel (HTTPS-only + cap 1 GB/bln di tier gratis).
Penutup
Raspberry Pi dengan IPv6 publik berubah jadi infrastruktur yang berguna, bukan pajangan mahal. Jellyfin streaming ke HP kamu lewat data seluler, ESP32 di luar sana mengakses MQTT broker kamu, teman ssh masuk lewat IPv6, dan kamu tidak bayar cloud hosting untuk semua itu.
Kalau ISP kamu kasih IPv6 yang jalan, semua ini bisa gratis — tinggal buka firewall IPv6 di router dan pakai alamat SLAAC. Kalau tidak (kasus umum di Indonesia yang di-CGNAT, AS yang serba data seluler, Eropa yang fiber-CGNAT), coba wayangi gratis dulu dan pilih tier berbayar saat sudah siap.