Beberapa waktu lalu, saya sempat membutuhkan server demo untuk menguji sebuah aplikasi secara lokal. Karena tidak memiliki hardware server fisik cadangan, saya memutuskan untuk memanfaatkan WSL2 (Windows Subsystem for Linux) di PC utama saya sebagai alternatif yang hemat sumber daya.
Namun, kendala muncul saat saya mencoba mengakses layanan di dalam WSL tersebut melalui perangkat lain di jaringan yang sama. Secara default, wsl terisolasi dari jaringan lokal karena menggunakan konfigurasi network internal. Hal ini membuat perangkat lain di LAN tidak bisa “melihat” atau mengakses IP WSL tersebut.
Dalam artikel ini saya akan memberikan solusi step-by-step untuk expose wsl ke lan. Kita akan mengubah konfigurasi virtual switch menjadi External dan mengatur IP statis agar layanan Anda bisa diakses secara permanen oleh perangkat lain di jaringan yang sama.
Persiapan dan Prasyarat #
Sebelum memulai, pastikan Anda telah memenuhi beberapa poin berikut agar proses konfigurasi berjalan lancar:
- Windows 10/11 Pro atau Enterprise: Dibutuhkan untuk mengakses fitur Hyper-V Manager.
- WSL2 sudah terinstal dan berjalan di sistem Anda.
- Akses Administrator: Diperlukan untuk mengubah pengaturan jaringan Windows.
- Koneksi Jaringan: Pastikan PC Anda terhubung ke router via Ethernet atau Wi-Fi.
Langkah Demi Langkah Expose WSL ke LAN #
1. Aktifkan Fitur Hyper-V secara Penuh #
Secara default, WSL2 hanya menggunakan platform mesin virtual dasar. Untuk mengelola virtual switch secara mendalam, Anda harus mengaktifkan fitur Hyper-V secara lengkap.
- Tekan Win + R, ketik
optionalfeatures, lalu tekan Enter. - Cari Hyper-V dalam daftar, centang semua opsinya, lalu klik OK.
- Restart komputer Anda jika diminta.

2. Ubah Virtual Switch WSL ke External #
Langkah ini adalah kunci utama untuk expose wsl ke lan. Kita akan mengubah tipe koneksi dari internal (hanya antara host dan WSL) menjadi eksternal (terhubung langsung ke adapter fisik).
- Buka Hyper-V Manager dengan hak akses Administrator.
- Pilih nama PC Anda di panel kiri, lalu klik Virtual Switch Manager di sisi kanan.
- Cari switch bernama “WSL”.
- Ubah Connection type dari Internal menjadi External network.
- Pilih adapter jaringan yang sedang aktif (Ethernet atau Wi-Fi) yang terhubung ke LAN Anda.
- Klik Apply dan konfirmasi peringatan yang muncul.

Mengubah tipe menjadi External membuat WSL bertindak seolah-olah terhubung langsung ke router fisik Anda melalui bridge, sehingga ia bisa mendapatkan IP yang satu subnet dengan perangkat lain di rumah atau kantor Anda.
3. Verifikasi Alamat IP Baru pada Host #
Setelah perubahan diterapkan, Windows akan memberikan IP baru ke adapter virtual WSL yang selaras dengan subnet LAN Anda.
Buka Command Prompt dan jalankan perintah berikut:
ipconfig
Cari bagian Ethernet adapter vEthernet (WSL). Jika Anda melihat alamat IP seperti 192.168.x.x (sesuai subnet router Anda, punya saya IPv4-nya 10.1.1.188), berarti WSL sudah berhasil terjembatani ke LAN.
4. Konfigurasi IP Statis dan Otomatisasi dengan Systemd #
Masalah berikutnya adalah IP WSL sering berubah atau reset setiap kali dijalankan ulang. Untuk mengatasinya, kita akan membuat service systemd agar IP statis langsung terpasang saat WSL booting.
Pastikan systemd aktif
Cek:
ps -p 1 -o comm=Jika keluar:
systemdberarti siap.
Kalau belum, aktifkan:
sudo nano /etc/wsl.confIsi:
[boot]
systemd=trueLalu restart WSL:
wsl --shutdownJika systemd sudah dipastikan aktif. Buka terminal WSL Anda, lalu buat file service baru:
sudo nano /etc/systemd/system/wsl-static-ip.serviceMasukkan kode berikut ke dalam file tersebut (sesuaikan IP 10.1.1.88 dan gateway 10.1.1.1 dengan rentang IP router Anda, check lagi saat menjalankan perintah ipconfig di terminal windows):
[Unit]
Description=Set static IP for WSL
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/ip addr flush dev eth0
ExecStart=/usr/sbin/ip addr add 10.1.1.88/24 dev eth0
ExecStart=/usr/sbin/ip route add default via 10.1.1.1
ExecStart=/usr/sbin/ip link set eth0 up
ExecStart=/bin/sh -c 'printf "nameserver 8.8.8.8\nnameserver 1.1.1.1\n" > /etc/resolv.conf'
RemainAfterExit=yes
[Install]
WantedBy=multi-user.targetPerintah ip addr flush digunakan untuk membersihkan konfigurasi lama agar tidak terjadi konflik, sementara penulisan ke /etc/resolv.conf memastikan koneksi internet (DNS) tetap berfungsi setelah perubahan IP.
Aktifkan service tersebut dengan perintah:
sudo systemctl enable wsl-static-ip.service
sudo systemctl start wsl-static-ip.service5. Cara Cek Status Service #
Untuk memastikan konfigurasi otomatis sudah berjalan, Anda bisa mengecek status service tersebut dengan perintah:
systemctl status wsl-static-ip.serviceJika muncul status active (exited) dengan warna hijau, berarti service berhasil dijalankan dan IP statis Anda telah terpasang dengan benar.
Alur Koneksi Jaringan (Diagram) #
Berikut adalah gambaran bagaimana data mengalir setelah konfigurasi dilakukan:
graph LR
A[Perangkat LAN Lain] -- Request --> B(Router)
B -- Forward --> C{Virtual Switch External}
C -- Direct Access --> D[WSL2 Instance]
D -- Respond --> A
Penjelasan Teknis Tambahan #
Mengapa Menggunakan Metode External Switch? #
Metode ini dipilih karena memberikan fleksibilitas paling tinggi dibandingkan metode port forwarding biasa. Dengan menggunakan External Switch, WSL mendapatkan identitas unik di jaringan layaknya komputer fisik tersendiri. Ini sangat berguna jika Anda menjalankan banyak layanan sekaligus (seperti web server, database, dan MQTT broker) yang semuanya perlu diakses tanpa harus melakukan mapping port satu per satu di firewall Windows.
Dari sisi efisiensi, koneksi ini meminimalkan lapisan NAT (Network Address Translation) yang biasanya diterapkan oleh WSL secara default. Hal ini mengurangi overhead pada proses komunikasi data antar perangkat, yang sangat krusial saat Anda melakukan demo aplikasi yang membutuhkan latency rendah atau throughput besar.
Implikasi Keamanan dan Konteks Jaringan #
Membuka akses wsl ke jaringan luar tentu membawa implikasi keamanan. Karena WSL kini “terlihat” oleh perangkat lain di LAN, pastikan Anda telah mengatur konfigurasi firewall di dalam distro Linux Anda (misalnya menggunakan ufw). Jangan biarkan port-port sensitif terbuka tanpa autentikasi yang kuat, karena siapa pun di jaringan yang sama kini bisa mencoba melakukan koneksi ke server demo Anda.
Selain itu, perlu diingat bahwa jika Anda berpindah jaringan (misalnya dari Wi-Fi kantor ke Wi-Fi rumah), konfigurasi IP statis di dalam service systemd tadi mungkin perlu disesuaikan kembali agar cocok dengan subnet router yang baru. Jika tidak disesuaikan, WSL mungkin kehilangan koneksi internet karena gateway yang tidak valid.
Kesimpulan #
Melakukan expose wsl ke lan adalah solusi cerdas untuk membangun lingkungan server demo tanpa hardware tambahan. Dengan mengubah virtual switch ke tipe External dan memanfaatkan service systemd untuk menjaga IP statis, layanan Anda kini dapat diakses secara stabil oleh perangkat lain di jaringan lokal.
Troubleshooting Umum:
- Internet di WSL mati: Periksa kembali alamat nameserver di
/etc/resolv.confdan pastikan default gateway sudah benar sesuai IP router Anda. - Perangkat lain tetap tidak bisa akses: Pastikan Windows Firewall di host mengizinkan koneksi masuk (inbound rules) untuk port yang Anda gunakan.
Jika Anda memiliki pertanyaan atau menemui kendala saat mencoba tutorial ini, jangan ragu untuk bertanya di kolom komentar di bawah. Selamat mencoba eksperimen dengan server WSL Anda!