DHCP (Dynamic Host Configuration Protocol), bir ağa bağlanan cihazlara IP adresi ve ağ ayarlarını otomatik olarak dağıtan protokoldür. Telefonunuz Wi-Fi'ye bağlandığında ya da bilgisayarınıza kablo taktığınızda IP adresi, alt ağ maskesi, varsayılan ağ geçidi (gateway) ve DNS sunucusu bilgilerini çoğu zaman bir DHCP sunucusundan alır. Protokolün temel tanımı RFC 2131 belgesindedir.

DHCP olmasaydı ağdaki her cihaza adresleri elle girmeniz ve çakışmaları kendiniz takip etmeniz gerekirdi. Bu yazıda DHCP'nin nasıl çalıştığını (DORA süreci), kira (lease) süresini, statik kiralamayı, DHCP relay'i, sahte (rogue) DHCP sunucusu sorununu ve MikroTik üzerinde resmî belgedeki kısa bir kurulum örneğini anlatıyoruz. Ağ güvenliğinin genel çerçevesi için güvenlik duvarı nedir yazısına da göz atabilirsiniz.

DHCP ne işe yarar?

DHCP ne işe yarar? IP adresi ve alt ağ maskesi, Varsayılan ağ geçidi (gateway), yani cihazın internete çıkarken kullanacağı..., DNS sunucusu adresleri (DNS'in ne olduğu için DNS...

RFC 2131, DHCP'yi TCP/IP ağındaki cihazlara yapılandırma bilgisi aktarmak için bir çerçeve olarak tanımlar. Belge Mart 1997 tarihlidir, standartlar yolunda (Draft Standard) yer alır ve daha eski RFC 1541'in yerini almıştır. Pratikte bir DHCP sunucusu genellikle şunları dağıtır:

  • IP adresi ve alt ağ maskesi
  • Varsayılan ağ geçidi (gateway), yani cihazın internete çıkarken kullanacağı router adresi
  • DNS sunucusu adresleri (DNS'in ne olduğu için DNS nedir yazısına bakın)
  • Bu bilgilerin ne kadar süreyle geçerli olduğunu gösteren kira (lease) süresi

Evlerde DHCP sunucusu çoğunlukla modem ya da router'ın içinde çalışır. Şirket ağlarında ise bir router, güvenlik duvarı ya da ayrı bir sunucu bu görevi üstlenebilir. Cihaz türleri arasındaki farkları router, modem, switch ve access point farkı yazısında anlattık.

Adres atama yöntemleri

RFC 2131 üç adres atama mekanizması tanımlar:

YöntemRFC 2131 tanımıGünlük karşılığı
Otomatik (automatic)DHCP istemciye kalıcı bir IP adresi atarİlk alınan adres istemcide kalır
Dinamik (dynamic)DHCP istemciye sınırlı bir süre için IP adresi atarKira süreli normal DHCP
Elle (manual)İstemcinin adresini ağ yöneticisi belirler, DHCP yalnızca iletirStatik kiralama / rezervasyon

DORA süreci: DHCP adım adım nasıl çalışır?

Bir cihaz ağa ilk bağlandığında henüz IP adresi yoktur ve DHCP sunucusunun adresini de bilmez. Bu yüzden süreç yayın (broadcast) mesajlarıyla başlar. Akılda kalması için ilk harflerinden DORA denir:

  • D - DHCPDISCOVER: İstemci, ağdaki DHCP sunucularını bulmak için yayın mesajı gönderir.
  • O - DHCPOFFER: Sunucu, bu mesaja yapılandırma parametreleri içeren bir teklifle cevap verir.
  • R - DHCPREQUEST: İstemci teklif edilen parametreleri ister (birden fazla teklif geldiyse birini seçer).
  • A - DHCPACK: Sunucu, atanan adresi ve parametreleri onaylar. İstemci artık bu adresi kullanabilir.

RFC 2131'e göre istemciler mesajlarını sunucunun UDP 67 numaralı portuna, sunucular ise istemcinin UDP 68 numaralı portuna gönderir. DORA'nın dışında protokolde başka mesaj türleri de vardır:

MesajGönderenAnlamı
DHCPNAKSunucuİstemcinin adresi ya da kirası geçersiz; istemci baştan başlamalı
DHCPDECLINEİstemciTeklif edilen adres ağda zaten kullanılıyor
DHCPRELEASEİstemciİstemci adresi ve kirayı bırakıyor
DHCPINFORMİstemciAdresi zaten var, yalnızca diğer yerel ayarları istiyor

Lease (kira) süresi nedir?

Lease (kira) süresi nedir? Kira süresinin 0,5 katı, Kira süresinin 0,875 katı

Dinamik atamada adres istemciye süresiz verilmez, bir kira süresi boyunca verilir. Böylece ağdan ayrılan cihazların adresleri bir süre sonra havuza geri döner. İstemci kira bitmeden süreyi uzatmaya çalışır. RFC 2131'in 4.4.5 bölümüne göre bu iki zamanlayıcıyla yapılır:

ZamanlayıcıVarsayılan değerİstemci ne yapar
T1Kira süresinin 0,5 katıRENEWING durumuna geçer, kirayı veren sunucuya doğrudan (unicast) DHCPREQUEST gönderir
T2Kira süresinin 0,875 katıHâlâ onay yoksa REBINDING durumuna geçer, DHCPREQUEST mesajını yayın olarak gönderir

Örneğin 8 saatlik bir kirada istemci 4. saatte yenileme dener; bu başarısız olursa 7. saatte herhangi bir sunucudan yenileme ister. Kira süresinin ne kadar olacağı sunucu yapılandırmasına bağlıdır. MikroTik DHCP belgesinde lease-time özelliğinin varsayılan değeri 30m (30 dakika) olarak listelenir. Misafir ağı gibi cihazların sık değiştiği ağlarda kısa, sabit cihazların olduğu ağlarda daha uzun süreler tercih edilebilir.

Statik kiralama (DHCP rezervasyonu)

Yazıcı, NAS, kamera kaydedici ya da port yönlendirme yaptığınız bir sunucu gibi cihazların adresinin değişmemesi gerekir. Bunun için iki yol vardır: cihaza elle sabit IP vermek ya da DHCP sunucusunda o cihazın MAC adresine her zaman aynı IP'yi veren bir statik kiralama (rezervasyon) tanımlamak. İkinci yöntemde adres yönetimi tek yerde kalır ve havuzla çakışma riski azalır. Port yönlendirme yapacaksanız hedef cihazın adresini bu şekilde sabitlemek önemlidir; bkz. NAT ve port yönlendirme nedir.

MikroTik belgesi, sunucunun dağıttığı dinamik bir kiranın make-static komutuyla statik hale getirilebileceğini gösterir (0, kira listesindeki satır numarasıdır):

bash
/ip dhcp-server lease make-static 0

MikroTik'te DHCP sunucusu kurulumu (kısa örnek)

MikroTik Docs: DHCP sayfası, 192.168.88.0/24 ağı için şu elle kurulum örneğini verir. Sırasıyla bir adres havuzu oluşturulur, istemcilere verilecek ağ ayarları (DNS ve gateway) tanımlanır, router'ın arayüzüne adres verilir ve DHCP sunucusu bridge1 arayüzünde başlatılır:

bash
/ip pool add name=dhcp_pool0 ranges=192.168.88.2-192.168.88.254
/ip dhcp-server network add address=192.168.88.0/24 dns-server=192.168.88.1 gateway=192.168.88.1
/ip address add address=192.168.88.1/24 interface=bridge1 network=192.168.88.0
/ip dhcp-server add address-pool=dhcp_pool0 disabled=no interface=bridge1 name=dhcp1

Aynı belge, arayüz, adres alanı, gateway, adres havuzu, DNS sunucuları ve kira süresini adım adım soran etkileşimli bir kurulum komutu da tanımlar:

bash
/ip dhcp-server setup

RouterOS'un genel yapısı için MikroTik nedir yazısına bakabilirsiniz. Birden fazla ağ segmenti kullanıyorsanız her VLAN için ayrı bir havuz ve DHCP sunucusu tanımlamak yaygın bir yapıdır; VLAN kavramı için VLAN nedir yazısına göz atın.

DHCP relay nedir?

DHCP'nin ilk mesajları yayın olarak gönderildiği için normalde router'ları geçmez. Her alt ağa ayrı DHCP sunucusu koymak yerine DHCP relay (aktarıcı) kullanılabilir. RFC 2131, relay agent'ı istemciler ile sunucular arasında DHCP mesajlarını aktaran bir cihaz ya da router olarak tanımlar; böylece her alt ağda DHCP sunucusu bulunması gerekmez. Relay, mesajdaki giaddr alanına kendi IP adresini yazar; sunucu bu alan doluysa cevabını relay'e gönderir ve hangi alt ağ için adres vereceğini de buradan anlar.

MikroTik belgesindeki örnekte iki yerel ağ (Local1 ve Local2) 192.168.0.1 adresindeki merkezi DHCP sunucusuna aktarılır:

bash
/ip dhcp-relay add name=Local1-Relay interface=Local1 dhcp-server=192.168.0.1 local-address=192.168.1.1 disabled=no
/ip dhcp-relay add name=Local2-Relay interface=Local2 dhcp-server=192.168.0.1 local-address=192.168.2.1 disabled=no

Rogue DHCP (sahte DHCP sunucusu) sorunu

Aynı ağda yetkisiz ikinci bir DHCP sunucusu çalışırsa bazı cihazlar adreslerini ondan alır. Bu çoğu zaman yanlışlıkla ağa takılan bir ev router'ından kaynaklanır; sonuçta cihazlar yanlış ağ geçidi ya da yanlış DNS alır, internete çıkamaz veya trafikleri istenmeyen bir cihaz üzerinden geçer. Kötü niyetli kullanımda bu durum trafiğin izlenmesine de yol açabilir.

MikroTik, bu duruma karşı /ip dhcp-server alert menüsünü sunar. Belgeye göre bu özellik belirtilen arayüzü izler; valid-server listesinde MAC adresi bulunmayan bir DHCP sunucusu görülürse log kaydı düşer ve isteğe bağlı olarak on-alert ile bir betik çalıştırılabilir. Belgede örnek log satırı şöyledir: discovered unknown dhcp server, mac 00:02:29:60:36:E7, ip 10.5.8.236. Bu özellik sahte sunucuyu tespit eder; ağı fiziksel olarak düzenlemek ve yetkisiz cihazı kaldırmak yine yöneticinin işidir.

Windows'ta IP adresini yenileme

Windows'ta IP adresini yenileme: ipconfig /all, ipconfig /release, ipconfig /renew, ipconfig /flushdns

İstemci tarafında sorun giderirken DHCP'den alınan adresi bırakıp yeniden istemek işe yarayabilir. Microsoft Learn: ipconfig sayfasına göre:

KomutNe yapar
ipconfig /allTüm adaptörlerin tam TCP/IP yapılandırmasını gösterir
ipconfig /releaseDHCP sunucusuna DHCPRELEASE gönderir ve mevcut IP yapılandırmasını bırakır
ipconfig /renewOtomatik IP alacak şekilde ayarlı adaptörlerin DHCP yapılandırmasını yeniler
ipconfig /flushdnsDNS istemci önbelleğini temizler
bash
ipconfig /release
ipconfig /renew

Sık Sorulan Sorular

DHCP mi statik IP mi kullanmalıyım?

İstemci cihazlar (telefon, dizüstü bilgisayar) için DHCP pratiktir. Adresinin değişmemesi gereken cihazlar için DHCP üzerinde statik kiralama tanımlamak, hem sabit adres sağlar hem de yönetimi tek yerde tutar.

Adresimin DHCP ile mi alındığını nasıl anlarım?

Windows'ta ipconfig /all tam yapılandırmayı gösterir. Microsoft belgesine göre bu komut, hangi TCP/IP değerlerinin DHCP, APIPA (Automatic Private IP Addressing) ya da alternatif yapılandırma tarafından belirlendiğini görmek için özellikle otomatik IP alan bilgisayarlarda kullanışlıdır.

DHCP hangi portları kullanır?

RFC 2131'e göre sunucu UDP 67, istemci UDP 68 numaralı portu kullanır. Arada bir güvenlik duvarı varsa bu trafiğe izin verilmelidir.

Bir ağda iki DHCP sunucusu olabilir mi?

Protokol birden fazla sunucunun teklif vermesine izin verir; istemci tekliflerden birini seçer. Ancak iki sunucu aynı ağa farklı ayarlar dağıtıyorsa karışıklık çıkar. Planlı bir yedeklilik yapısı dışında ağda tek bir yetkili DHCP sunucusu olması ve sahte sunucuların izlenmesi önerilir.

Marka adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen kuruluşlarla bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: Güvenlik duvarı (firewall) nedir · NAT ve port yönlendirme nedir · VLAN nedir · MikroTik nedir · IP adresi nedir · DNS nedir