CMD ile IP Adresi Yapılandırma (netsh ve ipconfig)

Sunucu odasında bir acil durum yaşıyorsunuz: yeni kurduğunuz Windows Server’ın ağ yapılandırması yanlış, uzaktan bağlantı yok, elinizde sadece fiziksel erişim ve bir klavye var. GUI’yi açmak zaman alacak, ama CMD her zaman orada. İşte tam bu yüzden netsh ve ipconfig komutlarını ezberden bilmek, bir sysadmin için hayat kurtarıcı bir beceridir.

Bu yazıda Windows ortamında komut satırından IP adresi yapılandırmanın her detayını ele alacağız. Statik IP atamaktan DHCP’ye geçişe, DNS ayarlarından birden fazla IP adresi eklemeye kadar gerçek senaryolarla ilerleyeceğiz.

Neden CMD ile IP Yapılandırması?

Grafik arayüz kullanmak çoğu zaman daha kolay görünür, ama sysadmin işinin gerçeği şu: bazen GUI kullanmak lüks olur. Uzaktan yönetim scriptleri yazarken, toplu sunucu yapılandırmalarında, otomasyonda veya GUI’nin bozulduğu durumlarda komut satırı tek çarenizdir.

Bunun yanı sıra:

  • Otomasyon: PowerShell veya Batch script içine gömebilirsiniz
  • Hız: Deneyimli ellerde GUI’den çok daha hızlıdır
  • Tekrarlanabilirlik: Aynı komutu onlarca sunucuya uygulayabilirsiniz
  • Uzaktan yönetim: SSH veya RDP üzerinden script çalıştırabilirsiniz
  • Kayıt tutma: Komutları log dosyasına yönlendirebilirsiniz

ipconfig Komutuna Genel Bakış

ipconfig, Windows’un temel ağ durum sorgulama aracıdır. Yapılandırma yapmaz, sadece mevcut durumu gösterir. Ama bu “sadece” kelimesini küçümsemeyin, doğru okumayı bilmek sorun gidermenin yarısıdır.

Temel ipconfig Kullanımı

ipconfig

Bu komut tüm ağ adaptörlerinin özet bilgisini verir: IP adresi, subnet mask ve default gateway. Çıktıda hangi adaptörün hangi isimle göründüğünü not edin, çünkü netsh komutlarında bu isimleri kullanacaksınız.

ipconfig /all

/all parametresi çok daha detaylı bilgi verir:

  • Physical Address: MAC adresi
  • DHCP Enabled: DHCP aktif mi değil mi
  • DHCP Server: DHCP sunucusunun adresi
  • DNS Servers: Tanımlı DNS sunucuları
  • Lease Obtained / Expires: DHCP kirasının başlangıç ve bitiş zamanı
  • Default Gateway: Varsayılan ağ geçidi

DHCP Kira Yenileme Komutları

ipconfig /release
ipconfig /renew

/release komutu mevcut DHCP kirasını bırakır ve IP adresini serbest bırakır. /renew ise DHCP sunucusundan yeni bir IP ister. Ağ sorunlarını giderirken bu ikiliye çok başvuracaksınız.

Belirli bir adaptör için de kullanabilirsiniz:

ipconfig /release "Ethernet0"
ipconfig /renew "Ethernet0"

DNS Cache Temizleme

ipconfig /flushdns

DNS sorunlarını giderirken bu komut sık kullanılır. Önbelleğe alınmış tüm DNS kayıtlarını temizler. Özellikle bir sunucunun IP adresini değiştirdikten sonra eski önbelleğin sorun çıkardığı durumlarda işe yarar.

ipconfig /displaydns

Mevcut DNS önbelleğini listeler. Hangi kayıtların önbellekte olduğunu görmek için kullanışlıdır.

netsh ile IP Adresi Yapılandırma

netsh (Network Shell), Windows’un en güçlü ağ yapılandırma aracıdır. IP adresi atamaktan güvenlik duvarı kuralları oluşturmaya kadar çok geniş bir yelpazede kullanılır. Biz bu yazıda netsh interface ip alt komutlarına odaklanacağız.

Önemli Not: Tüm netsh komutları yönetici (Administrator) olarak çalıştırılmalıdır. CMD’yi “Yönetici olarak çalıştır” seçeneğiyle açmayı unutmayın.

Adaptör İsmini Öğrenme

Yapılandırma yapmadan önce adaptörün tam ismini bilmemiz gerekiyor:

netsh interface show interface

Bu komut tüm ağ adaptörlerini listeler. Çıktıda “Admin State”, “State” ve “Interface Name” sütunları görürsünüz. Interface Name kısmındaki değer, sonraki komutlarda kullanacağınız isimdir. Tipik isimler: “Ethernet”, “Ethernet0”, “Local Area Connection”, “vEthernet (Default Switch)” gibi olabilir.

Statik IP Adresi Atama

En temel işlem: bir adaptöre statik IP adresi atamak.

netsh interface ip set address name="Ethernet0" static 192.168.1.100 255.255.255.0 192.168.1.1

Bu komutun parçalarını açıklayalım:

  • name=”Ethernet0″: Yapılandırmak istediğimiz adaptörün adı
  • static: Statik IP atayacağımızı belirtir
  • 192.168.1.100: Atanacak IP adresi
  • 255.255.255.0: Subnet mask
  • 192.168.1.1: Default gateway

Komutu çalıştırdıktan sonra adaptör kısa süreliğine bağlantıyı kesebilir. Bu normaldir, yeni IP ayarları devreye girerken yaşanan geçici bir durumdur.

DHCP’ye Geçiş

Statik IP’den DHCP’ye geçmek istiyorsanız:

netsh interface ip set address name="Ethernet0" source=dhcp

Bu kadar basit. Komutun ardından adaptör DHCP sunucusuna istek gönderecek ve otomatik IP alacaktır. Bazen hemen IP alamayabilir, bu durumda ipconfig /renew ile zorla yenileme yapabilirsiniz.

DNS Sunucusu Ayarlama

Statik IP atadığınızda DNS’i de manuel ayarlamanız gerekir:

netsh interface ip set dns name="Ethernet0" static 8.8.8.8

Bu komut birincil DNS sunucusunu ayarlar. İkincil DNS eklemek için:

netsh interface ip add dns name="Ethernet0" 8.8.4.4 index=2

index=2 parametresi bunun ikincil DNS olduğunu belirtir. Kurumsal ortamlarda genellikle dahili DNS sunucularını kullanırsınız:

netsh interface ip set dns name="Ethernet0" static 10.0.0.1
netsh interface ip add dns name="Ethernet0" 10.0.0.2 index=2

DNS’i DHCP’den otomatik almak için:

netsh interface ip set dns name="Ethernet0" source=dhcp

Mevcut IP Yapılandırmasını Görüntüleme

Yaptığınız değişikliklerin uygulandığını doğrulamak için:

netsh interface ip show config name="Ethernet0"

Bu komut belirtilen adaptörün IP adresi, subnet mask, gateway ve DNS bilgilerini detaylı gösterir.

Gerçek Dünya Senaryoları

Senaryo 1: Yeni Sunucu Kurulumu

Bir Windows Server 2022 kurulumu yaptınız. Sunucunun sabit bir IP adresi olması gerekiyor. Ağ planınıza göre:

  • IP: 10.10.1.50
  • Subnet: 255.255.255.0
  • Gateway: 10.10.1.1
  • DNS1: 10.10.1.10 (Domain Controller)
  • DNS2: 10.10.1.11 (Yedek DC)
netsh interface ip set address name="Ethernet" static 10.10.1.50 255.255.255.0 10.10.1.1
netsh interface ip set dns name="Ethernet" static 10.10.1.10
netsh interface ip add dns name="Ethernet" 10.10.1.11 index=2
ipconfig /all

Son komutla yapılandırmanın doğru uygulandığını kontrol ediyoruz.

Senaryo 2: Birden Fazla IP Adresi Ekleme

Bir web sunucusunda birden fazla site host ediyorsunuz ve her site için farklı IP gerekiyor. Windows’ta bir adaptöre birden fazla IP adresi ekleyebilirsiniz:

netsh interface ip add address name="Ethernet" 192.168.1.101 255.255.255.0
netsh interface ip add address name="Ethernet" 192.168.1.102 255.255.255.0
netsh interface ip add address name="Ethernet" 192.168.1.103 255.255.255.0

Dikkat: set address komutu mevcut adresi değiştirir, add address ise üstüne ekler. Bu farkı unutmayın, yanlış kullanımda kendinizi sunucudan atabilirsiniz.

Ekstra IP adreslerini kaldırmak için:

netsh interface ip delete address name="Ethernet" addr=192.168.1.103

Senaryo 3: Ağ Sorun Giderme Süreci

Bir kullanıcı “internete çıkamıyorum” diye şikayet etti. Uzaktan CMD üzerinden kontrol ediyorsunuz:

ipconfig /all

Çıktıda IP adresinin 169.254.x.x aralığında olduğunu görüyorsunuz. Bu APIPA (Automatic Private IP Addressing) adresi demek, yani DHCP sunucusuna ulaşamamış. İlk adım:

ipconfig /release
ipconfig /renew

Hala çözülmediyse DNS cache temizleyin:

ipconfig /flushdns

Sonra connectivity testi:

ping 8.8.8.8
ping google.com

Eğer IP üzerinden ping atılıyor ama domain adı çözümlenmiyorsa, sorun DNS’tedir. Geçici olarak Google DNS’i deneyin:

netsh interface ip set dns name="Ethernet" static 8.8.8.8

Senaryo 4: Toplu Sunucu Yapılandırma Scripti

Birden fazla sunucuya benzer yapılandırma yapmanız gerektiğinde, bir Batch script hazırlamanız hayat kurtarır:

@echo off
echo IP Yapilandirmasi basliyor...

REM Adaptör adını ayarla
set ADAPTER=Ethernet

REM IP bilgilerini ayarla
netsh interface ip set address name="%ADAPTER%" static 10.10.5.100 255.255.255.0 10.10.5.1

REM DNS ayarla
netsh interface ip set dns name="%ADAPTER%" static 10.10.1.10
netsh interface ip add dns name="%ADAPTER%" 10.10.1.11 index=2

echo Yapilandirma tamamlandi. Kontrol ediliyor...
ipconfig /all

echo.
echo Islem bitti!
pause

Bu scripti farklı sunucularda IP değerlerini değiştirerek kullanabilirsiniz. Hatta daha ileri giderek parametreli hale getirebilirsiniz.

Senaryo 5: Acil Durum – Yanlış Gateway Düzeltme

Bir sunucuya yanlış gateway girildi ve uzaktan erişim kesildi. Fiziksel erişimle CMD’yi açtınız:

netsh interface ip show config name="Ethernet"

Gateway’in yanlış olduğunu gördünüz (10.10.1.2 yerine 10.10.2.1 girilmiş). Sadece gateway’i değiştirmek için tüm komutu tekrar çalıştırmak gerekiyor:

netsh interface ip set address name="Ethernet" static 10.10.1.50 255.255.255.0 10.10.1.1

Bu komut mevcut IP ve subnet’i koruyarak sadece gateway’i günceller (aynı IP’yi tekrar girerseniz).

Gelişmiş netsh Kullanımı

Yapılandırmayı Export ve Import Etme

Çalışan bir sunucunun ağ yapılandırmasını yedeklemek ve başka bir sunucuya uygulamak için:

netsh interface ip dump > network_config_backup.txt

Bu komut tüm ağ yapılandırmasını bir script dosyasına yazar. Daha sonra bu dosyayı başka bir sunucuda çalıştırabilirsiniz:

netsh exec network_config_backup.txt

Sunucu göçü veya felaket kurtarma senaryolarında bu yöntem çok işe yarar.

Adaptör Durumunu Kontrol Etme

netsh interface show interface

Çıktıdaki durumlar:

  • Connected: Adaptör aktif ve bağlı
  • Disconnected: Fiziksel bağlantı yok (kablo çıkmış olabilir)
  • Disabled: Adaptör devre dışı bırakılmış

Devre dışı bir adaptörü etkinleştirmek:

netsh interface set interface name="Ethernet2" admin=enable

Devre dışı bırakmak:

netsh interface set interface name="Ethernet2" admin=disable

Metric (Öncelik) Ayarı

Birden fazla ağ adaptörünüz varsa, hangi adaptörün öncelikli kullanılacağını metric değeriyle belirleyebilirsiniz. Düşük metric = yüksek öncelik:

netsh interface ip set address name="Ethernet" static 10.10.1.50 255.255.255.0 10.10.1.1 1

Komutun sonundaki 1 metric değeridir.

Sık Yapılan Hatalar ve Çözümleri

Hata: “The parameter is incorrect” Genellikle adaptör adını yanlış yazdığınızda oluşur. netsh interface show interface ile doğru adı kontrol edin. Adaptör adında boşluk varsa tırnak içine almayı unutmayın.

Hata: “Access is denied” Yönetici yetkisiyle çalıştırmadığınız anlamına gelir. CMD’yi “Yönetici olarak çalıştır” ile açın.

Sorun: Komut çalıştı ama IP değişmedi Bazen adaptörü disable/enable yapmak gerekir:

netsh interface set interface name="Ethernet" admin=disable
netsh interface set interface name="Ethernet" admin=enable

Sorun: RDP üzerinden IP değiştirince bağlantı koptu Bu çok bilinen bir sorundur. RDP üzerinden statik IP değiştirirken yeni IP’ye bağlanmak için hazır olun. Mümkünse önce hedef IP’yi test edin, ya da Out-of-Band (konsol, iLO, iDRAC) erişimini aktif tutun.

netsh vs PowerShell

Modern Windows ortamlarında netsh yerine PowerShell kullanımı giderek yaygınlaşıyor. PowerShell’in NetAdapter ve NetIPAddress modülleri daha okunabilir ve scriptleme için daha uygun:

New-NetIPAddress -InterfaceAlias "Ethernet0" -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet0" -ServerAddresses 8.8.8.8,8.8.4.4

Ancak netsh hala değerini korur çünkü:

  • Daha eski Windows sürümlerinde de çalışır
  • Batch script içinde kullanımı daha basittir
  • Bazı network ortamlarında PowerShell kısıtlanmış olabilir
  • Yıllarca edinilmiş muscle memory

Sonuç

ipconfig ve netsh ikilisi, Windows ağ yönetiminin temel taşlarıdır. ipconfig ile mevcut durumu okuma ve temel DHCP işlemlerini yapma, netsh interface ip ile ise tam yapılandırma yetkisine sahip olursunuz.

Bu komutları ezberlemenize gerek yok, ama mantığını anlamak ve gerektiğinde hızla başvurabilmek çok önemli. Özellikle acil durumlarda, gece yarısı bir sunucunun ağını düzeltirken bu basit satırlar sizi kurtaracaktır.

Pratik öneri: Kendi lab ortamınızda (sanal makine üzerinde bile olsa) bu komutları bilinçli olarak deneyin. Yanlış IP girin, bağlantıyı kesin, sonra düzeltin. Bu deneyim, gerçek bir acil durumda elinizin titremesini engeller.

Son olarak, kritik sunucularda ağ değişikliği yapmadan önce mutlaka bir rollback planınız olsun. Hangi IP’ye döneceksiniz, konsol erişiminiz var mı, değişiklik penceresi yeterince geniş mi? Bu soruların cevabı hazırsa, komut satırı sizin en güvenilir dostunuzdur.

Yorum yapın