WSL2: Panduan lanjutan untuk konfigurasi jaringan dan mode NAT dan mirroring

Pembaharuan Terakhir: 2 March 2026
  • WSL2 menggunakan mesin virtual dengan jaringannya sendiri, yang dapat dikonfigurasi melalui mode NAT atau mirroring dan dikelola oleh Hyper-V.
  • Kombinasi antara wsl.conf dan .wslconfig memungkinkan Anda untuk menyesuaikan segala hal mulai dari automount dan systemd hingga memori, CPU, dan kebijakan jaringan.
  • Fitur-fitur seperti dnsTunneling, autoProxy, dan firewall Hyper-V meningkatkan integrasi dengan VPN, proxy, dan keamanan di Windows 11.
  • Dengan konfigurasi yang cermat, WSL2 menjadi platform yang solid untuk pengembangan, kontainer, dan hosting mandiri yang aman.

Konfigurasi jaringan di WSL2

WSL2 telah sepenuhnya mengubah cara Linux berintegrasi dengan Windows.Terutama dalam segala hal yang berkaitan dengan jaringan: kini kita memiliki mesin virtual ringan dengan tumpukan jaringan sendiri, alamat IP sendiri, dan aturan akses terpisah. Hal ini membuka banyak kemungkinan untuk pengembangan, pengujian, kontainer, dan lingkungan hosting mandiri, tetapi juga menimbulkan kekhawatiran ketika layanan menjadi tidak dapat diakses, seperti yang terjadi pada WSL1.

Memahami konfigurasi jaringan WSL2, mode NAT dan mirroring-nya, penggunaan .wslconfig dan wsl.conf, serta bagaimana interaksinya dengan firewall, VPN, Docker, atau alat seperti Tailscale. Ini kunci untuk menghindari masalah. Mari kita lihat langkah demi langkah bagaimana keseluruhan pengaturan ini bekerja, bagaimana mengekspos layanan ke Windows dan LAN, perintah apa yang harus digunakan untuk mendapatkan IP yang benar, dan opsi konfigurasi lanjutan apa yang Anda miliki untuk menyempurnakan lingkungan Anda, membuatnya stabil dan, yang terpenting, aman.

Bagaimana jaringan sebenarnya bekerja di WSL2

WSL2 tidak lagi berbagi tumpukan jaringan host seperti WSL1.Sebaliknya, ia menjalankan setiap distribusi Linux di dalam mesin virtual kecil yang dikelola oleh Hyper-V. Mesin virtual tersebut memiliki adaptor virtualnya sendiri (biasanya eth0) dan alamat IP pribadi yang diberikan oleh switch virtual internal.

Dalam mode default-nya, WSL2 menggunakan arsitektur berbasis NAT. (Network Address Translation). Windows bertindak sebagai router/host, dan distribusi Linux berada di subnet pribadi, biasanya dalam rentang tertentu. 172.16.0.0/12Subnet ini dapat berubah setelah reboot atau restart WSL, sesuatu yang telah membuat lebih dari satu orang frustrasi saat mengkonfigurasi aturan firewall statis.

Dari sudut pandang praktis, ini berarti alamat IP distro WSL2 Anda tidak stabil dan tidak dapat diakses langsung dari LAN. Seperti halnya WSL1: secara default, konektivitas antara Windows dan WSL2 hanya melalui aturan pengalihan dan NAT, dan akses ke jaringan lokal memerlukan langkah tambahan atau penggunaan mode mirroring.

Selain arsitektur dasar ini, Windows 11 22H2 dan versi yang lebih baru menambahkan kemampuan jaringan baru. (mode mirroring, dnsTunneling, autoProxy, firewall Hyper-V, dll.) yang dikendalikan dari file global .wslconfigsementara opsi tertentu di dalam Linux dikelola dengan /etc/wsl.conf.

Mengidentifikasi alamat IP di WSL2

Bekerja dengan WSL2 melibatkan pembedaan yang jelas antara dua skenario IP.: saat Anda membutuhkan alamat IP distribusi Linux dan saat Anda membutuhkan alamat IP host Windows yang dilihat dari Linux. Masing-masing diselesaikan dengan perintah yang berbeda.

Skenario 1: Dari Windows, Anda ingin mengetahui alamat IP dari distribusi WSL2. Untuk memungkinkan aplikasi pada host (misalnya, klien, browser, atau alat pengujian) terhubung ke layanan yang berjalan di dalam Linux. Untuk melakukan ini, Anda dapat menjalankan perintah berikut di Windows (menggunakan CMD atau PowerShell):

wsl.exe --distribution <DistroName> hostname -i

Jika Anda ingin menggunakan distribusi default, Anda dapat menghilangkan parameter distribusi. dan cukup hubungi wsl.exe hostname -iDi latar belakang, perintah ini dijalankan di Linux. hostname --ip-addresses dan mengembalikan alamat IP dari instance tersebut. Hasil tipikalnya mungkin terlihat seperti ini:

172.30.98.229

Skenario 2: Dari distribusi Linux, Anda perlu mengetahui alamat IP dari host Windows.Sebagai contoh, untuk menghubungkan aplikasi WSL2 ke server yang berjalan secara native di Windows (Node.js, SQL Server, Caddy, dll.). Di dalam shell Linux, Anda dapat menggunakan:

ip route show | grep -i default | awk '{ print $3 }'

Outputnya akan berupa gateway default dari VM WSL2., yang sesuai dengan alamat IP host Windows seperti yang terlihat dari Linux, kira-kira seperti ini:

172.30.96.1

Nilai tersebut (misalnya, 172.30.96.1) adalah alamat yang harus dituju oleh klien Linux Anda. Saat Anda ingin mengakses layanan yang berjalan di host Windows saat berada dalam mode NAT klasik.

Mode NAT: perilaku default jaringan WSL2

Secara default, WSL2 bekerja dalam mode NAT, dan untuk banyak lingkungan pengembangan sederhana, ini sudah lebih dari cukup.Yang terpenting adalah memahami apa yang berhasil "dengan sendirinya" dan apa yang tidak, agar tidak membuang waktu mengejar hal-hal yang tidak nyata.

Mengakses layanan Linux dari Windows menggunakan localhostJika Anda menjalankan aplikasi jaringan (misalnya, server Node.js, server Flask, SQL Server di Linux) pada distribusi WSL2 Anda, Anda dapat mengaksesnya dari Windows menggunakan localhost:puertoWindows secara otomatis meneruskan koneksi masuk ke alamat IP internal VM WSL2.

Mengakses layanan yang berjalan di Windows dari LinuxDi sinilah perbedaannya. Untuk mengakses aplikasi jaringan pada host (seperti server Node.js, SQL Server, atau Caddy di Windows) dari WSL2, Anda harus menggunakan alamat IP host seperti yang terlihat dari Linux, yang diperoleh dengan perintah route default:

ip route show | grep -i default | awk '{ print $3 }'

Dengan alamat IP tersebut, Anda dapat terhubung dari Linux ke layanan apa pun di host., sebagai contoh http://172.30.96.1:3000 jika server Windows Anda mendengarkan pada port 3000 di semua antarmuka.

Saat Anda terhubung menggunakan IP jarak jauh (bukan localhost), aplikasi akan menganggapnya sebagai koneksi LAN.Ini berarti bahwa banyak server harus dikonfigurasi untuk mendengarkan pada 0.0.0.0 di tempat 127.0.0.1Sebagai contoh, dengan Flask Anda dapat menjalankan:

  Cara memproyeksikan layar ponsel Anda ke PC langkah demi langkah

app.run(host='0.0.0.0')

Perubahan ini meningkatkan aksesibilitas tetapi membutuhkan fokus pada keamanan.karena Anda mengizinkan koneksi dari jaringan lokal Anda, bukan hanya dari komputer itu sendiri.

Mengakses WSL2 dari jaringan lokal (LAN) menggunakan NAT

Salah satu perubahan paling menjengkelkan saat beralih dari WSL1 ke WSL2 adalah distribusi Linux tidak lagi dapat diakses langsung dari LAN.Di WSL1, jika Windows Anda terlihat di jaringan, layanan distro akan mewarisi akses tersebut hampir tanpa kesulitan.

Di WSL2, VM memiliki alamat IP pribadi sendiri dan tidak secara otomatis diiklankan di LAN.Untuk mencapai sesuatu yang mirip dengan perilaku lama, dalam mode NAT Anda harus membuat proksi port di Windows, seperti yang Anda lakukan pada mesin virtual Hyper-V mana pun.

Windows menyertakan alat klasik untuk ini: netsh interface portproxyPerintah umum untuk mengalihkan port host ke IP/port WSL2 adalah:

netsh interface portproxy add v4tov4 listenport=<puertoHost> listenaddress=0.0.0.0 connectport=<puertoWSL> connectaddress=(wsl hostname -I)

Dalam praktiknya, Anda akan mengganti penanda tersebut dengan nilai-nilai tertentu., misalnya:

netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=4000 connectaddress=192.168.101.100

Di sini listenaddress=0.0.0.0 Ini menunjukkan bahwa Windows akan mendengarkan semua alamat IPv4 dari host tersebut.dan akan meneruskan apa yang masuk melalui port 4000 ke 192.168.101.100:4000yang akan menjadi alamat IP WSL2 yang diperoleh dengan:

  • wsl hostname -I Ini memberi Anda alamat IP dari distribusi Linux di dalam VM WSL2.
  • cat /etc/resolv.conf Ini mengungkapkan alamat IP host Windows Vista dari WSL2.

Dengan teknik ini, Anda dapat membuat layanan yang berjalan di WSL2 dapat diakses dari komputer mana pun di LAN.asalkan firewall Windows mengizinkannya dan Anda menjelaskan bahwa Anda mengekspos layanan dari VM, bukan host secara langsung.

IPv6 dan fitur jaringan modern

WSL2 juga dapat bekerja dengan IPv6, yang sangat relevan di lingkungan modern, VPN, dan jaringan perusahaan.Untuk menangani alamat, perintah dasar di Linux setara dengan perintah IPv4:

  • wsl hostname -i Dari Windows untuk melihat alamat IP distribusi WSL2
  • ip route show | grep -i default | awk '{ print $3 }' dari Linux untuk mendapatkan alamat IP host Windows.

Peningkatan kualitas yang paling terlihat pada dukungan IPv6 dan VPN adalah pada mode jaringan yang dicerminkan (mirrored network mode)., tersedia di Windows 11 22H2 dan versi yang lebih baru, yang akan kita lihat secara detail nanti.

Mode jaringan cermin: mencerminkan antarmuka Windows di Linux

Pada komputer dengan Windows 11 22H2 atau lebih tinggi, Anda dapat mengaktifkan mode jaringan "mirroring". Di WSL2, modelnya berubah total: alih-alih NAT klasik, Linux "melihat" antarmuka jaringan Windows yang tercermin.

Untuk mengaktifkannya, Anda perlu mengedit file tersebut. .wslconfig dari pengguna Anda, yang ada di %UserProfile%\.wslconfigDari PowerShell dengan hak akses administrator, Anda dapat membukanya dengan:

notepad $env:USERPROFILE\.wslconfig

Di dalam, tambahkan (atau modifikasi) bagian [wsl2] untuk mengaktifkan mode mirroring.:

[wsl2]
networkingMode=mirrored

Setelah file disimpan, Anda perlu memulai ulang WSL2 agar perubahan berlaku.Sebagai contoh, dengan:

wsl --shutdown

Saat Anda memulai ulang, WSL akan menggunakan arsitektur jaringan mirrored yang baru.yang menghadirkan beberapa keunggulan yang sangat besar:

  • Dukungan IPv6 asli dan integrasi yang lebih baik dengan jaringan perusahaan dan VPN.
  • Kemampuan untuk terhubung ke layanan Windows dari Linux menggunakan 127.0.0.1 langsung (walaupun tidak diperbolehkan) ::1 (seperti loopback IPv6 untuk ini)
  • Peningkatan dukungan multicast dalam integrasi Windows-Linux.
  • Akses langsung ke WSL dari LAN tanpa perlu menggunakan netsh portproxy.menggunakan alamat IP dari mesin Windows itu sendiri

Mengaktifkan mode ini menyelesaikan banyak masalah NAT WSL2 klasik. dan ini adalah opsi yang direkomendasikan di sebagian besar lingkungan pengembangan dan hosting mandiri modern di mana Anda dapat menggunakan versi Windows 11 yang terbaru.

Tunneling DNS dan penggunaan proxy di WSL2

Pada Windows 11 22H2 dan versi yang lebih baru, resolusi nama dari WSL2 juga telah mengalami perombakan yang signifikan.Kuncinya terletak pada dua fungsi yang didefinisikan dalam .wslconfig: dnsTunneling y autoProxy.

pilihan dnsTunneling Ini diaktifkan secara default di bagian [wsl2]. Hal ini memungkinkan permintaan DNS Linux ditangani melalui fitur virtualisasi, alih-alih dikirim sebagai paket jaringan biasa. Ini sangat meningkatkan kompatibilitas dengan VPN dan konfigurasi jaringan yang kompleks pada host.

Untuk bagiannya, autoProxy=true memaksa WSL untuk menggunakan pengaturan proxy HTTP Windows.Jika host berada di belakang proxy perusahaan atau keamanan, WSL2 secara otomatis mewarisinya tanpa Anda perlu berurusan dengan variabel lingkungan secara manual.

Anda bisa memiliki, misalnya, sesuatu seperti ini di dalam .wslconfig:

[wsl2]
dnsTunneling=true
autoProxy=true

Hal ini memastikan bahwa jaringan WSL2 berperilaku konsisten dengan konfigurasi host., sangat berguna terutama di perusahaan dengan kebijakan jaringan dan penyaringan yang ketat.

Firewall Hyper-V dan Paparan Layanan Aman

Dalam lingkungan modern, jaringan WSL2 juga melewati firewall khusus.Dimulai dengan WSL 2.0.9 pada Windows 11 22H2, fitur firewall Hyper-V diaktifkan secara default, menambahkan lapisan penyaringan ekstra untuk lalu lintas VM (termasuk lalu lintas WSL2).

Jika Anda bekerja dalam mode mirroring dan ingin mengekspos layanan WSL2 secara permanen ke LAN (misalnya, API, dasbor, atau layanan hosting mandiri), Anda perlu memastikan bahwa aturan firewall mengizinkannya.

Pendekatan yang masuk akal dari PowerShell dengan hak akses administrator adalah dengan membuat aturan Hyper-V untuk jaringan privat.:

  Cara memasang patch PhotoGIMP di Windows dan Mac

New-NetFirewallHyperVRule -DisplayName "WSLPrivateInboundRule" -Profiles Private -Direction Inbound -Action Allow -VMCreatorId ((Get-NetFirewallHyperVVMCreator).VMCreatorId)

Jika karena alasan tertentu Anda ingin menonaktifkan perlindungan Hyper-V tertentu tersebut (sebagai alternatif yang kurang disarankan), Anda bisa menggunakan:

Set-NetFirewallHyperVVMSetting -Name ((Get-NetFirewallHyperVVMCreator).VMCreatorId) -Enabled False

Idenya adalah untuk menjaga firewall tetap aktif kapan pun memungkinkan.Membatasi aturan hanya pada jaringan pribadi dan hanya pada port yang benar-benar Anda butuhkan, serta menjadikan penonaktifan massal sebagai upaya terakhir dan selalu dengan tujuan untuk memperkuat konfigurasi kembali segera setelah semuanya berfungsi.

Arsitektur jaringan WSL2, rentang X11 dan 172.16.0.0/12

Salah satu contoh klasik yang mengungkap detail jaringan WSL2 adalah penggunaan aplikasi grafis melalui X11.Sebagai contoh, menjalankan Xming di Windows dan mengirimkan aplikasi Linux melalui DISPLAY.

Saat melakukan upgrade dari WSL1 ke WSL2, banyak pengguna mendapati bahwa X berhenti berfungsi. karena jaringan tersebut berhenti menjadi jaringan "berbagi" dan menjadi jaringan NAT virtual dengan rentang seperti 172.16.0.0/12yang juga dapat berubah setelah setiap kali Windows atau WSL dihidupkan ulang.

Untuk membuat X berfungsi kembali dengan Xming dari WSL2, trik yang biasa digunakan adalah mendapatkan alamat IP Windows yang dilihat oleh Linux. menggunakan:

ens

DISPLAY=$(grep nameserver /etc/resolv.conf | cut -d' ' -f2):0

Secara paralel, perlu dilakukan penyesuaian pada firewall Windows untuk mengizinkan lalu lintas X11 dari subnet NAT tersebut.Pendekatan umum adalah dengan mengedit aturan Xming dengan menambahkan rentang. 172.16.0.0/12 dalam TCP+UDP 6000.

Banyak yang akhirnya menonaktifkan otentikasi Xming dengan opsi tersebut. -acHal ini secara efektif "membuka pintu" bagi klien X mana pun yang datang dari jaringan tersebut. Cara ini berhasil, tetapi dari sudut pandang keamanan, hal ini cukup dipertanyakan, jadi ada baiknya mempertimbangkan solusi yang lebih terbatas atau menggunakan WSLg (aplikasi GUI terintegrasi) di Windows 11.

wsl.conf dan .wslconfig: konfigurasi WSL2 tingkat lanjut

WSL menawarkan dua file konfigurasi utama yang mengontrol perilaku VM dan juga perilaku setiap distribusi.: /etc/wsl.conf (berdasarkan distribusi) dan %UserProfile%\.wslconfig (berlaku secara global untuk semua distribusi WSL2).

wsl.conf hidup di dalam distribusi Linux, di /etc/wsl.confIni digunakan untuk mengkonfigurasi opsi lokal untuk distro tersebut: pemasangan otomatis, pembuatan hosts y resolv.confinteroperabilitas dengan Windows, pengguna default, systemd, dll.

.wslconfig Informasi tersebut tersimpan di luar Linux, yaitu di profil pengguna Windows. (C:\Users\<Usuario>\.wslconfig) dan mengontrol parameter global VM yang menjalankan WSL2: memori, CPU, kernel, mode jaringan, firewall, DNS, ukuran disk virtual, dukungan GUI, dll.

Salah satu detail yang menarik adalah "aturan 8 detik" saat mengubah pengaturan.Saat Anda memodifikasi file-file ini, Anda harus memastikan bahwa VM WSL benar-benar dimatikan. Meskipun Anda menutup jendela distro, jendela tersebut mungkin tetap berada di memori selama beberapa detik.

Untuk memaksa subsistem memulai ulang, Anda dapat menggunakan:

  • wsl --list --running untuk memeriksa apakah ada distro yang aktif
  • wsl --shutdown untuk menutup semua distribusi sekaligus
  • wsl --terminate <distroName> untuk menghentikan distro tertentu

Perubahan konfigurasi hanya akan diterapkan saat WSL dimatikan dan dihidupkan kembali.Sesuatu yang sering diabaikan banyak orang dan mereka mengira penyesuaian yang mereka lakukan "tidak berhasil".

Opsi wsl.conf utama berdasarkan bagian

file wsl.conf Ini terinspirasi oleh format .ini klasik, dengan bagian dan kunci.Bagian-bagian utamanya adalah [automount], [network], [interop], [user], [boot], [gpu] y [time].

En [automount] Anda mengontrol cara drive Windows dipasang di dalam Linux. (biasanya rendah) /mnt):

  • enabled (bool, nilai default true)Jika benar, C:/, D:/, dll., akan dipasang secara otomatis pada /mnt/c, /mnt/d...
  • mountFsTab (bodoh)Jika benar, maka akan diproses. /etc/fstab saat memulai distribusi.
  • root (rantai): direktori root tempat drive akan dipasang, misalnya /windir/ memiliki /windir/c.
  • options (daftar yang dipisahkan koma)Parameter khusus DrvFs seperti metadata, uid, gid, umask, fmask, dmask o case.

DrvFs adalah sistem file yang menjembatani Windows dan Linux., dirancang untuk mengakses NTFS dari WSL dengan kontrol izin, metadata, dan sensitivitas huruf besar/kecil.

Di bagian ini [network] Anda menyesuaikan pembuatan file jaringan secara otomatis.:

  • generateHostsJika benar, WSL akan secara otomatis menghasilkan /etc/hosts.
  • generateResolvConfJika benar, WSL akan membuat /etc/resolv.conf dengan DNS lama.
  • hostname: nama host yang akan digunakan oleh distribusi tersebut.

Bagian [interop] mengontrol interoperabilitas dengan Windows:

  • enabledMengaktifkan atau menonaktifkan kemampuan untuk menjalankan proses Windows dari WSL.
  • appendWindowsPath: memutuskan apakah akan menambahkan jalur Windows ke $PATH Linux.

En [user] Anda dapat menentukan pengguna yang akan digunakan secara default saat memulai distribusi.:

  • default: nama pengguna yang akan dijalankan secara default di WSL.

Bagian [boot] Ini sangat berguna di Windows 11 dan Server 2022. untuk meluncurkan layanan secara otomatis, seperti Docker di dalam WSL:

  • command: string perintah yang akan dieksekusi saat memulai WSL, misalnya service docker start.
  • protectBinfmt: melindungi pembuatan unit systemd ketika systemd diaktifkan.

Anda juga memiliki bagian-bagian seperti [gpu] (mengaktifkan akses ke GPU Windows dari Linux), dan [time] untuk menyinkronkan zona waktu dengan WindowsHal ini mencegah masalah saat Anda beralih ke zona waktu musim panas atau bepergian.

.wslconfig: Kontrol mesin virtual WSL2

Sementara wsl.conf mengatur perilaku setiap distribusi secara detail, .wslconfig memungkinkan Anda untuk mengatur VM yang digunakan bersama oleh semua distribusi WSL2 secara detail.File ini hanya diperhitungkan oleh distribusi yang berjalan sebagai WSL2, bukan WSL1.

Dalam .wslconfig bagian utamanya adalah [wsl2]di mana Anda menentukan parameter kunci:

  • kernel y kernelModules: jalur absolut dari Windows ke kernel Linux kustom dan modul-modulnya.
  • memoryBatas memori VM (standar 50% dari RAM host), misalnya. 4GB.
  • processors: jumlah prosesor logis yang dialokasikan ke VM.
  • localhostForwarding: memungkinkan port terbuka di WSL2 dapat diakses dari Windows menggunakan localhost.
  • swap y swapFile: ukuran dan jalur file swap untuk VM.
  • guiApplications: mengaktifkan atau menonaktifkan dukungan aplikasi GUI (WSLg).
  • dnsProxySaat Anda berada dalam mode NAT, sistem akan menentukan apakah server DNS Linux akan menjadi instance NAT host atau salinan dari DNS Windows.
  • networkingModeDi sini Anda dapat memilih antara none, nat, bridged (usang), mirrored o virtioproxy.
  • firewall, dnsTunneling y autoProxyBerikut adalah opsi-opsi yang telah kita diskusikan untuk mengintegrasikan jaringan WSL dengan kebijakan Windows secara lebih baik.
  • defaultVhdSize: ukuran maksimum VHD tempat sistem file distribusi disimpan (standar 1 TB).
  Panduan lengkap protokol DHCP: operasi, keuntungan, dan keamanan

Ada juga bagian [experimental] di mana fitur-fitur diaktifkan dalam pengujian sebagai:

  • autoMemoryReclaimPengaturan pemulihan memori otomatis (dinonaktifkan, bertahap, dropCache).
  • sparseVhd: pembuatan disk virtual jarang untuk menghemat ruang.
  • bestEffortDnsParsing y dnsTunnelingIpAddress: penyempurnaan untuk tunneling DNS.
  • ignoredPorts: port yang dapat digunakan aplikasi Linux meskipun sedang digunakan di Windows saat Anda berada dalam mode mirroring.
  • hostAddressLoopback: memungkinkan host dan container untuk terhubung menggunakan alamat IP lokal host dalam mode mirroring.

Mengonfigurasi .wslconfig dengan benar akan membuat perbedaan antara VM yang boros sumber daya dan lingkungan yang dioptimalkan yang bekerja dengan baik dengan sistem Windows dan jaringan Anda.terutama jika Anda bekerja dengan beban kerja berat, kontainer, atau beberapa distribusi secara bersamaan.

WSL2, Docker, dan jaringan untuk self-hosting dengan Tailscale

Contoh yang sangat praktis adalah menggunakan WSL2 pada server Windows (bahkan Windows Server 2025) sebagai platform self-hosting., menggabungkan Ubuntu di WSL2, Docker Engine (tanpa Docker Desktop), Tailscale, dan reverse proxy seperti Caddy untuk mengekspos layanan seperti n8n atau Supabase.

Idenya adalah untuk memiliki lingkungan Docker yang stabil di dalam WSL2, menghindari masalah Docker Desktop pada server.Saat menginstal Docker Engine langsung di Ubuntu (WSL2), jaringan kontainer bergantung pada jaringan WSL2, yang pada gilirannya bergantung pada mode NAT atau mirroring yang didefinisikan dalam .wslconfig.

Dengan Tailscale terpasang di WSL2, Anda dapat mempublikasikan layanan Anda pada VPN mesh. tanpa membuka port pada router, dan menggunakan Caddy sebagai reverse proxy untuk memusatkan sertifikat TLS, rute, dan penyeimbangan beban ringan antar kontainer.

Untuk menjaga jaringan tetap bersih, dapat diprediksi, dan aman, disarankan:

  • Pilih satu mode jaringan yang koheren (NAT atau mirrored) dan dokumentasikan.
  • Hindari konflik port antara Windows dan WSL2, mengandalkan ignoredPorts jika Anda menggunakan cermin
  • Kontrol paparan layanan hanya melalui Tailscale atau Caddy.alih-alih membuka port "secara default" di firewall
  • Otomatiskan proses startup Docker, Tailscale, dan Caddy dari [boot] di wsl.conf untuk memiliki lingkungan yang lebih mendekati produksi.

Dengan arsitektur ini, WSL2 tidak lagi hanya menjadi alat pengembangan, tetapi dapat menjadi platform self-hosting yang cukup serius.asalkan Anda menerima keterbatasannya (virtualisasi melalui Hyper-V, lapisan jaringan tambahan, dll.) dan mengkonfigurasikannya dengan hati-hati.

Praktik terbaik untuk jaringan WSL2 untuk pengembangan dan pengujian.

Selain penyempurnaan pengaturan, ada sejumlah panduan yang membantu Anda bekerja dengan nyaman dengan jaringan WSL2. tanpa harus terus-menerus berurusan dengan IP, port, dan firewall.

Untuk layanan pengembangan, gunakan port tinggi (di atas 1024) dan hindari port yang memiliki hak akses khusus atau yang banyak digunakan; ini meminimalkan konflik dan menghilangkan kebutuhan akan hak akses tambahan.

Pastikan kode dan data berada di dalam sistem file Linux. (kamu ~/ atau rute internal) alih-alih bekerja langsung pada /mnt/ckarena mengakses NTFS dari WSL lebih lambat dan dapat merugikan layanan yang membutuhkan banyak input/output.

Otomatiskan pengaturan jaringan dan aturan pengalihan dengan skrip. Di PowerShell dan Bash: misalnya, skrip yang mengkonfigurasi WSL2 saat dimulai. netsh portproxy (jika Anda melanjutkan dengan NAT) atau periksa aturan firewall saat menggunakan mirroring.

Hindari mengandalkan perubahan IP. dihasilkan oleh switch virtual internal. Jika memungkinkan, bekerjalah dengan localhost, nama host atau entri di /etc/hosts untuk layanan Anda, agar perubahan IP tidak merusak separuh infrastruktur pengujian Anda.

Dalam lingkungan profesional atau semi-produksi, sebaiknya jangan mengandalkan penerusan otomatis WSL secara memb盲盲.Konfigurasikan port, proxy, dan aturan firewall secara eksplisit untuk mengetahui secara pasti apa yang terekspos dan di mana.

Jika dikonfigurasi dengan benar, WSL2 menawarkan jaringan yang terisolasi namun fleksibel, sempurna untuk pengembangan tingkat lanjut, pengujian API, bekerja dengan kontainer, dan mensimulasikan lingkungan terdistribusi.Kuncinya adalah menguasai mode jaringan (NAT vs mirrored), file wsl.conf dan .wslconfig, serta interaksi dengan firewall dan alat-alat dalam tumpukan teknologi Anda (Docker, Tailscale, reverse proxy), sehingga Windows dan Linux dapat berjalan pada mesin yang sama tanpa tumpang tindih port atau membahayakan keamanan.