Uzaktaki bir sunucuya SSH ile bağlanamıyorsunuz. Ping de cevap vermiyor. Makine kapandı mı, çekirdek paniğe mi girdi, yoksa yanlış bir ağ yapılandırması yüzünden kendini mi kesti — bilmiyorsunuz. Elinizde IPMI yoksa tek seçeneğiniz veri merkezine gitmek ya da uzaktan el hizmeti için bilet açıp beklemektir. Elinizde varsa, bir dakika içinde konsolu açıp ekranda ne yazdığını görürsünüz.
IPMI, iDRAC ve iLO işte tam bu farkı yaratan teknolojilerdir: sunucunun anakartında, işletim sisteminden tamamen bağımsız çalışan küçük bir bilgisayar sayesinde makineye kapalıyken bile ulaşabilirsiniz. Bu rehberde bu sistemin nasıl çalıştığını, ilk erişimi nasıl kuracağınızı, ipmitool ile hangi işleri komut satırından yapabileceğinizi, sanal konsol ve sanal medyayı, sensör izlemeyi ve en önemlisi BMC güvenliğini anlatacağım. Son bölümde gerçek hayatta en çok karşılaştığım sorunları ve çözümlerini bulacaksınız.
BMC Nedir, IPMI, iDRAC ve iLO Nasıl İlişkilidir#
Sunucu anakartlarında BMC (Baseboard Management Controller) adı verilen ayrı bir mikrodenetleyici bulunur. Kendi işlemcisi, kendi belleği, kendi işletim sistemi ve genellikle kendi ağ portu vardır. En kritik özelliği şudur: bekleme gücüyle çalışır. Yani sunucuyu kapatsanız bile, güç kablosu takılı olduğu sürece BMC ayaktadır ve size cevap verir. İşletim sistemi çökse, disk okunamasa, çekirdek panik yapsa bile BMC etkilenmez.
Terimler burada karışır, ayıralım:
| Terim | Ne anlama gelir |
|---|---|
| BMC | Anakart üzerindeki fiziksel yönetim denetleyicisi (donanım) |
| IPMI | BMC ile konuşmak için kullanılan standart protokol (v1.5 / v2.0) |
| iDRAC | Dell sunucularındaki BMC uygulamasının ticari adı |
| iLO | HPE sunucularındaki BMC uygulamasının ticari adı |
| XClarity / CIMC | Lenovo ve Cisco tarafındaki karşılıkları |
| Redfish | IPMI'nin yerini almaya aday modern REST/JSON tabanlı API |
Yani iDRAC ve iLO, aynı işi yapan iki farklı markanın ürünüdür ve ikisi de IPMI protokolünü destekler. Supermicro gibi üreticiler ise doğrudan "IPMI" adıyla anılan genel bir arayüz sunar. Pratikte hepsinde aynı dört yetenek vardır: uzaktan güç kontrolü, sanal konsol (ekran/klavye/fare), sanal medya (uzaktan ISO takma) ve donanım sensörü okuma.
Redfish'i de not edin: IPMI'nin protokol tasarımı eskidir ve güvenlik açısından zayıf noktaları vardır. Yeni sunucularda Redfish, HTTPS üzerinden JSON konuşan modern bir alternatif sunar ve üreticiler yavaş yavaş IPMI'yi devre dışı bırakmaya yönlendirir. İkisini bir arada destekleyen bir donanımda Redfish'i tercih etmek mantıklıdır.
BMC'ye İlk Erişim ve Ağ Yapılandırması#
BMC'ye erişimin iki yolu vardır: sunucunun içinden (yerel) ve ağdan (uzaktan). İlk yapılandırmayı genelde sunucunun içinden yaparsınız, çünkü henüz bir IP adresi yoktur.
Linux tarafında yerel erişim için gerekli çekirdek modüllerini ve aracı kurun:
# Debian / Ubuntu
sudo apt install ipmitool
# RHEL / AlmaLinux / Rocky
sudo dnf install ipmitool
# Yerel arayüz için çekirdek modüllerini yükle
sudo modprobe ipmi_si
sudo modprobe ipmi_devintf
# BMC ile konuşabildiğini doğrula
sudo ipmitool mc info
mc info çıktısı üretici adını ve firmware sürümünü gösteriyorsa bağlantı kuruldu demektir. Şimdi ağ ayarlarını yapın:
# Mevcut LAN yapılandırmasını gör (kanal numarası genelde 1, bazı kartlarda 8)
sudo ipmitool lan print 1
# Statik IP tanımla
sudo ipmitool lan set 1 ipsrc static
sudo ipmitool lan set 1 ipaddr 10.20.0.15
sudo ipmitool lan set 1 netmask 255.255.255.0
sudo ipmitool lan set 1 defgw ipaddr 10.20.0.1
# Yeni ayarları doğrula
sudo ipmitool lan print 1
Ardından kullanıcı hesaplarını düzenleyin. Varsayılan hesaplar bu işin en riskli tarafıdır: üreticiye göre ADMIN/ADMIN gibi herkesin bildiği bir çift ya da root ile sabit bir varsayılan parola gelir. Bunları ilk gün değiştirin.
# Tanımlı kullanıcıları listele
sudo ipmitool user list 1
# 2 numaralı kullanıcının parolasını değiştir (parolayı komut geçmişine yazmamak için tırnak dikkatli)
sudo ipmitool user set password 2
# Yeni bir yönetici kullanıcı tanımla
sudo ipmitool user set name 3 sysops
sudo ipmitool user set password 3
sudo ipmitool user priv 3 4 1 # 4 = ADMINISTRATOR, kanal 1
sudo ipmitool user enable 3
Ağ planlaması yaparken BMC'yi ayrı bir yönetim VLAN'ına koyun. Bunu ilk kurulumda yapmak, sonradan yapmaktan çok daha kolaydır. Yönetim ağınız için alt ağ hesabını subnet hesaplayıcı ile çıkarabilirsiniz.
ipmitool ile Günlük İşler#
ipmitool'un asıl gücü, uzaktan tek satırla iş bitirmesidir. Uzak bağlantıda -I lanplus (IPMI 2.0) kullanın; lan arayüzü eski ve şifrelenmemiş IPMI 1.5'i işaret eder.
# Kısaltma için ortak parametreleri değişkene alın
BMC="-I lanplus -H 10.20.0.15 -U sysops"
# Güç durumu
ipmitool $BMC chassis power status
# Aç / kapat / donanımsal reset / sıcak kapat
ipmitool $BMC chassis power on
ipmitool $BMC chassis power off # anında kesme (kirli kapatma)
ipmitool $BMC chassis power soft # ACPI kapatma isteği (temiz)
ipmitool $BMC chassis power cycle # kapat-aç
ipmitool $BMC chassis power reset # donanımsal reset
# Bir sonraki açılışta hangi cihazdan önyükleneceğini belirle
ipmitool $BMC chassis bootdev bios # BIOS ayarlarına gir
ipmitool $BMC chassis bootdev pxe # ağdan önyükle
ipmitool $BMC chassis bootdev cdrom # sanal medyadan önyükle
# Ön paneldeki tanımlama LED'ini yak (veri merkezinde makineyi bulmak için)
ipmitool $BMC chassis identify 60
Arıza teşhisinde en değerli iki komut sensör listesi ve olay günlüğüdür:
# Tüm sensörler: sıcaklık, fan, voltaj, PSU durumu
ipmitool $BMC sdr list
# Yalnızca sorunlu olanlar
ipmitool $BMC sdr list | grep -v ok
# Sistem olay günlüğü (SEL) - donanım arızalarının kaydı burada
ipmitool $BMC sel elist last 20
# Anlık güç tüketimi (DCMI destekleyen kartlarda)
ipmitool $BMC dcmi power reading
SEL kaydı, "sunucu kendi kendine yeniden başladı" gibi açıklanamayan olayların çözüldüğü yerdir. Düzeltilemez bir bellek hatası, bir PSU kaybı ya da aşırı sıcaklık kapanması buraya yazılır ve işletim sistemi günlüklerinde hiçbir iz bırakmaz. Güç okumasını izlemeye alırsanız elektrik maliyetinizi de gerçek veriyle hesaplayabilirsiniz; yöntem için sunucu güç tüketimi ve maliyeti yazısına bakın.
Sanal Konsol ve Sanal Medya#
Sanal konsol (KVM over IP), sunucunun ekran çıktısını size ağ üzerinden veren ve klavye-fare girdinizi makineye ileten özelliktir. Pratikte şu anlama gelir: BIOS ekranını görebilir, önyükleme mesajlarını okuyabilir, GRUB menüsüne müdahale edebilir ve işletim sistemi kurulumunu baştan sona uzaktan yapabilirsiniz. Modern iDRAC ve iLO sürümleri bunu tarayıcıdan HTML5 ile sunar; eski kartlar Java uygulamacığı isteyebilir.
Sanal medya, bunun tamamlayıcısıdır: kendi bilgisayarınızdaki ya da bir HTTP adresindeki ISO dosyasını sunucuya sanal bir CD/DVD sürücüsü olarak takar. Böylece işletim sistemini yeniden kurmak için veri merkezine USB götürmeniz gerekmez. Tipik bir uzaktan yeniden kurulum akışı şöyledir:
- Sanal medyaya kurulum ISO'sunu bağlayın.
ipmitool $BMC chassis bootdev cdromile bir sonraki açılışı sanal medyaya yönlendirin.ipmitool $BMC chassis power cycleile makineyi yeniden başlatın.- Sanal konsoldan kurulumu adım adım tamamlayın.
- Kurulum bitince sanal medyayı ayırın ve önyükleme sırasını diske geri alın.
Tarayıcı tabanlı konsolun çalışmadığı ya da ağın çok yavaş olduğu durumlar için SOL (Serial over LAN) hafif bir alternatiftir: grafik yerine seri konsolu ağ üzerinden metin olarak akıtır.
# Seri konsolu ağ üzerinden aç (çıkmak için ~. )
ipmitool $BMC sol activate
# Takılı kalmış oturumu düşür
ipmitool $BMC sol deactivate
SOL'un çalışması için iki tarafın da hazırlanması gerekir: BIOS'ta konsol yönlendirmesi (console redirection) açık olmalı ve Linux çekirdeğine seri konsol parametresi verilmelidir. GRUB yapılandırmasında GRUB_CMDLINE_LINUX satırına console=tty0 console=ttyS0,115200n8 eklemek yaygın uygulamadır; hız değeri BIOS'taki ayarla aynı olmalıdır.
BMC Güvenliği: İnternete Açmak Neden Yasak#
Burası bu yazının en önemli bölümü, çünkü BMC yanlış yapılandırıldığında sunucunuzun tamamını kaybettiren bir kapıdır. Şunu net anlayın: BMC'ye erişen kişi sunucuya donanım seviyesinde tam hakimdir. Makineyi kapatabilir, sanal medyadan kendi işletim sistemini yükleyebilir, diskteki her şeyi okuyabilir. Disk şifrelemesi bile bu senaryoda tam koruma sağlamaz, çünkü saldırgan açılış anında konsoldadır.
IPMI protokolünün kendi tasarımından gelen zayıflıkları da vardır. IPMI 2.0'ın kimlik doğrulama akışı, geçerli bir kullanıcı adı verildiğinde parolanın çevrimdışı kırılmasına imkân tanıyan bir bilgi sızdırır; ayrıca "cipher suite 0" adı verilen mod, yapılandırma yanlışsa kimlik doğrulamayı tamamen atlatabilir. Bu yüzden BMC'yi internete açık bırakmak, güçlü bir parola kullansanız bile kabul edilebilir bir risk değildir.
Uygulanacak kurallar listesi:
- BMC asla genel internete açık olmasın. Yalnızca ayrı bir yönetim VLAN'ında bulunsun ve o ağa yalnızca VPN üzerinden girilsin.
- Varsayılan parolaları ilk gün değiştirin ve tahmin edilemez değerler kullanın; şifre üretici aracı işinizi görür.
- Anonim ve kullanılmayan hesapları kapatın.
ipmitool user list 1çıktısındaki boş adlı ya da tanımadığınız her hesabı devre dışı bırakın. - Cipher suite 0'ı kapatın ve mümkünse IPMI over LAN'ı tamamen devre dışı bırakıp Redfish/HTTPS kullanın.
- Firmware'i güncel tutun. BMC firmware'i işletim sistemi güncellemeleriyle gelmez, ayrıca takip edilmesi gerekir.
- Erişimi kaynağa göre kısıtlayın. Kart destekliyorsa IP tabanlı erişim listesi tanımlayın.
- Ayrı hesaplar açın. Her yönetici kendi hesabıyla girsin ki denetim kaydı anlamlı olsun.
Kendi ağınızdan dışarıya bakan bir BMC'yi kolayca test edebilirsiniz: dışarıdaki bir makineden nmap -sU -p 623 <ip> ile 623/udp portunun açık olup olmadığına bakın. Cevap alıyorsanız bu portu derhal kapatın. Aynı mantık sanal makinelerin izolasyonu için de geçerlidir; sanal makine güvenliği ve izolasyon yazısında yönetim düzlemi ile üretim ağını ayırmanın önemini ayrıca ele aldım.
| Port | Servis | Not |
|---|---|---|
| 623/udp | IPMI over LAN (RMCP+) | İnternete kesinlikle kapalı |
| 443/tcp | BMC web arayüzü | Yalnızca yönetim VLAN'ından |
| 22/tcp | BMC SSH / SMASH CLI | Yalnızca yönetim VLAN'ından |
| 5900 üzeri | KVM konsol akışı | Port aralığı üreticiye göre değişir |
Sık Karşılaşılan Sorunlar ve Çözümleri#
BMC'ye ping atılıyor ama ipmitool "Unable to establish IPMI v2 / RMCP+ session" diyor. Bu genelde üç sebepten olur: yanlış kullanıcı adı ya da parola, kullanıcının o kanalda yetkisinin olmaması, veya IPMI over LAN'ın kart üzerinde kapalı olması. Yerel erişiminiz varsa ipmitool user list 1 ve ipmitool lan print 1 çıktılarını kontrol edin. Kartın takılı kalması da bir olasılıktır; ipmitool mc reset cold BMC'yi yeniden başlatır ve sunucuyu etkilemez.
Sanal konsol açılıyor ama ekran siyah kalıyor. Sunucu gerçekten kapalı olabilir; önce chassis power status ile doğrulayın. Açıksa ve hâlâ siyahsa, ekran çıkışı ayrık bir grafik kartına yönlenmiş olabilir — BIOS'ta birincil ekranı yerleşik denetleyiciye alın. Bazı kartlarda konsol oturumu sonlandırılmadığında yeni oturum açılmaz; web arayüzünden aktif oturumları sonlandırmak çözer.
Sanal medya bağlanıyor ama makine ondan açılmıyor. UEFI ile eski BIOS modu arasındaki uyumsuzluk en yaygın sebeptir: UEFI modundaki bir sunucuya yalnızca eski modu destekleyen bir ISO takarsanız önyükleme listesinde görünmez. ISO'nun UEFI destekli olduğundan emin olun ve chassis bootdev cdrom komutunu yeniden başlatmadan hemen önce verin, çünkü bu ayar çoğu kartta yalnızca bir açılış için geçerlidir.
Ağ yapılandırması yüzünden sunucuya erişemez hale geldiniz. BMC'nin en çok işe yaradığı senaryo budur; sanal konsoldan girip ağ ayarını düzeltirsiniz. Ancak dikkat: bazı sunucularda BMC, üretim ağ kartlarından birini işletim sistemiyle paylaşır (shared NIC / NC-SI). Bu modda üretim ağını kapatan bir hata, BMC'yi de erişilemez hale getirebilir. Bu yüzden mümkün olan her yerde ayrılmış (dedicated) yönetim portunu kullanın; donanım seçerken bu portun varlığını doğrulamak gerekir, ayrıntısı sunucu donanım seçimi rehberi yazısında.
Fanlar sürekli tam hızda dönüyor. Genellikle bir sıcaklık sensörünün cevap vermemesinden kaynaklanır; kart, ölçemediği durumda güvenli tarafta kalıp fanları maksimuma çeker. sdr list çıktısında ns (no reading) durumundaki sensörleri arayın. Üçüncü parti bir disk ya da kart takıldıysa üreticinin fan profili bunu tanımıyor olabilir.
Sıkça Sorulan Sorular#
IPMI ile iDRAC arasındaki fark nedir#
IPMI bir protokol standardıdır; iDRAC ise Dell sunucularındaki yönetim denetleyicisinin ticari adıdır ve bu protokolü destekleyen bir uygulamadır. HPE tarafındaki karşılığı iLO'dur. Yani "IPMI kullanıyorum" derken protokolden, "iDRAC kullanıyorum" derken belirli bir üreticinin arayüzünden bahsedersiniz. Komut satırı aracı olan ipmitool her üçüyle de çalışır.
IPMI portunu internete açmak güvenli mi#
Hayır, güvenli değildir ve hiçbir koşulda önerilmez. BMC'ye erişen kişi sunucuyu kapatabilir, sanal medyadan kendi sistemini açabilir ve diskteki veriye ulaşabilir. Ayrıca IPMI 2.0 protokolünün kimlik doğrulama tasarımında, parolanın çevrimdışı kırılmasını kolaylaştıran bilinen zayıflıklar vardır. Doğru yaklaşım, BMC'yi ayrı bir yönetim VLAN'ında tutmak ve oraya yalnızca VPN üzerinden erişmektir.
iLO ve iDRAC lisansı ücretsiz mi#
Temel özellikler genellikle lisanssız çalışır: güç kontrolü, sensör okuma ve olay günlüğü erişimi standart olarak gelir. Ancak sanal konsol (KVM over IP) ve sanal medya gibi en çok işe yarayan özellikler çoğu üreticide ücretli bir lisans seviyesi gerektirir. Sunucu satın alırken hangi lisans seviyesinin dahil olduğunu açıkça sormak gerekir; sonradan almak genelde daha pahalıdır.
Sunucu kapalıyken IPMI çalışır mı#
Evet, çalışır. BMC bekleme (standby) gücüyle beslenir; sunucu kapalı olsa bile güç kablosu takılı ve prizde elektrik olduğu sürece BMC ayaktadır. Zaten uzaktan güç açma özelliğini mümkün kılan şey budur. Güç kablosu tamamen çekildiğinde ya da kabindeki devre kapatıldığında BMC de erişilemez hale gelir.
ipmitool ile sunucuyu nasıl yeniden başlatırım#
Uzaktan yeniden başlatmanın iki yolu vardır. Temiz yöntem ipmitool -I lanplus -H <ip> -U <kullanıcı> chassis power soft komutudur; bu bir ACPI kapatma isteği gönderir ve işletim sistemi düzgün kapanır. Sistem tamamen kilitlenmişse chassis power reset ya da chassis power cycle donanımsal reset uygular, ancak bu yazılmamış verinin kaybına yol açabileceği için son çare olarak kullanılmalıdır.
BMC firmware güncellemesi riskli mi#
Güncelleme sırasında BMC yeniden başlar ama sunucunun kendisi çalışmaya devam eder, yani üretim kesintisi genelde olmaz. Yine de güncelleme yarıda kalırsa kart kullanılamaz hale gelebilir, bu yüzden işlemi kesintisiz bir güç kaynağı üzerinde ve tercihen bakım penceresinde yapmak doğrudur. Firmware güncellemeleri güvenlik açıklarını kapattığı için ihmal edilmemeli, planlı bir takvime bağlanmalıdır.
Kapanış#
BMC, uzaktaki bir sunucu için sigortadır: ona sahip olduğunuzda "makineye gitmem gerekiyor" cümlesini neredeyse hiç kurmazsınız. Aklınızda kalması gereken dört alışkanlık şunlar: sunucuyu üretime almadan önce güç, konsol ve sanal medyayı gerçekten test edin; varsayılan parolaları ve kullanılmayan hesapları ilk gün temizleyin; BMC'yi ayrı bir yönetim VLAN'ında tutup asla internete açmayın; ve SEL kaydını arıza teşhisinin ilk durağı yapın.
Kendi donanımınızı uzak bir tesise koyuyorsanız yönetim portu ve VPN erişimi pazarlık konusu olmamalıdır; colocation tarafında bu düzeni baştan kurmak en doğrusudur. Donanımla hiç uğraşmadan uzaktan tam kontrol isterseniz dedicated sunucu ve VDS paketlerimizde konsol erişimi panelden hazır gelir. İşletim sistemi ve donanım izlemesini tamamen devretmek isterseniz sunucu yönetimi hizmetimiz bu işi üstlenir.