DHCP Serisi - 2
--------------




Bu Makalede

Dhcp Relay Agent
Option 82
Dhcp Class


Hakkinda Yazicaz.


DHCP RELAY AGENT
*****************


Bazen DHCP Server agimizda olmayabilir.

R1 -------- R2 --- Switch ---- R3

R3 - Client Olsun.
R1 - Server Olsun.
R2 - Ise Relay Agent olacaktir. Araci gibi bisi.



Client dan gelen istekleri Server a gönderecektir.

Code:
R1 de Ayarlarimizi Yapalim.


R1#
conf t
int se0/0
ip add 12.0.0.1 255.255.255.0
no sh

ip dhcp excluded-address 192.168.1.19

ip dhcp pool abc
network 192.168.1.0 /24
default-router 192.168.1.1
dns-server 8.8.8.8
lease 0 0 1

ip route 192.168.1.0 255.255.255.0 s0/0
Buraya kadar olani biliyoruz.



Code:
R2#

conf t
int fa0/0
ip add 192.168.1.1 255.255.255.0
ip helper-address 12.0.0.1
n sh

int s0/0
ip add 12.0.0.2 255.255.255.0
no sh

IP HELPER-ADDRESS 12.0.0.02 -->

Bunun anlami sudur :

Bu interface altindan gelen ve UDP PORT olarak

67,68,69,37,49,53,137,138 kullanan tüm istekleri al ve 12.0.0.2 ye gönder. ( Unicast Mesaj ile )

67 ve 68 in ne oldugunu biliyoruz.

BUnlardan bazilarini göndermek istemeyebiliriz.

Örnegin 49 Tacacs in port numarasidir.
Ve UDP kullanir. ( Tacacs+ degil )


Code:
CONF T
no ip forward-protocol udp 49
ile gelen tacacs isteklerini Server a göndermesini engelledik.




Ayrica BOOTP içindeki Bazi bilgileri degistirir !!!

Örnegin Relay Agent IP kismina bu istegi aldigi interface in
IP adresini koyar !



DHCP Serisi - 1 makalesinde söyle bir kural vardi.

Dhcp Server kendine gelen istegi aldigi interface in
IP adresinin Default-Router oldugu POOL kullanirdi.

Simdi bu kurali degistiricez.

Normalde

BooTP içideki

Relay Agent IP kismi : 0.0.0.0 dir.

Ama Relay Agent buraya istegi aldigi ip yi koyarsa
DHCP SERVER bu IP nin Default-Router oldugu bir POOL arar.

O zaman Dhcp Server bir istek alinca POOL bulmak için kullandigi kuralin yeni hali sudur :

1- Önce Relay Agent IP yazan yere bak, eger 0.0.0.0 ise
2- Bu istegi aldigin interafce in IP adresinin Deffault-Router oldugu POOL u kullan.


Aklimizda tutalim bu bilgiyi.
Ilerde bir daha degisecek

Not : Bu Relay Agent IP yazan yerin adi GIADDR diye geçer.


GIADDR ise BOOTP içinde olan ve Relay Agent in
Server a POOL bulmasinda yardimci oldugu kisimdir.



Genelde Relay Agent deyince OPTION 82 akla gelir.



OPTION 82 Nedir ?
******************


Bu konu hatri sayilir genis bir konudur.
Bu makalede sadece ne oldugundan bahsedicez.



Relay Agent in ekledigi bir OPTION dir.
Bunun sayesinden Relay Agent imiz Client hakkinda
extra bilgi verebilir Dhcp Server a !


Öncelikle OPTION 82 yine bir DHCP OPTION dir

Burasi açik.

Hangi sorulari sormamiz gerekir simdi ?



Bunu kim EKLER ?
Ne Var bunun içinde ?
Bize ne saglar ?

Gibi sorular yeterlidir.



Kim Ekler ?
......................

Router lar ve Switch ler ekleyebilir. ( Wireless cihazlar hakkinda bilgim yok )


Router un bunu eklemesini MANUAL yapicaz.

Otomatik Eklemez.

Switch lerde ise DHcp SNooping aktif olunca otomatik eklenmeye başlar.



Biz Router ile ilgili kismindan bahsedelim.

Code:
RelayAgent#

CONF T
IP DHCP RELAY INFORMATION OPTION

Bundan sonra Relay Agent imiz Server a gönderdigi packetlerin içine
OPTION 82 ekler.

Bunun ilk etkisi sudur !

Bir server POOL seçerken neye bakardi ?

Hatirlayalim :

1- Önce Relay Agent IP yazan yere bak, eger 0.0.0.0 ise
2- Bu istegi aldigin interafce in IP adresinin Deffault-Router oldugu POOL u kullan.


Simdi eger packet içinde OPTION 82 var ise,

1. madde uygulanmak zorundadir !!!

Peki GIADDR = 0.0.0.0 ise ne olacak ?
Drop edecek !

Burda bizim sikintimiz yok.
Çünkü RElay Agent IP sini nasil olsa buraya yazacak.
DOlayisiyla burasi 0.0.0.0 olmayacak.


Ama bunu sorun oldugu yerlerde vardir.

Mesela Dhcp Snooping enable edilmis bir switch hem OPTION 82 ekler,
hemde GIADDR kismini 0.0.0.0 olarak birakir.
Çünkü kendisi Relay Agent degildir.
Option 82 eklemesinin özel bir sebebi vardir.
Bu packet i alan Dhcp Server bunu DROP eder.
Bu durumun çaresine bakmamiz gerekir.



Neyse bakalim bunun içinde ne gibi bilgiler var.
.................................................. ...............................................


Option 82 içinde 3 tane SubOPTION vardir.

BUnlara Minik OPTION diyebiliriz.


Sub Option 1 - Circuit ID
Sub Option 2 - Remote ID
Sub Option 6 - Subscriber ID




Circuit - ID ( CID )
.....................



Dhcp Istegi hangi Portdan hangi Vlan dan geldigi bilgisini içerir.
Böylece Relay Agent gelen dhcp cevaplari sadece oraya gönderir.
Switch lerde önemlidir.


Remote ID ( RID )
....................


Relay Agent i tanimlar.


Subscriber ID ( SID )
...........................


BU portdan gelen istege bir isim verebiliriz.


Bu 3 ünününde OPTION 82 içinde olmasi zorunlulugu yoktur.


Mesela SID tamamen OPtional dir.
Biz istersek ekleriz.

CID ve RID -> Switch lerde eklenir.
RID -> Router larda eklenir.


SID söyle eklenir:

Code:
conf t 
int fa01
ip dhcp snooping relay information subscriber-id XXX
Bu portdan gelen DHCP packetleri ile birlikte,
OPtion 82 içindeki SubOption 6 nin içinde XXX diye bir deger gidecek demektir.





Peki bu OPTION 82 içindeki 3 tane SubOPTION bize ne saglar ?
.................................................. .................................................. ..................................


Iki tane örnek vereyim.

1-)

Örnegin Dhcp Snooping enable olmus bir Switch de,
Her hangi bir porta Ip Source Guard ( Mac Filter ile ) uygulanirsa,
Ve Option 82 eklenmez ise Dhcp Server a giden paket içine,
Bu Client IP alamaz.
Mutlaka Option 82 aktif olmalıdır.



2-) Bizim makalemize uygun örnek ise,

DHCP Server bu degerlere göre belirli bir POOL içinden
belirli bir RANGE e göre IP verebilir.



BUnuda söyle yapariz :


DHCP CLASS
************


Uçaklarda biznis CLASS mantigini kullanir


Önce bir CLASS olusturucaz.

Sonra bu CLASS a kimler oturacak diye belirlicez.

Sonra bu CLASS dakilere ne ikram edicez kismina bakalim .




Code:
DhcpServer#


conf t
ip dhcp class biznis   [ biznis diye bir class olusturduk ]
relay agent information
relay-information hex  ????  [ kim oturacak bu Class a ]


Relay-Information hex ??? ---> ??? aslinda Option 82 degeridir.

BU Hex degerini nasil bulabiliriz ?

--- debug ip dhcp server class --- 

komutu ile  "relay-information 12309128398213082130912830128" gibi 
birsey görürsünüz. Bu Option 82 degerlerinin HEX halidir.

Simdide bu CLASS a ne ikram edelim kismina bakalim .


ip dhcp pool xxx
network 1.1.1.0 255.255.255.255.
default-router 1.1.1.1
class abc
address range 1.1.1.10 1.1.1.20

Router artik bu POOL içindeki  1.1.1.10 ile 1.1.1.20 araligini
biznis Class a verecek.


Not : Option 82 nin birçok yerde bir çok rolü vardir.
Zamani geldikçe yazmaya devam ederiz.