İçeriğe geç
ipkontrol.net

IP Temelleri

Sunucumun IP Adresini Nasıl Bulurum?

Hosting paneli, SSH ve komut satırından sunucu adresini öğrenme.

Kiraladığınız bir sunucunun, VPS'in ya da barındırma hesabının adresi birkaç yerden öğrenilebiliyor. Ama bu yerlerin verdiği adres her zaman aynı değil. Bu yazı hangi adresin nerede göründüğünü ve hangisinin ne işe yaradığını anlatıyor.

Başkasının sitesinin adresini dışarıdan bulmak farklı bir soru; web sitesinin IP adresini bulma yazımızda anlattık. Burada sunucu sizin.

Üç kaynak

KaynakNasılNe gösterir
Sağlayıcının paneliSunucu ya da hesap özeti sayfasıSize atanmış genel adres(ler)
Sunucunun içiSSH ile bağlanıp komutAğ arayüzündeki adres — özel olabilir
Dışarıdan yansıtmaSunucudan bir adres servisine istekGiden trafiğin gerçekte çıktığı adres

Çoğu durumda üçü aynı adresi veriyor. Farklı çıktığı durumlar aşağıda.

1. Panel

VPS ve bulut sağlayıcılarında adres sunucunun özet sayfasında genellikle "IPv4", "Public IP" ya da "Genel IP" satırında duruyor. Paylaşımlı barındırmada hesap bilgileri sayfasında "Paylaşılan IP" ya da "Sunucu IP" adıyla geçiyor. Ekran adları sağlayıcıya göre değişiyor.

Paylaşımlı barındırmada bu adres sizin değil, aynı sunucudaki yüzlerce sitenin ortak adresi. Alan adınızın A kaydına bu adresi yazıyorsunuz; sunucu gelen isteği alan adına bakarak doğru siteye yönlendiriyor.

2. Sunucunun içi

SSH ile bağlandıktan sonra Linux sunucuda:

  • ip -4 addr show — arayüzlerdeki IPv4 adresleri
  • ip -6 addr show — IPv6 adresleri
  • hostname -I — bütün adresler tek satırda
  • ip route get 1.1.1.1 — dışarıya giden trafiğin hangi arayüzden ve hangi kaynak adresle çıktığı

Çıktının satır satır okunuşu Linux IP adresi öğrenme yazımızda var. Windows sunucuda karşılığı ipconfig; ayrıntısı Windows yazısında.

hostname -I çıktısında 172.17.0.1 gibi adresler görürseniz bunlar Docker ya da benzeri sanal arayüzlere ait; sunucunun internetteki adresi değil.

Bulut sunucusunda özel adres

Bazı bulut sağlayıcılarında sunucunun içinden baktığınızda 10.x.x.x ya da 172.16–31.x.x gibi bir adres görüyorsunuz; paneldeki genel adres arayüzde hiç yok. Bu bir hata değil.

Sağlayıcı genel adresi kendi ağının kenarında tutuyor ve sunucunuza gelen trafiği NAT ile içerideki özel adrese çeviriyor. Sunucu kendi genel adresini bilmiyor. Bu adres aralıklarının neden internette yönlendirilmediğini özel IP aralıkları yazımızda anlattık.

Sonucu şu: sunucudaki bir yazılım "hangi adrese bağlanayım" diye sorarsa genel adresi değil, arayüzdeki özel adresi ya da 0.0.0.0'ı dinlemesi gerekiyor. Genel adresi yazarsanız servis başlamıyor çünkü o adres sunucuda yok.

3. Dışarıdan yansıtma: giden adres

Sunucudan bir adres servisine istek atıp cevabı okumak, trafiğin internete hangi adresle çıktığını gösteriyor:

  • curl -4 ifconfig.me — IPv4 çıkış adresi
  • curl -6 ifconfig.me — IPv6 çıkış adresi

Bu adres gelen adresle çoğunlukla aynı, ama şu durumlarda farklı:

  • Sunucu özel ağda ve dışarıya ayrı bir NAT geçidinden çıkıyor
  • Sunucuya birden fazla genel adres atanmış; giden trafik varsayılan olanı kullanıyor
  • Giden trafik bir proxy ya da tünel üzerinden gidiyor

Hangi adres nerede kullanılır?

İşKullanılacak adres
Alan adının A / AAAA kaydıGelen genel adres (panel)
SSH ile bağlanmakGelen genel adres
Bir API'nin izin listesine yazmakGiden adres (yansıtma)
Veritabanı sunucusunda erişim izniGiden adres; aynı ağdaysa özel adres
Sunucudaki servisin dinleyeceği adresArayüzdeki adres ya da tümü

Üçüncü satır sık yapılan bir hatayı gösteriyor: izin listesine panelde gördüğünüz adresi yazıp isteklerin reddedildiğini görmek. Karşı taraf isteğin geldiği adrese bakıyor; giden adres farklıysa izin tutmuyor.

DNS kaydıyla karşılaştırma

Alan adınız doğru sunucuyu gösteriyor mu? DNS sorgulama aracında A kaydına bakın ve paneldeki adresle karşılaştırın.

  • Aynı: kayıt doğru.
  • Farklı ve adres bir CDN'e ait: site bir ara katmanın arkasında; bu da doğru olabilir. Adresin sahibini IP adresi kime ait yazısındaki yolla bulun.
  • Farklı ve eski sunucunun adresi: taşıma sonrası kayıt güncellenmemiş ya da yayılma süresi henüz dolmamış.

Sıkça sorulan sorular

Sunucumun IP adresini nasıl bulurum?

En kolay yol sağlayıcının panelindeki sunucu özeti. Sunucuya SSH ile bağlıysanız ip -4 addr show komutu arayüzdeki adresi, bir adres servisine curl ile istek atmak da dışarıya çıkan adresi gösterir.

Sunucuda gördüğüm adres paneldekinden neden farklı?

Bazı bulut sağlayıcıları genel adresi kendi ağının kenarında tutuyor ve trafiği NAT ile sunucudaki özel adrese çeviriyor. Sunucunun içinden bakınca yalnızca özel adres görünüyor; bu normal.

API izin listesine hangi adresi yazmalıyım?

Sunucunun dışarıya çıktığı adresi. Bunu sunucudan bir adres servisine istek atarak öğrenin; NAT geçidi ya da birden fazla adres varsa paneldeki adresten farklı olabilir.

Paylaşımlı barındırmada IP adresi bana mı ait?

Hayır. Paylaşımlı barındırmadaki adres aynı sunucudaki çok sayıda sitenin ortak adresi. Sunucu gelen isteği alan adına bakarak doğru siteye gönderiyor.

hostname -I çıktısında birden fazla adres var, hangisi doğru?

172.17.0.1 gibi adresler Docker ve sanal arayüzlere ait. Hangi adresin kullanıldığını görmek için ip route get 1.1.1.1 komutunun çıktısındaki src değerine bakın.