DHCP Bölüm-1

Bu makalede :
Cisco Cihazlarda DHCP
DHCP vs BOOTP
DHCP SERVER
DHCP CLIENT
DHCP OPTIONS
DHCP IP RESERVATION
Hakkında Yazicaz.

****Cisco Cihazlarda DHCP ***

Cisco cihazımız; DHcp Server,  Dhcp Client ,  Dhcp Relay Agent olabilir. DHCP Hizmeti default olarak açıktır.

conf t

no servıce dhcp

komutu ile kapatabiliriz.
Hizmet açıktır demek şuan kullanılıyor yada dinleniyor demek değildir. Sadece kullanıma hazırdır. Cisco Router un AKTIF olarak DINLEDIGI Hizmetlere bir  bakalım.

sh control-plane host open-ports

Prot    Local Address  Foreign Address   Service   State

tcp          *:23              *:0              Telnet        LISTEN

Görüldügü gibi sadece TELNET açıktır. Ve Hizmet şuanda DINLENIYOR.

***DHCP vs BOOTP ***

DHCP nin Türkçe açılımı  —> Yeni KASA BOOTP demektir. Olay hala BOOTP dir. BOOTP -> BootStrap Protocol. BOOTP Client – Server Mantığı kullanan bir protokoldür. TCP/IP Layer 4 de çalışır. UDP içinde gelir. Server Port 67 yi dinler. Client  Port 68 i dinler. Test edelim.

sh ip port-map  | inc _67_|_68_

Default mapping:  bootpc     udp port 68    system defined

Default mapping:  bootps     udp port 67    system defined

 

DHCP diye bisi gören var mi ?
bootpc  -> BootP Client bootps  -> BootP Server
BootP nin eksikleri varmış önceden. Bu bizi çokta ilgilendirmez. İsteyen BootP nin eksikleri diye Google yapabilir.
Sonra içine ekstra bisiler katmışlar. Bu ekstra bisilere  DHCP OPTION lar denir. Aslında DHCP dediğimiz şey bir sürü DHCP OPTION dur  Zamanla komple bu olaya DHCP denilmiş. BootP nin içeriğini komple incelemek, Dhcp Snooping gibi konuları çok kolay anlamanıza yardımcı olur.  Neyse biz adetleri bozmayalım.

***DHCP SERVER  ( UDP 67 yi Dinler ) ***

Bu hizmet kullanıma açıktır Cisco cihazlarda demiştik. Konfigürasyon yapınca  UDP 67 yi dinlemeye baslar sanırım.
R1Server —- Switch —- R2Client

R1#

conf t
service dhcp  [ buna gerek yok aslında ]
ınt fa00
ip add 192.168.1.1 255.255.255.0
no sh

ip dhcp exculded address 192.168.1.19
ip dhcp pool mypool
network 192.168.1.0 /24
default-router 192.168.1.1
dns-server 8.8.8.8
lease 0 0 1

 

Bakalım Server Olmuş mu ?

sh control-plane host open-ports
Active internet connections (servers and established)
Prot        Local Address      Foreign Address   Service        State
tcp         *:23                  *:0                     Telnet         LISTEN
udp      *:67                 *:0            DHCPD Receive   LISTEN

DHCP Daemon çalışıyor

Önce DHCP nin dağıtmasını istemediğimiz IP leri yazdık. ( Bu önce YAZILIR ) IP DHCP EXCULDED ADDRESS 192.168.1.19 Bu direk Running Config e yazılır. DHCP ayarlarında görülmez.

sh run | inc excluded

ip dhcp excluded-address 192.168.1.19

 

İle görebiliriz.
Sonra bir HAVUZ oluşturduk. IP DHCP POOL MYPOOL İçine IP lerimiz attık. NETWORK 192.168.1.0 /24 Ve bir tane Gateway koyduk. DEFAULT-ROUTER 192.168.1.1 Dns-Server belirledik. DNS-SERVER 8.8.8.8 Ve bu bilgilerin CLient a ne kadar süre verileceğini belirledik LEASE ile. LEASE 0 0 1
Burada GATEWAY in iki rolü vardır. ( DEFAULT-ROUTER İLE YAZDIĞIMIZ IP )
Birinci sudur : 
Client lara Gateway bilgisini verir.
IKincisi İse : 
Bir DHCP Server eğer bir DHCP İstek alırsa, isteği aldığı interface in IP adresine bakar, Sonra bu IP adresinin DEFAULT-ROUTER  olduğu havuzu bulur ve  o havuzu kullanır. Bu bilgiyi aklınızda TUTUN. İsler karışacak ilerde…

***DHCP CLIENT  ( UDP 68 i dinler ) ***

Cisco Cihazlar DHCP Client olabilirler. Tek yapmamız gereken ise :

R2#

conf t
ınt fa00
ıp address dhcp
no sh

dir.

Client Üzerinde KONTROL edelim.

R2#sh ip int br | inc DHCP

FastEthernet1/0   192.168.1.2     YES DHCP   up                    up

Client imiz bir IP aldı.
Bakalım kimden ve ne kadar sürelik almış ?

R2#sh dhcp lease | inc Lease

DHCP Lease server: 192.168.1.1, state: 5 Bound

Lease: 86400 secs,  Renewal: 43200 secs,  Rebind: 75600 secs

192.168.1.1 adında bir Server bize bu adresi 86400 Saniyelik kiralamış. Bu süre yarısına inince tekrar talep edicez -> Renewal: 43200 secs,
Server Üzerinde KONTROL edelim kime ne vermiş ?

sh ip dhcp binding

IP address /Client-ID/ Lease expiration/ Type / Hardware address /User name
192.168.1.2   0063.6973.636f.2d63.    Aug 31 2013 11:51 PM    Auto 6130.312e.3138.6238.2e30.3031.632d.4661. 312f.30

Client-ID’si 0063.6973.636f.2d63.  6130.312e.3138.6238.2e30.3031.632d.4661.  312f.30 olan birisine 192.168.1.2 adresini verdim.

Gelelim İkisi arasındaki ILETISIME 
Client dan giden TÜM Mesajlar  BOOT REQUEST mesajlarıdır. Server dan giden TÜM Mesajlar BOOT REPLY  mesajlarıdır.
BootP ‘ninyapısını incelerseniz. İçinde bazı bilgiler var gerisi komple DHCP OPTION’ lar. Bazı bilgilerden bir kaçı :

1-)Bootp Flag diye bir kısım var, İçinde Broadcast Flag = 1 var. Bunun anlamı  Client ve Server arası tüm iletişim BROADCAST olacaktır. Gelip giden tüm mesajlara bakin hepsi Broadacst dir. Ve bu kötü kişilerin ekmeğine bal sürer ( yağ sevmiyorum )
Bu isi başlatan ise CLIENT in kendisidir. Mesaj gönderirken  Broadcast Flag – 1 olarak gönderdiği için Server cevapları Broadcast gönderir. Bu durum Windows 7 içinde böyledir. O da öyle gönderiyor.
Bunu engelleyebiliriz.

Client#

conf t
no ıp dhcp-clıent broadcast-flag

 

2-) Relay Agent Ip ADdress diye bir kısım var. Bu konuyu ayrıca detaylı ele alicaz.
Gerisi ise komple OPTION lar

***DHCP OPTIONS ***

Option 53
Bunun içinde DHCP Mesaj çeşitleri vardır.
DHCPDISCOVER        DHCPOFFER              DHCPREQUEST         DHCPACK                 DHCPRELEASE          DHCPDECLINE          DHCPINFORM          DHCPNAK
CCNA RS de öğrendiğimiz sıralama su idi.
Client – Dhcp Discover Gönderir Server – Dhcp Offer Gönderir Client – Dhcp Reuest Gönderir Server – Dhcp ACK gönderir
İlerleyen zamanlarda değişik mesajlar göreceğiz.

Option 55
Bu ise kendi içinde OPTION lari barındıran bir OPTION dur. Client in istekleri bunun içindedir. Bizim köyde evlenecek kızlar karsı tarafa yazılı bir kağıt gönderirler. Onun içinde istekleri yazılır. Mesela, araba isterim, ev isterim, 200 inch TV isterim gibi.
Client in istediği bu bilgilerde aslında OPTION dir

Cisco Cihazı bir DHCP CLient ise su OPTION lari talep eder Deafult olarak :
DNS nameserver (6) Domain name (15) NETBIOS nameserver (44) Default router option (3) Static route option (33) TFTP server address (150) Vendor specific option (43)
Mesela DHCP Client in Tftp-Server e ihtiyacı yok ise bunu talep etmesini engelleyebiliriz.

Client#
conf t
int fa00
no ip dhcp client request tftp-server-addre

OPTION 6

 Bunun içinde DNS Server bilgisi vardır. Client in isteklerinden biri budur .

OPTION  1 
Verilen IP nin Subnet bilgisi vardır.

OPTION 150

TFtp Server un IP sini içerir.
Bunu hangi Client talep etsin ki diye düşünebilirsiniz. Eğer Client bir IP PHONE ise talep edebilir. Çünkü IP PHONE lar için TFTP Server çok ise yarar . ( Detaylı bilgi için CCNA VOice eğitimi yardımcı olur )

OPTION 54 
Bu kısım önce DHCP server tarafından eklenir. İçinde DHCP Server un kim olduğu bilgisi vardır. Bu OPTION ile kendini tanıtır Server. Sonraki mesajlarda Client da bunu ekler, böylece kiminle iletişim kurduğunu bilir Client !
Bunun sebebi ise sudur : Mesela Client imiz ilerleyen zamanlarda Server a bisi gönderecek. Örneğin Lease ettiği adres belirli bir süre sonra yenilenmesi gerekir, bu isteği BROADCAST etmezde direk ilgili Server a gönderir !

Mesela ben  Lease süresini  1 dakika yaptım. Ve Client da DEBUG DHCP DETAIL yaptım. Her 30 saniyede bir Client DHcp Request gönderdi. Ve Server dan DHCP ACK aldı. Hem de iletişim UNICAST oldu.

OPTION 51 
Bunun içinde Kira Süresi vardır.

Option 19 
Bunun içinde Çorum leblebisi vardır. Ve sadece Çorumlulara gönderilir.

OPTION 61

 Bu önemlidir. Burada duralım biraz. Buna CLIENT IDENTIFIER denir.. Client’in ISMIDIR. Client kendi ismini bunun içine koyar.
İsmini ise söyle oluşturur :
Cisco + MAC ADDRESS + INTERFACE  değerlerinden oluşturulur.
Himm..
Simdi Server a gidelim.—sh ip dhcp binding —yapalım.

R1# sh ip dh binding

Bindings from all pools not associated with VRF:
IP address/ Client-ID/Lease expiration/Type/Hardware address/User name
192.168.1.2   0063.6973.636f.2d63.    Aug 31 2013 11:51 PM    Auto 6130.312e.3138.6238.2e30.3031.632d.4661.312f.30

Client-ID  = 0063.6973.636f.2d63.6130.312e.3138.6238.2e30.3031.  632d.4661.312f.30
Simdi diceksinizki bu sayının neresi   Cisco + MAC ADDRESS + INTERFACE
Aslında öyledir. Sadece HEX e çevrilmiştir.
Su siteye gidelim —>  ASCII to Hex – Free text conversion tools
Hexadecimal kutucuğuna  -> 0063.6973.636f.2d63.6130.312e.3138.6238.2e30.3031.  632d.4661.312f.30
Bunu yapıştırın ve CONVERT deyin.
Yukarda ASCII karsısında = cisco-ca01.18b8.001c-Fa1/0  yazacaktır
Simdi biz Client a gidip diyelim ki, Senin ismin çok karışık geldi bize, adam akilli sadece MAC adresini kullan.

R2#

Conf t
ınt faxx

ip dhcp client client-id fastEthernet 1/0

Bundan sonra Client artik Option 61 içine 01 + MAC adresini yazacaktır. 01 nerden çıktı ? : )    01 demek ” ben Ethernet ortamından geliyorum demektir “

R1#

Sh ip dh bi
192.168.1.2         01ca01.18b8.001c

Görücez.
Peki bu bilgi neden önemlidir. Çünkü Cisco DHCP Server lar  IP rezerve ederken Client – ID ye göre verirler.

***DHCP IP RESERVATION ***

Ayrı Bir POOL oluşturacağız. İçinde NETWORK kelimesi olmasın.

DhcpServer#

conf t
ip dhcp pool xxx
host 192.168.1.19 255.255.255.0
client-identifier  0063.6973.636f.2d63.6130.322e.3136.6430.2e30.3031.  632d.4661.312f.30 yazmamız gerekir…

DHCP OPTION larin tamamını öğrenme hevesinde olanlar
http://www.ietf.org/assignments/boot…parameters.txt
Buradan takip edebilirler…Bölüm-2 ise  yakında…

Yazı M.Ceyhan YAĞLI’nın izni ile yayınlanmıştır , Ciscotr.com olarak kendisine çok teşekkür ederiz.

3 yorum

  1. Option-19 : DHCP ile ip alan clientler’in ip forwarding özelliğinin enable veya disable edilmesini belirlemek için kullanılır. Çok sık kullanılan bir özellik değildir.

    19 sayısı aynı zamanda Çorum’um plakası olduğundan sanırım Ceyhan hocam öyle yazmış 🙂

  2. Hocam ellerinize sağlık yukardaki configlerde ı’ların i olması gerekmiyor mu? Yoksa aslı astarı bu mudur 🙂

    ınt fa00
    ıp address dhcp

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir