WSL2 DNS Sorunu Nasıl Çözülür? resolv.conf, nameserver ve İnternet Bağlantı Hataları (2026)

10.03.2026 23:05 Haber

WSL2 DNS sorunu, Windows üzerinde Linux geliştirme ortamı kuran her geliştiricinin er ya da geç karşılaştığı en sinir bozucu problemlerden biridir. İnternet bağlantısı Windows tarafında çalışırken WSL2 terminalinde curl veya apt komutlarının çalışmaması, resolv.conf dosyasının her yeniden başlatmada sıfırlanması ve nameserver ayarlarının kaybolması — tüm bu sorunları Alesta Web ekibi olarak inceledik ve 5+ farklı çözüm yöntemiyle kapsamlı bir rehber hazırladık. WSL2 DNS not resolving hatasını bir kez ve kalıcı olarak çözmek isteyenler için doğru yerdesiniz!

WSL2 DNS Sorunu Nedir? (What is WSL2 DNS Issue?)

WSL2 DNS sorunu, Windows Subsystem for Linux 2 (WSL2) kullanan geliştiricilerin sıklıkla karşılaştığı bir bağlantı problemidir. WSL2 DNS not resolving hatası aldığınızda, WSL2 içindeki Linux dağıtımınız internet adreslerini çözümleyemez ve bu durum paket yöneticisi güncellemelerinden API çağrılarına kadar pek çok işlemi etkiler.

Alesta Web olarak müşterilerimizin geliştirme ortamı kurulum süreçlerinde WSL2 DNS sorunuyla sıkça karşılaştıklarını gözlemledik. Bu rehber, o deneyimlerden derlenen pratik çözümler sunmaktadır.

Tipik WSL2 DNS sorunu belirtileri şunlardır:

  • curl: (6) Could not resolve host: google.com hatası
  • apt update komutunun "Temporary failure resolving" mesajıyla başarısız olması
  • WSL2 DNS not resolving durumunda ping google.com çalışmaması
  • /etc/resolv.conf dosyasının her WSL2 yeniden başlatmasında sıfırlanması
  • Nameserver ayarlarının kaybolması
? Bilgi / Info:

WSL2, Windows Hyper-V üzerinde çalışan gerçek bir Linux çekirdeğidir. Bu nedenle ağ yapılandırması, WSL1'den çok daha karmaşık bir mimariye sahiptir. WSL2 DNS not resolving sorunu çoğunlukla bu mimari farklılıktan kaynaklanır.

Neden Oluşur? Temel Nedenler (Root Causes)

WSL2 DNS sorununun birden fazla kaynağı olabilir. Sorunu doğru çözmek için önce nedenini anlamak gerekir:

  • Otomatik resolv.conf üretimi: WSL2 varsayılan olarak /etc/resolv.conf dosyasını her başlatmada yeniden oluşturur. Eğer Windows DNS yapılandırması bozuksa, WSL2 DNS not resolving sorunu ortaya çıkar.
  • Hyper-V sanal switch çakışması: WSL2'nin kullandığı Hyper-V sanal anahtarı bazen Windows DNS iletimini engeller.
  • VPN yazılımları: Cisco AnyConnect, OpenVPN gibi VPN'ler Windows DNS yönlendirmesini bozarak WSL2 DNS sorununa yol açar.
  • Windows Firewall kuralları: Güvenlik duvarı WSL2'nin dışarıya DNS sorgusu yapmasını engelleyebilir.
  • Yanlış nameserver adresi: Otomatik üretilen resolv.conf'ta 172.x.x.x aralığında bir nameserver adresi olabilir ancak bu adres gerçek DNS sorgularını iletmiyor olabilir.
⚠️ Dikkat / Warning:

WSL2 DNS sorunu çözümleri sırasında /etc/resolv.conf dosyasını kalıcı olarak düzenlemeden önce yedek alın. Yanlış yapılandırma tüm ağ erişimini kesebilir.

Yöntem 1: resolv.conf Manuel Düzenleme (Manual Fix)

En hızlı WSL2 DNS sorunu geçici çözümü, /etc/resolv.conf dosyasını manuel olarak düzenlemektir. Bu yöntem kalıcı değildir ancak WSL2 DNS not resolving hatasını hemen giderir.

resolv.conf dosyasını düzenleme

# Mevcut resolv.conf içeriğini görüntüle
cat /etc/resolv.conf

# Sembolik link ise önce kaldır
sudo unlink /etc/resolv.conf

# Google DNS ile yeni resolv.conf oluştur
sudo tee /etc/resolv.conf << EOF
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 1.1.1.1
EOF

# Test et
ping -c 3 google.com
nslookup google.com

Bu yöntemle WSL2 DNS sorunu geçici olarak giderilir. Ancak WSL2 yeniden başlatıldığında resolv.conf tekrar sıfırlanacaktır. Kalıcı çözüm için wsl.conf yöntemini kullanın.

? Bilgi / Info:

Google'ın 8.8.8.8 nameserver'ı WSL2 DNS not resolving sorunları için en güvenilir seçeneklerden biridir. Cloudflare'in 1.1.1.1 adresi de hızlı ve gizlilik odaklı alternatiftir. Alesta Web projelerinde her ikisini de nameserver listesine eklemenizi öneririz.

Yöntem 2: wsl.conf ile Kalıcı nameserver Ayarı (Permanent Fix)

WSL2 DNS sorununun kalıcı çözümü için /etc/wsl.conf dosyasını düzenleyerek otomatik resolv.conf üretimini devre dışı bırakmalısınız. Bu, WSL2 DNS not resolving sorununu her yeniden başlatmada tekrarlamamasını sağlar.

wsl.conf yapılandırması

# /etc/wsl.conf dosyasını düzenle
sudo nano /etc/wsl.conf

# Şu satırları ekle:
[network]
generateResolvConf = false

# Dosyayı kaydet (Ctrl+O, Enter, Ctrl+X)

# Kalıcı resolv.conf oluştur
sudo unlink /etc/resolv.conf 2>/dev/null || true
sudo tee /etc/resolv.conf << EOF
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 1.1.1.1
options timeout:2 attempts:3
EOF

# Dosyanın değiştirilmemesi için izni kilitle
sudo chattr +i /etc/resolv.conf

WSL2'yi yeniden başlatma (Windows tarafında)

# PowerShell veya CMD'de çalıştır:
wsl --shutdown
# 8 saniye bekle, ardından WSL2'yi yeniden aç

# WSL2 içinde test et:
cat /etc/resolv.conf
ping -c 3 google.com
curl -I https://alestaweb.com
✅ Başarılı:

wsl.conf ile nameserver ayarı yaptıktan sonra WSL2 DNS sorunu kalıcı olarak çözülmüş olmalıdır. ping google.com çalışıyorsa yapılandırma doğrudur.

Yöntem 3: Windows DNS Önbelleği Temizleme (Windows DNS Cache Flush)

Bazen WSL2 DNS sorunu Windows tarafındaki bozuk DNS önbelleğinden kaynaklanır. Bu durumda WSL2 DNS not resolving hatası, Windows DNS Client servisini yeniden başlatarak çözülebilir.

Windows DNS önbelleği temizleme (Admin PowerShell)

# PowerShell'i Yönetici olarak aç ve şunları çalıştır:
ipconfig /flushdns
ipconfig /registerdns
ipconfig /release
ipconfig /renew

# DNS Client servisini yeniden başlat
Restart-Service Dnscache

# Ağ adaptörlerini sıfırla
netsh winsock reset
netsh int ip reset

# Bilgisayarı yeniden başlat ve WSL2 DNS sorununu test et

Bu yöntem özellikle VPN kullandıktan sonra ortaya çıkan WSL2 DNS sorunlarında etkilidir. VPN bağlantısı kesildiğinde DNS yönlendirmesi bazen bozuk kalabilir ve WSL2 DNS not resolving hatasına yol açar.

Yöntem 4: Hyper-V vSwitch Ayarları (Hyper-V Virtual Switch)

WSL2 DNS sorununun Hyper-V sanal anahtarından kaynaklanması durumunda, Windows Hyper-V Manager üzerinden yapılandırma değişikliği gerekebilir.

Hyper-V DNS iletimini kontrol et

# PowerShell (Admin) ile Hyper-V switch listesini görüntüle
Get-VMSwitch

# WSL2 için kullanılan switch DNS ayarlarını kontrol et
Get-NetIPConfiguration

# WSL2 network adaptörünü bul
Get-NetAdapter | Where-Object {$_.Name -like "*WSL*"}

# DNS sunucusunu manuel ayarla
$adapter = Get-NetAdapter | Where-Object {$_.Name -like "*WSL*"}
Set-DnsClientServerAddress -InterfaceIndex $adapter.InterfaceIndex -ServerAddresses "8.8.8.8","1.1.1.1"
⚠️ Dikkat / Warning:

Hyper-V ayarları değiştirilirken dikkatli olun. Yanlış yapılandırma WSL2 DNS sorununun yanı sıra Windows ağ bağlantısını da etkileyebilir. Alesta Web olarak bu yöntemi son çare olarak öneriyoruz.

Yöntem 5: .wslconfig ile Global Ayar (Global WSL Config)

Windows kullanıcı dizininde bulunan .wslconfig dosyası, tüm WSL2 dağıtımları için global ayarlar yapmanızı sağlar. WSL2 DNS sorunu için bu dosyada ağ yapılandırması yapılabilir.

.wslconfig dosyası oluşturma (Windows tarafında)

# Windows'ta %USERPROFILE%\.wslconfig dosyasını oluştur/düzenle
# Notepad veya VS Code ile aç:
notepad $env:USERPROFILE\.wslconfig

# Dosya içeriği:
[wsl2]
memory=4GB
processors=2
swap=2GB
localhostForwarding=true

[wsl2.network]
# DNS nameserver'ları manuel ayarla (WSL2 DNS sorunu için)
dnsTunneling=true
firewall=false

WSL2 sürümünü ve DNS durumunu doğrulama

# WSL2 sürümünü kontrol et (PowerShell)
wsl --version
wsl --status

# WSL2 içinde DNS test
cat /etc/resolv.conf
host google.com
dig google.com @8.8.8.8
nslookup alestaweb.com

# Bağlantı testi
curl -s https://alestaweb.com | head -20
✅ Başarılı:

.wslconfig ayarından sonra WSL2 DNS not resolving hatası çözülmeli ve dig google.com @8.8.8.8 komutu yanıt dönmelidir. Alesta Web projelerinde geliştirme yaparken bu yapılandırmayı standart olarak kullanıyoruz.

Bonus: WSL2 Ağ Tanılama Komutları (Network Diagnostics)

WSL2 DNS sorunu veya WSL2 DNS not resolving hatasını tanılamak için aşağıdaki komutları kullanabilirsiniz. Alesta Web geliştirme ekibi bu komutları sorun giderme sürecinde düzenli olarak kullanmaktadır.

Tam ağ tanılama seti

# 1. Mevcut DNS yapılandırması
cat /etc/resolv.conf

# 2. Ağ arayüzlerini listele
ip addr show
ip route show

# 3. Gateway'e ping
ip route | grep default
ping -c 3 $(ip route | grep default | awk '{print $3}')

# 4. Google DNS'e direkt sorgu
nslookup google.com 8.8.8.8
dig @8.8.8.8 google.com

# 5. TCP bağlantı testi
nc -zv 8.8.8.8 53

# 6. WSL2 DNS host bypass testi
curl --dns-servers 8.8.8.8 https://alestaweb.com -I

# 7. Windows host IP'sini bul
cat /etc/resolv.conf | grep nameserver
# Bu IP Windows'un WSL2'ye verdiği gateway IP'sidir

# 8. Windows DNS durumu (WSL2 içinden)
powershell.exe ipconfig /all 2>/dev/null | grep "DNS Servers"
? Bilgi / Info:

WSL2 DNS sorunu çözüldükten sonra alestaweb.com projelerinizin geliştirme ortamında sorunsuz çalıştığından emin olmak için curl https://alestaweb.com komutunu test olarak kullanabilirsiniz. Alesta Web her zaman kesintisiz erişilebilirdir.

Sorun çözüm kontrol listesi

# WSL2 DNS sorunu çözüldü mü? Kontrol listesi:
echo "=== DNS Çözümleme Testi ==="
nslookup google.com && echo "✅ DNS çalışıyor" || echo "❌ WSL2 DNS sorunu devam ediyor"

echo "=== Internet Bağlantı Testi ==="
curl -s --max-time 5 https://google.com > /dev/null && echo "✅ İnternet bağlantısı OK" || echo "❌ Bağlantı sorunu"

echo "=== APT Güncelleme Testi ==="
sudo apt update 2>&1 | tail -3

echo "=== AlestaWeb Erişim Testi ==="
curl -s --max-time 5 -o /dev/null -w "%{http_code}" https://alestaweb.com

✅ Tamamlandı! (Completed!)

WSL2 DNS sorunu artık arkanızda! Alesta Web ekibi olarak hazırladığımız bu kapsamlı rehberle WSL2 DNS not resolving hatasını kalıcı olarak çözebilirsiniz. Beş farklı yöntemle nameserver sorununuzu giderin, resolv.conf dosyanızı kalıcı yapılandırın ve geliştirme ortamınızı tam performansla kullanın.

  • ✅ resolv.conf manuel düzenleme yöntemi öğrenildi
  • ✅ wsl.conf ile kalıcı nameserver ayarı yapıldı
  • ✅ Windows DNS önbelleği temizleme adımları tamamlandı
  • ✅ Hyper-V vSwitch yapılandırması incelendi
  • ✅ .wslconfig global ayarı uygulandı
  • ✅ WSL2 DNS not resolving tanılama komutları öğrenildi

Faydalı Linkler:

© 2026 AlestaWeb - Tüm hakları saklıdır.

WM Tools
💫

WebMaster Tools

15 Profesyonel Araç