- Pemblokiran pengguna Inggris oleh Imgur menyebabkan masalah di mana tautan gambar di Reddit, forum, dokumentasi, dan berbagai tempat lain semuanya ditampilkan sebagai “unavailable”
- Alih-alih VPN per perangkat, dibangun struktur bypass otomatis di tingkat seluruh jaringan agar Imgur bisa diakses dari semua perangkat
- Dirancang arsitektur yang menggabungkan Pi-hole, Traefik, Gluetun, Nginx, dan NixOS untuk melewati blokir DNS dan meneruskan trafik melalui VPN
- Dengan memanfaatkan TLS passthrough dan berbagi jaringan Docker, trafik terenkripsi diteruskan apa adanya sambil meminimalkan penurunan kecepatan
- Hasilnya, gambar Imgur dapat diakses dari semua perangkat tanpa konfigurasi tambahan, dengan struktur pembukaan blokir jaringan yang transparan tanpa kehilangan kecepatan
Pemblokiran Imgur dan contoh ketidaknyamanan
- Setelah Imgur memblokir akses pengguna Inggris, muncul masalah tautan gambar di Reddit, forum, dokumentasi, dan berbagai halaman web lain tidak bisa ditampilkan
- Semua gambar pratinjau shader Minecraft hilang, sehingga tidak mungkin mengetahui shader yang dimaksud
- Di posting lama maupun file README, banyak tautan Imgur masih tersisa sehingga kondisi tidak dapat diakses terus berlanjut
Memilih solusi tingkat jaringan alih-alih VPN
- Solusi umum adalah memakai VPN, tetapi jika seluruh trafik dialihkan lewat VPN pada lingkungan internet cepat 2.5Gbps, kecepatan akan turun
- Ada juga masalah kompleksitas pengelolaan karena VPN harus dipasang dan dihubungkan di setiap perangkat
- Tujuannya adalah solusi tingkat jaringan yang tidak memerlukan konfigurasi klien dan bekerja otomatis di semua perangkat
Perancangan arsitektur level jaringan
- Di lingkungan homelab yang sudah ada, telah digunakan Traefik (reverse proxy), Pi-hole (DNS), dan NixOS (konfigurasi deklaratif)
- Pada tahap DNS, permintaan
i.imgur.com dicegat lalu diteruskan melalui kontainer koneksi VPN (Gluetun)
- Pi-hole mengembalikan IP Traefik
- Traefik memeriksa hostname SNI lalu merutekan ke Gluetun
- Gluetun meneruskan permintaan lewat VPN
- Nginx di dalam Gluetun mem-proxy ke server Imgur yang sebenarnya
- Gambar kemudian dikembalikan lagi melalui tunnel
Konfigurasi Nginx dan Gluetun
- Karena Gluetun hanya menyediakan koneksi VPN, diperlukan Nginx untuk berperan sebagai proxy di dalam jaringan VPN
- Nginx dikonfigurasi dalam mode TCP stream untuk membaca header SNI dan meneruskan trafik ke
i.imgur.com:443
- TLS handshake berlangsung end-to-end sehingga Nginx tidak melihat data yang telah didekripsi
- Di Docker Compose, dijalankan dua kontainer (Gluetun dan Nginx)
- Dengan pengaturan
network_mode: "service:gluetun", Nginx berbagi stack jaringan milik Gluetun
- Semua trafik Nginx otomatis melewati tunnel VPN
Integrasi Traefik dan NixOS
- Traefik menggunakan TCP routing dan TLS passthrough untuk meneruskan permintaan
i.imgur.com ke Gluetun
- TLS tidak diakhiri, hanya header SNI yang diperiksa
- Di NixOS, stack Docker Compose dijalankan sebagai layanan systemd
- Agenix digunakan untuk menyimpan kredensial VPN dalam keadaan terenkripsi
- Repositori dotfiles tetap bisa dibuka ke publik sambil tetap melindungi informasi rahasia
Hasil dan performa
- Semua perangkat dalam jaringan, termasuk ponsel, laptop, dan perangkat tamu, bisa mengakses gambar Imgur tanpa pengaturan tambahan
- Pi-hole mencegat DNS, Traefik melakukan routing, dan Gluetun menangani tunneling VPN
- Hampir tidak ada jeda saat memuat gambar, dan karena hanya trafik Imgur yang melewati VPN, kecepatan trafik umum tetap terjaga
- Perawatannya sederhana, dan tercipta struktur pembukaan blokir wilayah yang otomatis di lingkungan homelab
- Konten berbasis Imgur seperti shader Minecraft kini bisa kembali dilihat dengan normal
Belum ada komentar.