Hosts Dosyası: Nedir, Nerede Bulunur ve Herhangi Bir İşletim Sisteminde Nasıl Düzenlenir
Yerel DNS Geçersiz Kılmanız — İnternet Gerekmez
Tarayıcınıza bir alan adı yazdığınızda, bilgisayarınız bu adı bir IP adresine çevirmek için sessizce bir arama işlemi başlatır. Ancak harici bir DNS sunucusuyla iletişime geçmeden önce, yerel sisteminizde sessizce bekleyen küçük, çoğunlukla göz ardı edilen bir metin dosyasını kontrol eder: hosts dosyası.
Bu dosya, geliştiriciler, sistem yöneticileri ve ileri düzey kullanıcılar için mevcut olan en güçlü ve takdir görmeyen araçlardan biridir. Alan adlarını IP adresleriyle manuel olarak eşleştirmenize olanak tanır — anında, yerel olarak ve yönlendiricinize veya DNS sağlayıcınıza dokunmadan. İster yayına girmeden önce yeni bir web sitesini test ediyor olun, ister reklam sunucularını engelliyor olun, ister DNS yayılım sorunlarını gideriyor olun, hosts dosyası makinenizin alan adlarını nasıl çözümlediği üzerinde doğrudan, düşük seviyeli kontrol sağlar.
Bu kılavuzda, hosts dosyasının tam olarak ne olduğunu, Windows, macOS ve Linux’ta nerede bulunduğunu ve nasıl güvenli ve etkili bir şekilde düzenleneceğini öğreneceksiniz.
Hosts Dosyası Nedir?
Hosts dosyası, ana bilgisayar adlarını (alan adlarını) IP adresleriyle eşleştiren düz metin biçiminde bir sistem dosyasıdır. Modern DNS sisteminden önce var olup başlangıçta ARPANET’te adları çözümlemek için kullanılan tek mekanizmaydı. Bugün hâlâ bir yerel DNS geçersiz kılma katmanı olarak işlev görmektedir — işletim sisteminiz herhangi bir harici DNS sorgusu yapmadan önce onu kontrol eder.
Nasıl Çalışır
Bir web sitesine gittiğinizde, işletim sisteminiz şu çözümleme sırasını izler:
- Eşleşen bir giriş için yerel hosts dosyasını kontrol et
- Yerel DNS önbelleğini sorgula
- Yapılandırılmış DNS çözümleyicisiyle iletişime geç (örn. ISP’nizin DNS’i veya 8.8.8.8 gibi genel bir çözümleyici)
Hosts dosyası eşleşen bir giriş içeriyorsa, arama orada durur. Harici DNS sorgusu yapılmaz. Bu, onu son derece hızlı ve yerel geçersiz kılmalar için kullanışlı kılar.
Hosts Dosyası için Yaygın Kullanım Senaryoları
| Kullanım Senaryosu | Nasıl Çalışır |
|---|---|
| Yerel web sitesi testi | Bir alan adını 127.0.0.1 veya bir hazırlık sunucusu IP’sine yönlendir |
| İstenmeyen web sitelerini engelle | Reklam veya izleme alan adlarını 0.0.0.0 adresine yönlendir |
| DNS yayılım gecikmelerini atla | Yeni taşınan bir alan adı için IP’yi manuel olarak ayarla |
| Geliştirme ortamı yönlendirmesi | Özel yerel alan adlarını Docker konteynerlerine veya VM’lere eşle |
| Bozuk DNS girişlerini geçersiz kıl | DNS yanlış yapılandırıldığında doğru IP’yi zorla |
> Geliştiriciler için Pro İpucu: Yerel bir geliştirme ortamı çalıştırıyorsanız veya DNS yayılımı tamamlanmadan önce bir VPS Hosting sunucusunda bir siteyi test ediyorsanız, hosts dosyasını düzenlemek DNS ayarlarınızı değiştirmeden canlı sitenizi önizlemenin en hızlı yoludur.
Hosts Dosyası Nerede Bulunur?
Hosts dosyasının konumu işletim sistemine göre değişir. İşte hızlı bir referans:
Windows
C:WindowsSystem32driversetchostsmacOS
/etc/hostsLinux (Tüm Büyük Dağıtımlar)
/etc/hostsmacOS ve Linux’ta /etc/hosts genellikle sistem tarafından yönetilen bir sembolik bağlantı veya doğrudan bir dosyadır. systemd-resolved kullanan Linux dağıtımlarında, dosya yerel geçersiz kılmalar için önceliğini korur.
Windows’ta Hosts Dosyası Nasıl Düzenlenir
Windows’ta hosts dosyasını düzenlemek yönetici ayrıcalıkları gerektirir. Dosya sistem tarafından korunduğundan, standart kullanıcı hesapları onu değiştiremez.
Adım 1: Not Defteri’ni Yönetici Olarak Açın
- Windows Tuşu + S‘ye basın ve arama çubuğuna
Notepadyazın - Sonuçlarda Not Defteri‘ne sağ tıklayın
- Yönetici olarak çalıştır‘ı seçin
- Kullanıcı Hesabı Denetimi (UAC) tarafından istenirse Evet‘e tıklayın
Adım 2: Hosts Dosyasını Açın
- Not Defteri’nde Dosya → Aç‘a tıklayın
- Şuraya gidin:
C:WindowsSystem32driversetc - Dosya türü açılır menüsünde (dosya adı alanının yanında),
Text Documents (*.txt)yerine Tüm Dosyalar (*.*) olarak değiştirin hostsadlı dosyayı seçin ve Aç‘a tıklayın
Adım 3: Girişleri Ekleyin veya Değiştirin
Her giriş için format basittir:
[IP Address] [Hostname]Girişlerinizi dosyanın altına ekleyin. Örneğin:
# Redirect example.com to local development server
127.0.0.1 example.com
# Point testsite.com to a staging VPS
192.168.1.100 testsite.com
# Block an ad network
0.0.0.0 ads.unwanteddomain.com# ile başlayan satırlar yorum satırlarıdır ve sistem tarafından yok sayılır.
Adım 4: Dosyayı Kaydedin
Dosya → Kaydet‘e tıklayın. İzin hatası alırsanız, Not Defteri’ni yönetici olarak açtığınızdan emin olun. Dosyayı .txt uzantısıyla kaydetmeyin.
Adım 5: DNS Önbelleğini Temizleyin
Kaydettikten sonra, değişikliklerinizin hemen geçerli olması için DNS önbelleğini temizleyin:
- Komut İstemi‘ni yönetici olarak açın
- Aşağıdaki komutu çalıştırın:
ipconfig /flushdnsŞu mesajı görmelisiniz: *”DNS Çözümleyici Önbelleği başarıyla temizlendi.”*
macOS’ta Hosts Dosyası Nasıl Düzenlenir
macOS’ta hosts dosyası, sudo (süper kullanıcı) ayrıcalıklarına sahip bir metin düzenleyici kullanılarak Terminal aracılığıyla düzenlenir.
Adım 1: Terminal’i Açın
Spotlight Arama’yı açmak için Command + Space‘e basın, Terminal yazın ve Enter‘a basın.
Adım 2: Hosts Dosyasını nano ile Açın
Aşağıdaki komutu çalıştırın:
sudo nano /etc/hostsİstendiğinde yönetici parolanızı girin. Yazarken parola görünmeyecektir — bu normaldir.
Adım 3: Dosyayı Düzenleyin
nano metin düzenleyicisi hosts dosyasını açacaktır. Dosyanın altına gitmek için ok tuşlarını kullanın ve girişlerinizi ekleyin:
# Development environment
127.0.0.1 myproject.local
# Staging server
203.0.113.45 staging.example.com
# Block tracking domain
0.0.0.0 tracker.example.netAdım 4: Kaydedin ve Çıkın
- Dosyayı yazmak (kaydetmek) için Control + O‘ya basın
- Dosya adını onaylamak için Enter‘a basın
- nano’dan çıkmak için Control + X‘e basın
Adım 5: macOS’ta DNS Önbelleğini Temizleyin
macOS sürümünüze uygun komutu çalıştırın:
macOS Monterey, Ventura, Sonoma (ve çoğu modern sürüm):
sudo killall -HUP mDNSRespondermacOS Big Sur ve öncesi (alternatif):
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderDeğişiklikleriniz artık sistem genelinde etkin olacaktır.
Linux’ta Hosts Dosyası Nasıl Düzenlenir
Linux, her ikisi de Unix tabanlı sistemler olduğundan macOS ile aynı genel süreci izler. Root veya sudo erişimine ihtiyacınız olacaktır.
Adım 1: Terminal’i Açın
Terminal uygulamanızı başlatın. Çoğu masaüstü ortamında, uygulama menüsünde bulabilir veya Ctrl + Alt + T‘ye basabilirsiniz.
Adım 2: Hosts Dosyasını Açın
sudo nano /etc/hostsİstendiğinde root veya sudo parolanızı girin.
Adım 3: Girişlerinizi Ekleyin
Dosyanın altına gidin ve özel eşlemelerinizi ekleyin:
# Local dev environment
127.0.0.1 devsite.local
# Internal server
10.0.0.5 internal.company.com
# Block unwanted domain
0.0.0.0 malicious-ads.example.comAdım 4: Kaydedin ve Çıkın
- Kaydetmek için Control + O‘ya, ardından Enter‘a basın
- nano’dan çıkmak için Control + X‘e basın
Adım 5: Linux’ta DNS Önbelleğini Temizleyin
DNS’i temizleme komutu dağıtıma ve DNS çözümleyicisine göre değişir:
Ubuntu / Debian (systemd-resolved ile):
sudo systemd-resolve --flush-cachesVeya daha yeni sürümlerde:
sudo resolvectl flush-cachesCentOS / RHEL / Fedora:
sudo systemctl restart NetworkManagerArch Linux:
sudo systemd-resolve --flush-cachesnscd veya dnsmasq gibi bir özel DNS önbellekleme daemon’u çalıştırıyorsanız, ilgili servisi yeniden başlatın:
sudo systemctl restart nscd
# or
sudo systemctl restart dnsmasqVarsayılan Hosts Dosyası Yapısını Anlamak
Herhangi bir işletim sisteminde hosts dosyasını ilk açtığınızda, bazı varsayılan girişler göreceksiniz. İşte tipik bir Linux/macOS hosts dosyasının kutudan çıktığı hali:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhostTemel girişlerin açıklaması:
127.0.0.1 localhost— Geri döngü adresini “localhost” ile eşleştirir. Bu, yerel ağ için gereklidir ve asla kaldırılmamalıdır.::1 localhost— Geri döngü adresinin IPv6 karşılığı.255.255.255.255 broadcasthost— Ağ yayını için kullanılır (macOS’a özgü).
Bu varsayılan girişleri asla silmeyin. Bunu yapmak yerel uygulama ağını, veritabanı bağlantılarını ve diğer sistem servislerini bozabilir.
Hosts Dosyasını Düzenlemek için En İyi Uygulamalar
1. Her Zaman Önce Yedek Oluşturun
Herhangi bir değişiklik yapmadan önce orijinal dosyayı yedekleyin:
Linux / macOS:
sudo cp /etc/hosts /etc/hosts.backupWindows (Yönetici olarak Komut İstemi):
copy C:WindowsSystem32driversetchosts C:WindowsSystem32driversetchosts.backupBir şeyler bozulursa, orijinali hemen geri yükleyebilirsiniz.
2. Değişikliklerinizi Belgelemek için Yorum Kullanın
Girişlerinizi her zaman # kullanarak yorumlarla açıklayın. Bu, özellikle ekip veya sunucu ortamlarında önemlidir:
# Added 2024-01-15 — Staging environment for client project
192.168.1.50 staging.clientproject.com
# Temporary block — remove after campaign ends
0.0.0.0 ads.campaign-tracker.net3. Engelleme için 127.0.0.1 Yerine 0.0.0.0 Kullanın
Alan adlarını engellerken, 0.0.0.0 genellikle 127.0.0.1 yerine tercih edilir çünkü:
- Yerel makinenize bağlantı kurmaya çalışmaz
- Daha hızlı başarısız olur (bağlantı zaman aşımı yok)
- 80/443 portunda çalışan yerel web sunucularına müdahale etmez
4. Kritik Sistem Alan Adlarını Engellemeyin
Şunlarla ilgili alan adlarını engellerken dikkatli olun:
- Windows Update veya macOS Yazılım Güncelleme servisleri
- Antivirüs güncelleme sunucuları
- Bulut senkronizasyon servisleri (Dropbox, OneDrive, iCloud)
- Kullandığınız yazılımlar için lisans doğrulama sunucuları
5. Girişleri Düzenli Tutun
İlgili girişleri bir arada gruplayın ve netlik için yorum başlıkları kullanın:
# ==========================================
# LOCAL DEVELOPMENT ENVIRONMENTS
# ==========================================
127.0.0.1 myapp.local
127.0.0.1 api.myapp.local
# ==========================================
# BLOCKED DOMAINS
# ==========================================
0.0.0.0 ads.example.com
0.0.0.0 tracker.example.net6. Hosts Dosyası Değişikliklerinin Yalnızca Yerel Olduğunu Unutmayın
Hosts dosyası yalnızca üzerinde bulunduğu makineyi etkiler. Birden fazla sunucu yönetiyorsanız veya altyapınız genelinde geçerli olacak DNS değişikliklerine ihtiyaç duyuyorsanız, DNS’i sunucu veya ağ düzeyinde yapılandırmanız gerekir. Birden fazla ortamı yöneten ekipler için, yerel bir DNS çözümleyicisine (BIND veya Unbound gibi) sahip düzgün yapılandırılmış bir Dedicated Server daha ölçeklenebilir bir çözümdür.
Gelişmiş Kullanım Senaryoları
DNS Yayılımından Önce Bir Web Sitesini Test Etme
Bir web sitesini yeni bir hosting sağlayıcısına veya yeni bir cPanel’li VPS‘e taşıdığınızda, DNS yayılımı birkaç dakikadan 48 saate kadar sürebilir. Beklemek yerine, yeni sunucunun IP’sini hosts dosyanıza ekleyebilir ve canlı siteyi yeni sunucuda görüneceği şekilde hemen test edebilirsiniz:
# Testing migration to new VPS — remove after DNS propagates
203.0.113.10 yourdomain.com
203.0.113.10 www.yourdomain.comTarayıcınızı açın, yourdomain.com adresine gidin ve siteyi yeni sunucuda barındırıldığı şekliyle göreceksiniz — diğer herkes hâlâ eskisini görürken.
Yerel Geliştirme Alan Adları Oluşturma
Geliştiriciler genellikle yerel projeler için localhost:3000 yerine gerçekçi alan adları kullanmayı tercih eder. Özel yerel alan adları oluşturabilirsiniz:
127.0.0.1 myproject.dev
127.0.0.1 api.myproject.dev
127.0.0.1 admin.myproject.devBunu sanal hostlarla yapılandırılmış yerel bir web sunucusuyla (Apache, Nginx veya Caddy) eşleştirin ve temiz, profesyonel bir yerel geliştirme ortamına sahip olursunuz.
Tüm Reklam Ağlarını Engelleme
Bilinen reklam sunma ve izleme alan adlarını engellemek için birden fazla giriş ekleyebilirsiniz:
0.0.0.0 doubleclick.net
0.0.0.0 googlesyndication.com
0.0.0.0 adservice.google.comDaha kapsamlı bir yaklaşım için, StevenBlack’in hosts gibi projeler on binlerce engellenen alan adına sahip düzenli olarak güncellenen, birleştirilmiş hosts dosyaları sağlar.
Yaygın Hosts Dosyası Sorunlarını Giderme
Değişiklikler Geçerli Olmuyor
- DNS önbelleğini temizlediniz mi? Bu en yaygın nedendir. İşletim sisteminiz için uygun temizleme komutunu çalıştırın.
- Dosyayı doğru kaydettiniz mi? Windows’ta, yanlışlıkla
hosts.txtolarak kaydetmediğinizden emin olun. - Tarayıcınız kendi DNS önbelleğini mi kullanıyor? Chrome ve Firefox kendi DNS önbelleklerini tutar. Bunları temizlemeyi deneyin veya gizli/özel bir pencere açın.
- VPN kullanıyor musunuz? VPN istemcileri genellikle yerel DNS ayarlarını geçersiz kılarak hosts dosyasını tamamen atlar.
İzin Reddedildi Hataları
- Windows: Not Defteri’nin (veya düzenleyicinizin) Yönetici olarak çalıştığından emin olun.
- Linux/macOS: Komutunuzdan önce
sudokullandığınızdan emin olun.
Web Sitesi Hâlâ Eski IP’ye Çözümleniyor
- Girişin doğru biçimlendirildiğini doğrulayın:
IP_ADDRESS[TAB or SPACES]hostname—http://veya sondaki eğik çizgi olmamalı. - Alan adındaki yazım hatalarını kontrol edin.
- Dosyada daha yukarıda çakışan giriş olmadığını onaylayın.
Yanlışlıkla Bir Şeyi Bozdunuz
Yedeğinizi geri yükleyin:
# Linux/macOS
sudo cp /etc/hosts.backup /etc/hosts
# Windows (as Administrator)
copy C:WindowsSystem32driversetchosts.backup C:WindowsSystem32driversetchostsHosts Dosyası ve DNS: Her Birini Ne Zaman Kullanmalı
| Senaryo | Hosts Dosyası | DNS Yapılandırması |
|---|---|---|
| Tek makinede hızlı yerel test | ✅ İdeal | ❌ Fazla karmaşık |
| Ekip genelinde geliştirme ortamı | ❌ Ölçeklenmez | ✅ Dahili DNS kullanın |
| Tek cihazda site engelleme | ✅ İyi çalışır | ❌ Gereksiz |
| Üretim alan adı yönetimi | ❌ Uygun değil | ✅ Gerekli |
| Yayın öncesi site testi | ✅ Mükemmel | ❌ Tüm kullanıcıları etkiler |
| Çok sunuculu altyapı | ❌ Çok manuel | ✅ Zorunlu |
Üretim ortamları için DNS’i her zaman alan adı kayıt kuruluşunuz veya hosting kontrol paneliniz aracılığıyla yönetin. Alan adlarını profesyonel olarak kaydetmeniz veya yönetmeniz gerekiyorsa, güvenilir bir sağlayıcı aracılığıyla Alan Adı Kaydı yaptırmak, DNS kayıtlarınızın internet genelinde doğru ve güvenli şekilde yayılmasını sağlar.
Benzer şekilde, bir posta sunucusu çalıştırıyorsanız ve düzgün e-posta teslimatını sağlamanız gerekiyorsa, hosts dosyasını düzenlemek doğru yapılandırılmış MX kayıtlarının yerini tutmaz. Güvenilir, düzgün yapılandırılmış posta altyapısı için özel E-posta Hosting çözümlerini inceleyin.
Hızlı Referans: Hosts Dosyası Hile Sayfası
Dosya Konumları
| İşletim Sistemi | Yol |
|---|---|
| Windows | C:WindowsSystem32driversetchosts |
| macOS | /etc/hosts |
| Linux | /etc/hosts |
Düzenleme için Açma
| İşletim Sistemi | Komut / Yöntem |
|---|---|
| Windows | Not Defteri → Yönetici Olarak Çalıştır → Dosya → Aç |
| macOS | sudo nano /etc/hosts |
| Linux | sudo nano /etc/hosts |
DNS Önbelleğini Temizleme
| İşletim Sistemi | Komut |
|---|---|
| Windows | ipconfig /flushdns |
| macOS | sudo killall -HUP mDNSResponder |
| Ubuntu/Debian | sudo systemd-resolve --flush-caches |
| CentOS/RHEL | sudo systemctl restart NetworkManager |
Giriş Formatı
[IP Address] [hostname] [optional alias]
# Examples:
127.0.0.1 localhost
127.0.0.1 myapp.local
0.0.0.0 blocked-site.com
192.168.1.10 staging.example.comSonuç: Hosts Dosyası ile Yerel DNS’inizi Kontrol Altına Alın
Hosts dosyası, şaşırtıcı derecede geniş bir kullanım alanına sahip, aldatıcı biçimde basit bir araçtır. Yalnızca birkaç satır düz metin ile alan adlarını yönlendirebilir, istenmeyen içerikleri engelleyebilir, yeni sunucu yapılandırmalarını test edebilir ve DNS sorunlarını giderebilirsiniz — yönlendiricinize, DNS sağlayıcınıza veya ağ altyapınıza dokunmadan.
Temel çıkarımlar:
- Düzenlemeden önce hosts dosyasını her zaman yedekleyin
- Yaptığınız her değişikliği belgelemek için yorum kullanın
- Değişikliklerin hemen uygulanması için her düzenlemeden sonra DNS önbelleğinizi temizleyin
- Alan adlarını engellerken
127.0.0.1yerine0.0.0.0kullanın - Yerel olduğunu unutmayın — hosts dosyası değişiklikleri yalnızca yapıldığı makineyi etkiler
Barındırılan ortamlarla çalışan geliştiriciler ve sistem yöneticileri için hosts dosyası, iyi yapılandırılmış bir sunucuyla mükemmel uyum içinde çalışır. İster bir VPS Hosting planında yeni bir uygulamayı test ediyor olun, ister yayına girmeden önce bir Paylaşımlı Web Hosting hesabında bir siteyi önizliyor olun, ister bir SSL Sertifikası yükledikten sonra SSL yapılandırmasını doğruluyor olun, hosts dosyası size güvenle ve verimli şekilde çalışmak için ihtiyaç duyduğunuz yerel kontrolü sağlar.
Şimdi o dosyayı açın, değişikliklerinizi dikkatli yapın, önbelleğinizi temizleyin ve makinenizin interneti nasıl gördüğü üzerinde tam kontrolü elinize alın.
