Mengatasi WSL2 yang Tidak Bisa Konek Internet
Salah satu issue pada WSL2 yang sudah lama diketahui namun belum diperbaiki oleh Microsoft hingga saat tulisan ini dipublikasikan adalah terkadang distro kita —sebagai contoh milik saya Ubuntu-20.04— tidak dapat mengakses internet.
Contoh Kasus
Kita baru menyadari distro yang terpasang di WSL2 tidak bisa terhubung ke internet ketika kita mencoba melakukan salah satu dari hal berikut:
- Ketika update repo Ubuntu dengan perintah
sudo apt update
hasil yang keluar justru “Temporary failure resolving ‘archive.ubuntu.com'” - Upgrade package yang terinstall di Ubuntu kita dengan perintah
sudo apt dist-upgrade
tapi tidak berhasil - Ketika ping ke google (atau situs lainnya) dengan perintah
ping google
hasil yang keluar malah “Temporary failure in name resolution” - Update/install packge lewat npm, pip atau package manager lainnya dengan perintah
npm install
ataupip install nama-package
tapi package yang dimaksud tidak dapat terinstall.
Solusinya
Jika sudah demikian, diketahui dari salah satu komentar di halaman issue repository github microsoft/WSL, trik agar Ubuntu dapat mengakses internet kembali caranya adalah sebagai berikut:
-
Jalankan distro kita dengan cara membukannya lewat Terminal
-
Pada folder /etc buat file bernama wsl.conf, kali ini saya menggunakan vim sebagai teks editor
cd /etc sudo vim wsl.conf
-
Tambahkan baris berikut pada file wsl.conf lalu simpan
[network] generateResolvConf=false
-
Tutup terminal distro kita, dan matikan melalui perintah pada PowerShell
wsl --terminate Ubuntu-20.04
-
Jalankan kembali distro kita dengan cara membuka Terminal
-
Pada Terminal hapus file symbolic link resolv.conf yang ada di folder /etc dengan perintah
cd /etc sudo rm resolv.conf
-
Buat file resolve.conf yang baru di folder /etc
sudo vim resolv.conf
-
Tambahkan baris berikut pada file resolv.conf yang telah kita buat, lalu simpan. Sebagai catatan, kita bisa mengganti 8.8.8.8 sesuai dengan name server yang kita inginkan
nameserver 8.8.8.8
-
Tutup Terminal dan matikan distro dengan menjalankan perintah di PowerShell sebagai berikut
wsl --terminate Ubuntu-20.04
-
Jalankan kembali distro kita dengan cara membuka Terminal.
-
Untuk mengecek apakah distro kita sudah bisa konek ke internet, kita bisa mencoba ping ke google atau domain lain.
ping google.com
Mengedit file resolv.conf menggunakan vim
Penyebab
Menurut JohnnyQuest1983 dalam komentarnya, penyebab tidak bisa koneksi ke internet adalah karena WSL tidak bisa me-resolve domain name. Pun ketika kita mengedit resolv.conf secara langsung masalah akan kembali muncul ketika distro tersebut kita restart. Karena resolve.conf yang asli akan digenerate ulang dengan template milik WSL.
Demikian sedikit tips untuk mengatasi distro WSL2 yang tidak dapat terhubung ke internet. Semoga membantu.
0 komentar