Ubuntu Server üzerinde bazı durumlarda bir alan adını ya da sunucu adını doğrudan belirli bir IP adresine yönlendirmek gerekebilir.
Normal şartlarda bu işlem DNS sunucuları üzerinden yapılır. Ancak test ortamlarında, yerel ağ yapılandırmalarında veya geçici yönlendirme ihtiyaçlarında /etc/hosts dosyası oldukça pratik bir çözüm sunar.
hosts dosyası sistemin alan adı çözümleme sırasında ilk kontrol ettiği yerlerden biridir. Bu dosyaya eklenen kayıtlar sayesinde DNS sorgusu yapılmadan belirli bir isim doğrudan tanımlanan IP adresine yönlendirilir.
Hosts Dosyası Nedir?
/etc/hosts dosyası, IP adresleri ile sunucu veya alan adlarını eşleştirmek için kullanılan yerel bir sistem dosyasıdır. Ubuntu Server bir adrese erişmek istediğinde, öncelikle bu dosyada ilgili bir kayıt olup olmadığını kontrol eder.
Örneğin aşağıdaki gibi bir kayıt girildiğinde;
192.168.1.11 hpe-vme01.kadirkozan.local hpe-vme01
192.168.1.12 hpe-vme02.kadirkozan.local hpe-vme02
192.168.1.13 hpe-vme03.kadirkozan.local hpe-vme03
bu eklemeler sayesinde hpe-vme01.kadirkozan.local veya hpe-vme01 adresine erişmek istediğinde bunu 192.168.1.11 IP adresi olarak algılar.
Bu yöntem özellikle DNS yapılandırması yapılmamış sistemlerde veya geçici yönlendirme gereken durumlarda oldukça kullanışlıdır.
Hosts Dosyası Ne Zaman Kullanılır?
Ubuntu Server’da hosts dosyası genellikle şu durumlarda kullanılır;
- Yerel ağdaki sunuculara isimle erişmek için,
- Test ortamlarında alan adı yönlendirmesi yapmak için,
- DNS kaydı oluşturulmadan önce geçici çözümleme sağlamak için,
- Web sitesi veya uygulama yayına alınmadan önce test yapmak için,
- Uygulama, veritabanı veya servis sunucularını kolay isimlerle tanımlamak için,
Örneğin bir test sunucusuna kadirkozan.local adıyla erişmek istiyorsanız, bu adı ilgili IP adresiyle /etc/hosts dosyasında eşleştirebilirsiniz.
Hosts Dosyası Nasıl Açılır?
Ubuntu Server’da hosts dosyasını düzenlemek için yönetici yetkisine (root) ihtiyaç vardır. Bu nedenle dosya sudo komutu ile açılmalıdır.
Aşağıdaki komut ile dosyayı nano editörü üzerinden açabilirsiniz.
sudo nano /etc/hosts
Komutu çalıştırdıktan sonra sistem sizden kullanıcı parolasını isteyebilir. Parola girildikten sonra dosya düzenlenebilir hale gelir.
Hosts Dosyasına Yeni Kayıt Eklemek İçin;
Dosya açıldıktan sonra yeni bir IP ve hostname kaydı aşağıdaki formatta eklenir:
IP_ADRESİ HOST_ADI
Örnek olarak: Bir IP adresi için birden fazla isim tanımlamak da mümkündür:
192.168.1.10 hpe-vme01.kadirkozan.local
192.168.1.10 hpe-vme01
Bu örnekte hem hpe-vme01.local hem de hpe-vme01 aynı IP adresine karşılık gelir.
Örnek Hosts Dosyası
Aşağıda örnek bir /etc/hosts dosyası yapısı yer almaktadır:
127.0.0.1 localhost
127.0.1.1 ubuntu-server
192.168.1.11 hpe-vme01.kadirkozan.local
192.168.1.12 hpe-vme02.kadirkozan.local
192.168.1.13 hpe-vme03.kadirkozan.local
Bu yapıda:
localhost, sunucunun kendisini ifade eder.
ubuntu-server, sunucunun yerel hostname bilgisidir.
hpe-vme01.local, 192.168.1.11 IP adresine yönlendirilmiştir.
hpe-vme02.local, 192.168.1.12 IP adresine yönlendirilmiştir.
hpe-vme03.local, 192.168.1.13 IP adresine yönlendirilmiştir.
Hosts Dosyasını Kaydetmek
nano editöründe gerekli düzenlemeler yapıldıktan sonra dosyayı kaydetmek için şu adımlar uygulanır:
CTRL + O
Enter
CTRL + X
Burada:
CTRL + O dosyayı kaydeder.
Enter dosya adını onaylar.
CTRL + X editörden çıkmanızı sağlar.
Yapılan Değişiklik Nasıl Test Edilir?
Hosts dosyasına eklenen kaydın doğru çalışıp çalışmadığını kontrol etmek için birkaç farklı yöntem kullanılabilir.
En basit yöntem ping komutudur:
ping hpe-vme01.kadirkozan.local
Eğer yapılandırma doğruysa, hpe-vme01.kadirkozan.local adresi tanımladığınız IP adresine çözümlenecektir.
Daha net bir kontrol için aşağıdaki komut da kullanılabilir:
getent hosts hpe-vme01.kadirkozan.local
Örnek çıktı şu şekilde olabilir:
192.168.1.11 hpe-vme01.kadirkozan.local
Bu çıktı ile sistemin hpe-vme01.kadirkozan.local adresini doğru IP adresiyle eşleştirdiğini gösterir.
DNS Cache Temizleme
Bazı durumlarda yapılan değişiklik hemen etkili olmayabilir. Bunun nedeni sistemde DNS önbelleğinin kullanılması olabilir. Böyle bir durumda DNS cache temizlenebilir veya ilgili servis yeniden başlatılabilir.
Ubuntu Server’da systemd-resolved servisi kullanılıyorsa aşağıdaki komut çalıştırılabilir:
sudo systemctl restart systemd-resolved
Alternatif olarak DNS önbelleğini temizlemek için şu komut kullanılabilir:
sudo resolvectl flush-caches
Ardından tekrar test ederek değişikliğin uygulanıp uygulanmadığını kontrol edebilirsiniz:
getent hosts test.local
Dikkat Edilmesi Gerekenler
/etc/hosts dosyası sistem açısından önemli bir yapılandırma dosyasıdır. Bu nedenle düzenleme yapmadan önce mevcut dosyanın yedeğini almak iyi bir yaklaşımdır.
Yedek almak için aşağıdaki komut kullanılabilir:
sudo cp /etc/hosts /etc/hosts.bak
Kayıt eklerken her IP ve hostname bilgisinin doğru yazıldığından emin olunmalıdır. IP adresi ile hostname arasında boşluk veya tab karakteri kullanılabilir.
Doğru kullanım örneği:
192.168.1.11 hpe-vme01.kadirkozan.local
Aynı hostname için birden fazla farklı IP tanımlamaktan kaçınmak gerekir. Bu durum isim çözümleme sırasında karışıklığa neden olabilir.
Not : Komut ile doğrudan /etc/hosts dosyasına kayıt eklemek için en pratik yöntem echo + tee kullanmaktır.
echo "192.168.1.11 hpe-vme01.kadirkozan.local" | sudo tee -a /etc/hosts
birden fazla kayıt ekmek için ;
# Mevcut hosts dosyasını yedeklemek için;
sudo cp /etc/hosts /etc/hosts.bak
# host dosyasına eklenecek kayıtlar;
cat <<EOF | sudo tee -a /etc/hosts
192.168.1.11 hpe-vme01.kadirkozan.local
192.168.1.12 hpe-vme02.kadirkozan.local
192.168.1.13 hpe-vme03.kadirkozan.local
EOF
Eklenip eklenmediğini kontrol etmek için:
getent hosts hpe-vme01.kadirkozan.local
getent hosts hpe-vme02.kadirkozan.local
getent hosts hpe-vme03.kadirkozan.local
Beklenen çıktı şu şekilde olmalı:
192.168.1.11 hpe-vme01.kadirkozan.local
192.168.1.12 hpe-vme02.kadirkozan.local
192.168.1.13 hpe-vme03.kadirkozan.local
![[TR] Ubuntu Server’da Hosts Dosyası Güncellenmesi](https://kadirkozan.com/wp-content/uploads/2026/03/27ce25e0-1b0e-475e-9233-d088f6756076-1024x683.png)
![[TR] Ubuntu Server üzerine NTP Server Kurulumu ve Yapılandırılması](https://kadirkozan.com/wp-content/uploads/2026/03/27ce25e0-1b0e-475e-9233-d088f6756076-150x150.png)