Sitenizi yeni bir sunucuya taşıdınız ve herkesten önce yeni sunucudaki hâlini görmek istiyorsunuz. Ya da bir kurulum rehberi "hosts dosyasına bir satır ekleyin" diyor; dosyayı bulamıyorsunuz ya da Not Defteri dosyayı kaydetmiyor. Üç durumun da vardığı yer aynı: her Windows, Mac ve Linux bilgisayarda bulunan küçük bir metin dosyası.
Bu yazıda dosyanın nerede olduğunu, bilgisayarınızın onu nasıl kullandığını ve Windows 11 ile 10'da, macOS'ta ve Linux'ta adım adım nasıl düzenleneceğini anlatıyoruz. Ardından satır biçimine, dosyayı değiştiren kötü amaçlı yazılımlara, Microsoft'un sıfırlama adımlarına ve proxy trafiğinin dosyayı neden yok saydığına geçiyoruz.
Hosts dosyası nedir?
Hosts dosyası yerel bir eşleme tablosudur: her satır "bu ad şu IP adresindedir" der ve bilgisayarınız başka kimseye sormadan buna inanır. IP adresi, bilgisayarların birbirini bulmak için kullandığı numaradır; 203.0.113.10 gibi.
Bu iş normalde, example.com gibi adları adreslere çeviren internet rehberi DNS'in (Domain Name System, alan adı sistemi) görevidir. Bir sorgunun baştan sona nasıl işlediğini DNS Nedir? yazısında anlattık. Hosts dosyası DNS'ten eskidir. 1987 tarihli DNS standardı RFC 1034, ilk dönemin ağındaki her bilgisayarın ortak bir ad listesini, HOSTS.TXT dosyasını indirdiğini ve ağ büyüdükçe listenin bu büyümeye yetişemediğini anlatır. Bugünkü hosts dosyası da aynı mantıkla çalışır; tek fark, listeyi sizin yazmanız ve onu yalnız sizin bilgisayarınızın okumasıdır.
Hosts dosyası nerede?
Yol her masaüstü sistemde sabittir ve dosya, yalnız yöneticinin değiştirebileceği biçimde korunur.
| Sistem | Konum | Kim değiştirebilir? |
|---|---|---|
| Windows 11 ve 10 | C:\Windows\System32\drivers\etc\hosts | Yönetici |
| macOS | /etc/hosts | Yönetici, sudo ile |
| Linux | /etc/hosts | Root kullanıcısı, sudo ile |
| Android | Salt okunur sistem bölümü | Telefon rootlanmadıkça kimse |
Microsoft, Windows klasörünü %WinDir%\System32\drivers\etc diye yazar; bu yazım, Windows başka bir sürücüde kuruluysa da doğru klasörü bulur ve Başlat'taki arama kutusuna yazıldığında klasörü açar. Dosyanın adı yalnızca hosts'tur, uzantısı yoktur. Mac'te varsayılan dosyada Apple'ın değiştirilmemesini istediği localhost satırları zaten bulunur; kendi satırlarınızı onların altına ekleyin.
Bilgisayarınız hosts dosyasını nasıl kullanır?
Bir program bir adın adresine ihtiyaç duyduğunda işletim sistemi kaynaklarına sırayla bakar ve ilk cevapta durur:
- Program bir ad sorar; örneğin tarayıcı
test.example.comadresini ister. - Hosts dosyasına bakılır. Windows, Microsoft'un ipconfig belgesinde anlatıldığı gibi bu satırları DNS istemci önbelleğine önceden yükler.
- Önbellekteki son DNS cevaplarına bakılır; bir dakika önce sorulan adı yeniden sormak gerekmez.
- DNS sunucusuna sorulur; bu genellikle modeminiz ya da internet sağlayıcınızın DNS çözümleyicisidir.
- İlk cevap geçerli olur. Hosts dosyasında o ad için bir satır varsa 3. ve 4. adımlara hiç geçilmez.
Linux'ta sırayı /etc/nsswitch.conf dosyasındaki hosts: satırı belirler; oradaki files sözcüğü hosts dosyası demektir. Tarayıcıdaki güvenli DNS de dosyayı atlamaz: Chrome ve Edge'in motoru Chromium, şifreli sorgudan önce hosts dosyasına bakar; Firefox'un belgeleri de orada listelenen adların HTTPS üzerinden DNS çözümleyicisine hiç gönderilmediğini söyler.
Windows 11 ve 10'da hosts dosyası nasıl düzenlenir?
Not Defteri'ni yönetici olarak başlatın; bu adım olmadan Windows kaydetmenize izin vermez. Adımlar Windows 11 ve 10'da aynıdır:
- Başlat'ı açın,
Not Defteriyazın, sonuçlarda Not Defteri'ne sağ tıklayın ve Yönetici olarak çalıştır'ı seçin. - Uygulamanın cihazınızda değişiklik yapmasına izin verip vermeyeceğinizi soran Kullanıcı Hesabı Denetimi penceresini onaylayın.
- Not Defteri'nde Ctrl+O tuşlarına basın, Dosya adı kutusuna
C:\Windows\System32\drivers\etc\hostsyolunu yapıştırın ve Enter'a basın. Klasörü göz atarak açacaksanız dosya türü listesini Tüm dosyalar (*.*) yapın; hosts dosyasının.txtuzantısı olmadığı için metin belgeleri arasında görünmez. - Dosyanın sonuna gidin ve satırınızı ekleyin; örneğin
203.0.113.10 test.example.com. - Ctrl+S ile aynı adla kaydedin, sonra tarayıcıyı kapatıp yeniden açın.
Not Defteri izniniz olmadığını söylüyor ya da bir kopyayı başka bir yere kaydetmeyi öneriyorsa yönetici olarak başlatılmamıştır. Kapatıp 1. adımdan yeniden başlayın; Belgeler klasörüne ya da masaüstüne kaydedilen kopya hiçbir zaman okunmaz.
Görsel bir seçenek: PowerToys Hosts File Editor
Microsoft'un ücretsiz PowerToys paketinde, dosyayı liste olarak gösteren bir Hosts File Editor bulunur. Aracı sistem tepsisindeki PowerToys simgesinden açın, Yeni giriş'i seçin ve adresi, ana bilgisayar adını ve isterseniz bir açıklamayı girin; Etkin anahtarı girişi açıp kapatır. Araç varsayılan ayarda yönetici yetkisiyle çalışır ve siz düzenlemeden önce tarihli bir yedek alır.
Mac'te hosts dosyası nasıl düzenlenir?
macOS'ta dosyayı Terminal'de, tek bir komutu yönetici yetkisiyle çalıştıran sudo ile düzenlersiniz:
- Terminal'i açın: menü çubuğunda Spotlight'ı tıklayıp
Terminalyazın ya da Finder'da /Uygulamalar/İzlenceler klasörünü açıp Terminal'i çift tıklayın. sudo nano /etc/hostsyazın ve Return tuşuna basın.- Mac giriş parolanızı girin. Yazarken ekranda hiçbir şey görünmez; bu normaldir.
- Ok tuşlarıyla mevcut satırların altına inin ve girişinizi yazın.
- Kaydetmek için Control-O'ya, ardından Return'e; düzenleyiciden çıkmak için Control-X'e basın.
Tarayıcı eski adresi kullanmaya devam ederse sudo killall -HUP mDNSResponder komutunu çalıştırın; Apple'ın arşivlenmiş destek makalesi, OS X 10.10.4 ve sonrasında DNS önbelleğini temizlemek için bu komutu verir. Sonra tarayıcıyı yeniden açın. Mac'i yeniden başlatmak da önbelleği temizler.
Linux'ta hosts dosyası nasıl düzenlenir?
Adımlar Mac'tekiyle aynıdır: bir terminal açın, sudo nano /etc/hosts komutunu çalıştırın, satırı ekleyin, Ctrl+O ile kaydedip Ctrl+X ile çıkın. Dağıtımınızın oluşturduğu localhost gibi satırlara dokunmayın; eski adresi kullanmayı sürdüren programı yeniden başlatın.
Hosts dosyasına satır nasıl yazılır?
Etkin her satır şu sırayla yazılır: bir IP adresi, en az bir boşluk ya da sekme (Tab), sonra bir ya da birkaç ad. Linux'un hosts(5) kılavuz sayfası biçimi IP_address canonical_hostname [aliases...] diye verir ve # işaretinden satır sonuna kadar olan her şeyi açıklama sayar; Windows da aynı biçimi okur. Belgeleme için ayrılmış adres ve adlarla bir örnek:
# Mağazanın test kopyası, yayından sonra silin
203.0.113.10 test.example.com shop.example.com
# Yerel proje
127.0.0.1 myapp.test
# Kapatılmış satır
# 198.51.100.7 old.example.comİlk giriş iki adı aynı sunucuya gönderir; sonuncusu ise # onu kapattığı için hiçbir şey yapmaz. 127.0.0.1 her zaman "bu bilgisayar" anlamına gelen geri döngü (loopback) adresidir; orada neyin çalıştığını Localhost Nedir? yazısında anlattık.
Üç sınır sık sık gözden kaçar. Adlar birebir eşleşmelidir: example.com için yazılan satır www.example.com adını kapsamaz, *.example.com gibi joker karakterler de çalışmaz. Dosya yalnız adres tutar; http://, yol ya da port numarası yazılmaz. Her satıra da tek bir adres girer; hem IPv4 hem IPv6 adresi olan bir ad için iki satır gerekir.
Değişiklik nasıl devreye girer?
Dosyayı kaydedin, sonra tarayıcıyı kapatıp yeniden açın; tarayıcı da kısa süreliğine kendi önbelleğini tutar. Eski adres hâlâ cevap veriyorsa Windows'un DNS önbelleğini temizleyin: Başlat'taki arama kutusuna cmd yazın, Komut İstemi'ne sağ tıklayın, Yönetici olarak çalıştır'ı seçin ve şu komutu çalıştırın:
ipconfig /flushdnsYönetici penceresi şarttır. Denediğimiz Windows 11 (25H2 sürümü) bilgisayarda normal bir Komut İstemi komutu reddetti ve "İstenen işlem için yükseltme gerekiyor." satırını yazdı. Microsoft'a göre /flushdns, Windows'un DNS'ten topladığı cevapları, başarısız sorgular dahil, siler; hosts dosyasının kendisine ise dokunmaz.
Hosts dosyası ne işe yarar?
- Bir siteyi, alan adının DNS kayıtları değiştirilmeden önce yeni sunucuda test etmek; Microsoft'un PowerToys belgesi de bu durumu örnek verir.
- Yerel geliştirme projelerine
myapp.testgibi, kendi bilgisayarınızı gösteren kısa adlar vermek. - Reklam ve izleyici alan adlarını, hiçbir şeyin cevap vermediği bir adrese yönlendirerek yalnız kendi bilgisayarınızda engellemek.
Kötü amaçlı yazılım hosts dosyasını değiştirebilir mi?
Evet, dosyanın korumalı olmasının nedeni de budur. Hosts dosyası DNS'ten önce geldiği için tek bir gizli satır, adres çubuğunda doğru ad görünmeye devam ederken bankanızın adını bir saldırganın adresine yönlendirebilir. Microsoft Defender, değiştirilmiş dosyayı SettingsModifier:Win32/PossibleHostsFileHijack olarak işaretleyebilir; Microsoft bunun nedenini açıkça yazar: kötü amaçlı yazılımlar kullanıcıları zararlı sitelere yönlendirmek için bu dosyayı sık sık değiştirir.
HTTPS zararı sınırlar: sahte sunucu gerçek ad için normalde geçerli bir sertifika gösteremez, tarayıcı da sizi uyarır. Dosyayı kontrol etmek için Not Defteri'nde açın (yalnız okumak için yönetici yetkisi gerekmez) ve # ile başlamayan satır arayın. Varsayılan Windows 10 ya da 11 dosyasında böyle satır yoktur; Windows 11 test bilgisayarımızdaki dosya 22 satırdan oluşuyordu ve hepsi açıklama satırıydı. Sizin eklemediğiniz girişler bulursanız önce güvenlik yazılımınızla tam tarama yapın, sonra dosyayı sıfırlayın.
Hosts dosyası varsayılana nasıl sıfırlanır?
Microsoft'un Windows 11 ve 10 için yazdığı sıfırlama rehberi, dosyayı yenisiyle değiştirmeyi ve eskisini yedek olarak saklamayı anlatır:
- Not Defteri'ni açın ve Microsoft'un sayfasındaki varsayılan metni yapıştırın.
- Dosya > Farklı kaydet'i seçin, Dosya adı kutusuna tırnak işaretleriyle birlikte
"hosts"yazın, Kayıt türü'nü Tüm dosyalar (*.*) yapın ve masaüstüne kaydedin. %WinDir%\System32\drivers\etcklasörünü açın, mevcut hosts dosyasına sağ tıklayın, Yeniden adlandır'ı seçin ve adınıhosts.oldyapın.- Yeni dosyayı masaüstünden bu klasöre taşıyın; Windows yönetici izni isterse Devam'ı seçin.
Bu varsayılan metinde localhost satırları bile açıklama olarak durur, çünkü Windows localhost'u kendisi çözer. Mac'te ya da Linux'ta sıfırlamak, eklediğiniz satırları silip özgün localhost satırlarını bırakmak demektir.
Proxy kullanırken hosts dosyası neden işlemez?
Hosts dosyası yalnız adı sizin bilgisayarınız sorguladığında işe yarar; proxy kullanırken ise sorguyu çoğu zaman bilgisayarınız yapmaz. Proxy, sitelere sizin adınıza bağlanan bir sunucudur; site sizin IP adresiniz yerine proxy'ninkini görür.
HTTP ya da HTTPS proxy'de tarayıcı sitenin adını proxy'ye verir (HTTPS sitelerde CONNECT test.example.com:443 isteğiyle), proxy de adı kendi DNS'iyle çözer. SOCKS5'te bu, kullandığınız programa bağlıdır: curl'ün kılavuzu, --socks5 (ya da socks5://) seçeneğinin adı kendi bilgisayarınızda çözdüğünü, --socks5-hostname (ya da socks5h://) seçeneğinin ise çözümlemeyi proxy'ye bıraktığını söyler. Bunu curl 8.22 ve yerel bir test proxy'siyle denedik: socks5h:// ile proxy'ye adın kendisi ulaştı; socks5:// ile curl adı önce kendisi sorguladı ve curl: (6) Could not resolve host: test.example.com hatasıyla durdu.
Bu yüzden hosts değişikliğiniz hiçbir işe yaramıyorsa açık bir proxy ya da VPN olup olmadığına bakın; test için onu kapatın ya da adı proxy'nin dışında tutulan adresler (bypass) listesine ekleyin. DNS sorgularının proxy bağlantısının dışına sızmasını önleyen de adın aynı şekilde proxy tarafında çözülmesidir; bunu WebRTC ve DNS Sızıntıları yazısında anlattık.
Tarayıcı dışındaki programlar için SOCKS5 Proxy hizmetimiz, DNS çözümlemesinin proxy tarafında yapılmasını destekler; ad sizin bilgisayarınızda değil, çıkış noktasında çözülür.
Ülkesini ve şehrini sizin seçtiğiniz bir Residential Proxy de adları kendi çıkışında çözer; böylece sitenin size yönlendirdiği sunucu o konuma uygun olur.
Sık yapılan hatalar
- Dosyayı
hosts.txtolarak kaydetmek. Gerçek adı görmek için Dosya Gezgini'nde Görüntüle > Göster > Dosya adı uzantıları'nı açın ve.txtekini silin. - Yönetici yetkisi olmadan düzenleyip kopyayı Windows'un hiç okumadığı başka bir klasöre kaydetmek.
- Satıra
http://, yol ya da port yazmak ya daexample.comsatırınınwww.example.comadını kapsamasını beklemek. - Test satırını unutmak; haftalar sonra site yalnız o bilgisayarda bozuk görünür.
- Bilinmeyen bir siteden hazır hosts dosyası indirmek. Bu dosya, listelediği her adın, bankalar dahil, nereye gideceğine karar verir.
Karar rehberi
| İhtiyacınız | Ne yapmalı? |
|---|---|
| Sitenizi DNS değişmeden önce yeni sunucuda görmek | IP ad satırı ekleyin, test edin, sonra silin |
| Bir proje için kısa yerel ad | .test uzantılı bir adı 127.0.0.1'e yönlendirin |
| Not Defteri dosyayı kaydetmiyor | Not Defteri'ni Yönetici olarak çalıştır ile yeniden açın |
| Değişiklik etki etmiyor | Adı ve uzantıyı kontrol edin, tarayıcıyı yeniden açın, DNS önbelleğini temizleyin, proxy'yi ya da VPN'i kapatın |
| Sizin eklemediğiniz satırlar | Kötü amaçlı yazılım taraması yapın, sonra Microsoft'un adımlarıyla sıfırlayın |
| Evdeki bütün cihazlarda reklam engellemek | Modemde filtreleyen bir DNS çözümleyici |
Sıkça sorulan sorular
Windows 11'de hosts dosyası nerede?
Yeri C:\Windows\System32\drivers\etc\hosts; Windows 10'dakiyle aynı. Başlat'taki arama kutusuna %WinDir%\System32\drivers\etc yazmak, Windows hangi sürücüde olursa olsun klasörü açar.
Hosts dosyam neden çalışmıyor?
Genellikle dosya hosts.txt olarak ya da yanlış klasöre kaydedilmiştir, satırdaki ad birebir eşleşmiyordur (www dahil), tarayıcı ya da Windows eski cevabı hâlâ tutuyordur ya da adları sizin yerinize bir proxy veya VPN çözüyordur. Bunları bu sırayla kontrol edin.
Hosts dosyasını neden kaydedemiyorum?
Çünkü onu yalnız yönetici değiştirebilir. Not Defteri'ni kapatın, Yönetici olarak çalıştır ile yeniden başlatın ve dosyayı onun içinden açın. Değişikliği güvenlik yazılımı engelliyorsa satırın sizin eklediğiniz satır olduğundan emin olun.
Hosts dosyasının uzantısı nedir?
Uzantısı yoktur. Dosyanın adı hosts'tur; sonuna .txt eklemek onu Windows'un yok saydığı başka bir dosyaya çevirir.
Hosts dosyasıyla site engellenebilir mi?
Kendi bilgisayarınızda evet: sitenin adlarını hiçbir şeyin cevap vermediği bir adrese yönlendirirsiniz. Ancak bu kolayca geri alınır, yalnız birebir adları ve yalnız o bilgisayarı kapsar, adları bir proxy ya da VPN çözdüğünde de işlemez; bu yüzden ebeveyn denetimi ya da kurum politikası aracı değildir.
Android'de hosts dosyası düzenlenebilir mi?
Normal bir telefonda hayır. Android dosyayı, salt okunur olan ve Doğrulanmış Başlatma (Verified Boot) ile denetlenen sistem bölümünde tutar; değiştirmek telefonu rootlamayı gerektirir. Reklam ya da izleyici alan adlarını süzmek için onun yerine filtreleme yapan bir sağlayıcıyla Gizli DNS ayarını kullanın.
Özet
Hosts dosyası, bilgisayarınızın bir DNS sunucusuna sormadan önce okuduğu kısa bir yerel ad ve IP adresi listesidir. Windows'ta C:\Windows\System32\drivers\etc\hosts, macOS ve Linux'ta /etc/hosts yolunda durur, uzantısı yoktur ve düzenlemek için yönetici yetkisi gerekir. Her satıra bir adres ve onun adlarını yazın, değişiklikten sonra tarayıcıyı yeniden açın ya da DNS önbelleğini temizleyin ve dosyada sizin eklemediğiniz satır olup olmadığına ara sıra bakın. Proxy adları kendisi çözdüğü için girişleriniz proxy trafiğine uygulanmaz; işiniz başka ülkelerden ve ağlardan bağlantı gerektiriyorsa seçenekleri proxy ürünleri sayfamızda karşılaştırabilirsiniz.




