Intro
Dalam beberapa tahun terakhir, Windows Subsystem for Linux (WSL) telah menjadi salah satu alat yang sangat populer bagi pengembang untuk membangun aplikasi dan layanan yang bersifat multi-platform. Versi terbaru dari WSL, yaitu WSL 2, telah dirilis pada tahun 2019 dengan arsitektur yang sepenuhnya baru. Namun, apa perbedaan antara WSL 2 dan WSL 1? Mari kita bahas lebih detail.
Arsitektur
WSL 1 adalah alat yang dirancang untuk memberikan lingkungan Linux yang kompatibel di atas sistem operasi Windows. Ini dilakukan dengan menerjemahkan panggilan sistem Linux ke panggilan sistem Windows. Sementara itu, WSL 2 menggunakan kernel Linux penuh yang berjalan di dalam mesin virtual (VM) yang ringan untuk memberikan performa sistem file yang lebih cepat dan IO jaringan yang lebih baik.
Integrasi dengan Jaringan Windows
WSL 1 menggunakan adapter jaringan virtual dan berbagi alamat IP yang sama dengan mesin Windows host, sedangkan WSL 2 menggunakan adapter jaringan virtual dan alamat IP yang berbeda dari mesin host Windows. Namun, WSL 2 menyediakan integrasi jaringan Windows yang lebih baik, termasuk dukungan untuk port forwarding dan akses ke sumber daya jaringan lokal.
Resolusi DNS
WSL 1 menggunakan resolusi DNS mesin host Windows, yang dapat menghasilkan waktu resolusi yang lebih lambat dan masalah dalam menyelesaikan nama domain lokal. Sebaliknya, WSL 2 menggunakan resolver DNS sendiri, yang dapat meningkatkan performa dan memungkinkan untuk integrasi yang lebih baik dengan sumber daya jaringan lokal.
Dukungan Firewall
WSL 1 tidak memiliki dukungan built-in untuk Windows Firewall, sedangkan WSL 2 dapat terintegrasi dengan Windows Firewall untuk memberikan keamanan yang lebih baik.
Contoh Kasus
Di Windows, terdapat konfigurasi SSH Tunnel ke suatu database pada suatu server. Ketika WSL 2 ingin mengaksesnya maka diperlukan konfigurasi forward port di Windows agar WSL 2 dapat mengaksesnya. Sedangkan di WSL 1, karena berbagi alamat IP dengan Windows maka tidak perlu melakukan forward port. Contoh lainnya bisa dilihat disini “How to access service running on host from WSL2 (connection refused)“
Kesimpulan
Secara keseluruhan, WSL 2 menawarkan performa, keamanan, dan integrasi jaringan Windows yang lebih baik dibandingkan WSL 1, terutama dalam hal jaringan. Namun, WSL 1 mungkin cocok untuk beberapa kasus penggunaan di mana performa tidak kritis dan persyaratan jaringan sederhana.
Jadi, apakah WSL 2 yang lebih baik dari WSL 1? Jawabannya tergantung pada kebutuhan Anda. WSL 2 cocok untuk pengguna yang memerlukan performa yang lebih tinggi dan integrasi jaringan Windows yang lebih baik. Sedangkan WSL 1 dapat menjadi pilihan yang baik untuk pengguna yang ingin mengakses lingkungan Linux dengan mudah tanpa khawatir tentang performa. Pilihan tergantung pada kebutuhan dan preferensi pengguna.
Photo by Taylor Vick on Unsplash