Friday, September 11, 2009

SNMP ile Cisco Yönlendiricinin Konfigürasyonunu Almak

Bu yazımızda, SNMP ile Cisco marka bir yönlendiricinin konfigürasyonunun uzaktan nasıl alındığını anlatmaya çalışacağız. Topolojimiz aşağıdaki gibi: Bir adet TFTP sunucumuz var, bir adet Cisco yönlendiricimiz var ve bir de komutları konsolundan yazdığımız LINUX CentOS işletim sistemine sahip bir bilgisayarımız var.
Şimdi LINUX CentOS işletim sistemi yüklü bilgisayardan yazacağımız komutlarla hedef yönlendiricinin konfigürasyonunu almaya çalışacağız. Bunun için bir "Perl script"i kullanacağız. "script"imizin adı copy-router-config.pl
Yönlendiricinin işletim sistemini aktarmayı planladığımız Windows XP işletim sistemi yüklü bilgisayarın üzerinde TFTP sunucu servisinin çalışıyor olması gereklidir. Yönlendiricinin konfigürasyonu TFTP ile alınacağı için bu gereklidir.

"script"in kullanımı aşağıdaki gibidir:
./copy-router-config.pl

Göstermeyi planladığımız örnekte yönlendiricimizin IP adresi 192.168.2.222, TFTP sunucumuzun IP adresi de 192.168.2.111 olarak belirlenmiştir. Yönlendiricinin SNMP "community name" değeri de "public"tir.

Aşağıdaki komutu yazdıktan sonra, yönlendiricinin konfigürasyonu TFTP sunucusuna aktarılmış olacaktır.
[root@SSS]#./copy-router-config.pl 192.168.2.222 192.168.2.111 public

"SNMP community" değeri üretilen tüm ağ cihazlarında "public" olarak gelmektedir. "SNMP community" değeri "public" olan Cisco yönşendiriclerin konfigürasyonlarını almak yukarıda da görülebilecği gibi oldukça basittir. Bu nedenle varsayılan değeri "public" olan bu değerin başka ve daha karmaışk bir değerler değiştirilmesi gerekmektedir.

Selçuk Şahin

Friday, August 7, 2009

TCP Sıra ve Onay Numaraları (Sequence Number & Acknowledgment Number) - 1

Bu yazımızda, TCP bağlantısı kurulması aşamasında ve TCP bağlantısı kurulduktan sonra, sıra ve onay numaralarının (sequence number & acknowledgment number) durumları incelenecektir.

Bir ağ üzerinde yer alan iki bilgisayar birbirleri arasında bilgi transferi yapacağı zaman aralarında bir TCP bağlantısı kurmaları gerekmektedir. Bu TCP bağlantısı, iki taraftan birisinin TCP bağlantı isteğini yapmasıyla başlar.

TCP bağlantılarında, karşılıklı gönderilen paketlerin hedefe ulaşıp, ulaşmadığını garanti etmek amacıyla sıra ve onay numaraları (sequence number & acknowledgment number) kullanılır.

TCP bağlantısını başlatan taraf, göndereceği TCP segmentinin başlığının (header) içerisindeki SYN bitinin değerini "1" yapar ve TCP bağlantısı için bir başlangıç sıra numarası (ISN = Initial Sequence Number) üretir. Bu sıra numarası , her işletim sisteminde farklı algoritmalarla, rastgele olacak şekilde üretilen bir sayıdır. Sıra ve onay numaralarının her birinin uzunluğu 32 bittir.

Yazımızda önce TCP 3 aşamalı el skışıma (TCP 3 way handshaking) aşamasından bahsedeceğiz:
Senaryomuzda A bilgisayarı, B sunucusuna bir HTTP isteği yapacaktır. Bilindiği gibi HTTP istekleri normalde TCP 80 numaralı portu kullanır. Bunun için A bilgisayarının, B sunucusuna 80 numaralı port üzerinden bir TCP bağlantısı başlatması gereklidir.

A bilgisayarı TCP başlığı içindeki SYN bayrağının değerini "1" yapar ve rastgele bir başlangıç sıra numarası (ISN = Initial Sequence Number) üretir. Yukarıda da belirtmiş olduğumuz gibi, ISN her işletim sisteminde farklı bir algoritmayla üretilmektedir. A bilgisayarı TCP bağlantısını başlattığı için ve B sunucusundan henüz herhangi bir cevap da almamış olduğu için göndereceği segmentin onay numarasının (acknowledgment number) değeri "0"dır (sıfır).
Yukarıdaki şekle göre A bilgisayarı, B sunucusuna bir TCP bağlantı isteği göndermektedir. Gönderilen bu TCP segmentinin sıra numarası 4227644578'dir ve TCP segmentinin başlığının içindeki SYN bayrağının değeri de "1"dir.

B sunucusu aldığı bu TCP segmentine, kendi ISN'sini (Initial Sequence Number) içeren bir başka TCP segmentiyle cevap verir. B sunucusunun gönderdiği bu TCP segmentinin başlığındaki SYN ve ACK bayraklarının değeri "1" olarak belirlenmiştir. Ayrıca bu segment, içerisinde A bilgisayarından almış olduğu paketin onay numarası da içermektedir.
Yukarıdaki şekle göre B sunucusu, A bilgisayarına bir cevap segmenti dönmüştür. Bu cevap segmentinin başlığında yer alan SYN ve ACK bayraklarının değeri "1"dir. Ayrıca B sunucusu kendi ISN'sini (Initial Sequence Number) de bu segmente eklemiştir. Yukarıdaki örnekte B sunucusunun ISN değeri 3363649303'tür. Bunun yanı sıra B sunucusu, A bilgisayarına bir önceki segmenti aldığına dair bir de onay numarası (acknowledgment number) gönderir. Bu değer bir önceki pakette yer alan sıra numarasının "1" fazlasıdır. Yani 4227644578 + 1 = 4227644579'dur. B sunucusu, A bilgisayarına şunu demektedir: "4227644578 numaralı segmenti aldım. Bundan sonra bana göndereceğin sıra numarası (sequence number) 42276644579 olsun.

Bunda sonraki aşamada A bilgisayarı, bağlantının kurulması için B sunucusuna son olarak bir segment daha gönderir. Bu segmentin başlığı içindeki ACK bayrağının değeri "1" olarak belirlenir. Ayrıca A bilgisayarı, B sunucusunun göndermiş olduğu segmenti aldığını da bir onay numarası (acknowledgment number) göndererek bildirir. Bu onay numarasının değeri almış olduğu TCP segmentinin içerisinde yer alan B sunucusuna ait olan sıra numarasının (sequence number) "bir" fazlasıdır.
Yukarıdaki şekle göre A bilgisayarı, B sunucuna cevap olarak göndermiş olduğu segmentin başlığındaki ACK bayrağının değerini "1" olarak belirlemiştir. Ayrıca bir önceki segmenti aldığına dair de B sunucusuna bir onay numarası (acknowledgment number) göndermiştir. Bu onay numarası bir önceki segmentte yer alan B sunucusuna ait olan sıra numarasından (sequence number) "bir" fazladır. Yani 3363649303 + 1 = 3363649304'tür. Burada A bilgisayarı şunu demektedir: "Sıra numarası 3363649303 olan segmenti aldım.Bundan sonra yollayacağın segmentin sıra numarası 3363649304 olsun."

Böylece A bilgisayarı ve B sunucusu arasında TCP bağlantısı kurulmuş olur. Bundan sonra her iki uç arasında veri akışı başlayacaktır. Bundan sonra veri akışının devam etmesi için ilk TCP segmentini A bilgisayarı gönderecektir. Bu ilk segmentin sıra numarası 42276644579 ve onay numarası da 3363649304 olacaktır.
Yukarıdaki şekilde A bilgisayarı, B sunucusuna şunu demektedir: "Senden gelen 3363649303 sıra numaralı segmenti aldım. Bundan sonra göndereceğin segmentin sıra numarası 3363649304 olsun."

Bundan sonra gelecek olan üç segment aşağıdaki gibi olacaktır:
Yukarıdaki şekilde B sunucusu, A bilgisayarına şunu demektedir: "Senden gelen 4227644579 sıra numaralı segmenti aldım. Bundan sonra göndereceğin segmentin sıra numarası 4227644580 olsun."

Yukarıdaki şekilde A bilgisayarı, B sunucusuna şunu demektedir: "Senden gelen 3363649304 sıra numaralı segmenti aldım. Bundan sonra göndereceğin segmentin sıra numarası 3363649305 olsun."

Yukarıdaki şekilde B sunucusu, A bilgisayarına şunu demektedir: "Senden gelen 4227644580 sıra numaralı segmenti aldım. Bundan sonra göndereceğin segmentin sıra numarası 4227644581 olsun."
Veri alışverişi, sıra ve onay numaraları bu şekilde artarak bağlantı bitene kadar devam eder.

ÖNEMLİ NOT: Bu örnekte dikkat edilirse sıra ve onay numaralarının birer birer arttığı görülür. Fakat gerçek hayattaki bir TCP bağlantısında bu numaralar birer birer artmazlar. Bu numaralar, segmentin içerdiği verinin büyüklüğüne bağlı olarak bir artış gösterirler. Bununla ilgili örneği de bir sonraki yazımızda anlatmayı planlıyoruz.

Tuesday, June 2, 2009

Basit SNMP Komutları

Elimizde bir adet Cisco 2621 yönlendirici, bir adet Cisco WS-3550-48-SMI anahtar ve bir adet HP ProCurve 2848 anahtar mevcut. SNMP komutlarıyla bu üç cihazın ayakta kalma sürelerinin ve sistem bilgilerinin nasıl alındığını göstereceğiz. Tabii ki bu üç cihaz üzerinde SNMP servisinin aktif olması gerekmektedir. Komutları LINUX CentOS 5.2 kurulu bir bilgisayardan yazacağız.

Önce Cisco 2621 yönlendiriciden bilgi almaya başlayacağız:
root@SSS#snmpget -v1 -c hedehodokalkani 192.168.2.61 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (134593) 0:22:25.93
root@SSS#snmpget -v2c -c hedehodokalkani 192.168.2.61 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (152809) 0:25:28.09
root@SSS#snmpwalk -v1 -c hedehodokalkani 192.168.2.61 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (190572) 0:31:45.72
root@SSS#snmpwalk -v2c -c hedehodokalkani 192.168.2.61 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (197183) 0:32:51.83

Yukarıdaki komutları açıklayalım:
snmpget ve snmpwalk LINUX komutları yönlendiricimizden SNMP ile bilgi almamıza yarar.
v1 & v2c: SNMP'nin versiyonunu gösterir. Yönlendiricimiz SNMPv1 ve SNMPv2c versiyonlarını desteklediği için her iki komutla da yönlendiricimizden bilgi almak mümkün olmuştur.
-c hedehodkalkani: Burada -c'den sonra yazılan ifade "SNMP community" değeridir. Buraya hem RO, hem de RW değeri yazılabilir.
192.168.2.61: SNMP bilgilerini alacağımız yönlendiricinin IP numarasıdır.
system.sysUpTime.0: Yönlendiricinin ayakta kalma süresini belirten MIB değeridir.
Bundan sonra yazılacak olan komutlar yukarıdaki parametrelere uygun olarak yazılacaktır.

Şimdi de bir SNMP komutuyla yönlendiricimizin sistem bilgilerini alalım:
root@SSS#snmpget -v1 -c hedehodokalkani 192.168.2.61 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-I-M), Version 12.3(25), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2008 by cisco Systems, Inc.
Compiled Mon 28-Jan-08 19:21 by alnguyen
root@SSS#snmpget -v2c -c hedehodokalkani 192.168.2.61 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-I-M), Version 12.3(25), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2008 by cisco Systems, Inc.
Compiled Mon 28-Jan-08 19:21 by alnguyen
root@SSS#snmpwalk -v1 -c hedehodokalkani 192.168.2.61 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-I-M), Version 12.3(25), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2008 by cisco Systems, Inc.
Compiled Mon 28-Jan-08 19:21 by alnguyen
root@SSS#snmpwalk -v2c -c hedehodokalkani 192.168.2.61 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-I-M), Version 12.3(25), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2008 by cisco Systems, Inc.
Compiled Mon 28-Jan-08 19:21 by alnguyen
Bu örnekte Cisco yönlendiricimizden "show version" komutunun bir kısmına karşılık gelen bilgileri almış olduk.
system.sysDescr.0: Cisco yönlendiricimizde "show version" yazdığımızda karşımıza gelen bilgilerin bir kısmını göstermeye yarayan SNMP MIB değeridir.

Şimdi de Cisco WS-3550-48-SMI anahtarında aynı bilgileri, aynı komutlarla alalım:
root@SSS#snmpget -v1 -c hedehodokalkani 192.168.2.60 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9442666) 1 day, 2:13:46.66
root@SSS#snmpget -v2c -c hedehodokalkani 192.168.2.60 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9450371) 1 day, 2:15:03.71
root@SSS#snmpwalk -v1 -c hedehodokalkani 192.168.2.60 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9454687) 1 day, 2:15:46.87
root@SSS#snmpwalk -v2c -c hedehodokalkani 192.168.2.60 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9459263) 1 day, 2:16:32.63

root@SSS#snmpget -v1 -c hedehodokalkani 192.168.2.60 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C3550 Software (C3550-I9Q3L2-M), Version 12.1(11)EA1, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Mon 28-Aug-02 09:33 by antonino
root@SSS#snmpget -v2c -c hedehodokalkani 192.168.2.60 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C3550 Software (C3550-I9Q3L2-M), Version 12.1(11)EA1, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Mon 28-Aug-02 09:33 by antonino
root@SSS#snmpwalk -v1 -c hedehodokalkani 192.168.2.60 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C3550 Software (C3550-I9Q3L2-M), Version 12.1(11)EA1, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Mon 28-Aug-02 09:33 by antonino
root@SSS#snmpwalk -v2c -c hedehodokalkani 192.168.2.60 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C3550 Software (C3550-I9Q3L2-M), Version 12.1(11)EA1, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Mon 28-Aug-02 09:33 by antonino

Şimdi de HP ProCurve 2848 anahtarının bilgilerini aynı komutlarla alıyoruz:
root@SSS#snmpget -v1 -c hedehodokalkani 192.168.2.62 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1209861314) 140 days, 0:43:33.14
root@SSS#snmpget -v2c -c hedehodokalkani 192.168.2.62 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1209868785) 140 days, 0:44:47.85
root@SSS#snmpwalk -v1 -c hedehodokalkani 192.168.2.62 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1209872829) 140 days, 0:45:28.29
root@SSS#snmpwalk -v2c -c hedehodokalkani 192.168.2.62 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1209878435) 140 days, 0:46:24.35

root@SSS#snmpget -v1 -c hedehodokalkani 192.168.2.62 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: ProCurve J4904A Switch 2848, revision I.10.43, ROM I.08.07 (/sw/code/build/mako )mkfs))
root@SSS#snmpget -v2c -c hedehodokalkani 192.168.2.62 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: ProCurve J4904A Switch 2848, revision I.10.43, ROM I.08.07 (/sw/code/build/mako )mkfs))
root@SSS#snmpwalk -v1 -c hedehodokalkani 192.168.2.62 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: ProCurve J4904A Switch 2848, revision I.10.43, ROM I.08.07 (/sw/code/build/mako )mkfs))
root@SSS#snmpwalk -v2c -c hedehodokalkani 192.168.2.62 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: ProCurve J4904A Switch 2848, revision I.10.43, ROM I.08.07 (/sw/code/build/mako )mkfs))

Thursday, May 28, 2009

IEEE 802.1x RADIUS Sunucusu Konfigürasyonu

IEEE 802.1x konfigürasyonu yukarıdaki topolojiye göre yapılmıştır:

Senaryo:

  • www.sss61.com etki alanına dahil olan kullanıcılar, PC1 ve PC2 üzerinden, IEEE 802.1x kimlik doğrulamasını kullanarak etki alanına dahil olacaklardır.
  • Aktif dizin Windows 2008 Server üzerine kurulmuştur.
  • RADIUS sunucusu olarak IAS kullanılmıştır. IAS, Windows 2003 Server üzerine kurulmuştur.
  • PC1, HP ProCurve 2848 anahtarına bağlıdı. Anahtarın işletim sistem versiyonu I.10.43'tür.
  • PC2, Cisco 3550 anahtarına bağlıdır. Anahtarın işletim sistem versiyonu 12.1(11)EA1'dir. Anahtarın üzerindeki işletim sistemi c3550-ipservicesk9-mz.122-44.SE6.bin'dir.
RADIUS Sunucusu Konfigürasyonu

Bu konfigürasyonumuzda RADIUS sunucusu olarak Windows IAS sunucusunu kullanacağız. Bunun için önce IAS penceresini açıyoruz:

Burada, RADIUS sunucumuza bağlanacak olan istemcileri tanımlaycağız. Bunun için, açılan pencerede "Internet Authentication Service (Local)" başlığı altında yer alan "RADIUS Clients"a sağ tıklıyoruz ve "New RADIUS Client" seçeneğini seçiyoruz:

Bundan sonra "New RADIUS CLient" penceresi açılır. "Friendly name" kısmına RADIUS sunucumuza bağlanacak olan istemciyi temsil eden bir isim yazıyoruz. Bu örnekte RADIUS istemcimizin ismi "ETHERNET_SWITCH_A" olarak belirlenmiştir. Penceredeki "Client address" kısmına ise RADIUS istemcimizin IP adresini yazıyoruz. Bu örnekte RADIUS istemcisinin IP adresi 192.168.61.61 olarak belirlenmiştir. Bu alana IP adresi yerine RADIUS istemcimizin ismi de yazılabilir. Ama bilgisayarımızın, bir DNS sunucusu üzerinden bu ismi çözebilmesi gereklidir. IEEE 802.1x konfigürasyonu yaptığımız için RADIUS istemcilerimiz, anahtarlama cihazlarımız olacaktır. Bu pencerede yazmış olduğumuz bilgiler, aslında IEEE 802.1x uygulamasında kullanacağımız anahtarlama cihazlarımızın bilgileri olacaktır:

Bundan sonra "Next"e basarak bir sonraki pencereye geçiyoruz. Bu pencerede "Client-Vendor" alanındaki menüden "RADIUS Standard"seçeneğiini seçiyoruz. RADIUS istemcilerimizin, RADIUS sunucumuzla konuşması için bir şifre tanımlamamız gerekmektedir. Bu RADIUS şifresini de penceredeki "Shared Secret" ve "Confirm Shared Secret" alanlarına yazıyoruz. Yazmış olduğumuz şifre, doğal olarak pencerede görünmeyecektir:

"Finish"e basarak IAS sunucumuz üzerinde, RADIUS istemcimizi tanımlamış oluyoruz. "Internet Authentication Service (Local)" başlığının altında "RADIUS Clients"a tıklamak suretiyle, tanımlamış olduğumuz istemciyle beraber tüm RADIUS istemcileri görebiliriz.

Bu şekilde RADIUS istemcimiz olacak olan anahtarımızı, IAS sunucumuz üzerinde tanımlamış olduk. IEEE 802.1x uygulamasına dahil edeceğimizi tüm anahtarlarımızı bu şekilde IAS sunucusu üzerinde tanımlamamız gerekmektedir.

Bundan sonraki yazımızda; Windows 2008 Server üzerindeki bir aktif dizinde yer alan ve IEEE 802.1x uygulamasında dahil edeceğimiz kullanıcılarımız için aktif dizin ayarlarını anlatacağız.

Wednesday, May 13, 2009

IEEE 802.1x IAS Konfigürasyonu

IEEE 802.1x konfigürasyonu yukarıdaki topolojiye göre yapılmıştır:

Senaryo:

  • www.sss61.com etki alanına dahil olan kullanıcılar, PC1 ve PC2 üzerinden, IEEE 802.1x kimlik doğrulamasını kullanarak etki alanına dahil olacaklardır.
  • Aktif dizin Windows 2008 Server üzerine kurulmuştur.
  • RADIUS sunucusu olarak IAS kullanılmıştır. IAS, Windows 2003 Server üzerine kurulmuştur.
  • PC1, HP ProCurve 2848 anahtarına bağlıdı. Anahtarın işletim sistem versiyonu I.10.43'tür.
  • PC2, Cisco 3550 anahtarına bağlıdır. Anahtarın işletim sistem versiyonu 12.1(11)EA1'dir. Anahtarın üzerindeki işletim sistemi c3550-ipservicesk9-mz.122-44.SE6.bin'dir
IAS konfigürasyonu

Bu yazıda Windows 2003 Server üzerine IAS’ın nasıl kurulduğuna yer verilmemiştir. IAS’ın Windows 2003 Server üzerine kurulmuş olduğu varsayılmıştır.

“Internet Authentication Service” ekranında “Remote Access Policies” sağ tıklanarak “New Remote Access Policy” seçilir:


Bundan sonra gelen "New Remote Access Policy Wizard" ekranı gelecektir. Burdan "Next"e tıklanarak bir sonraki ekrana geçilir:

Sonraki ekranda "Use the wizard to set up a typical policy for a common scenario" seçeneği seçilir ve "Policy name"in karşısına IEEE 802.1x için kullanacağımız bu politikanın ismi yazılır. Burada politika ismi, "8021x_policy_for_wired_users" olarak seçilmiştir.


Bu ekranda da "Next"e tıkladıktan sonra gelen ekranda erişim metodu seçilir. Bu yazıda kablolu bağlantılar (Ethernet) için IEEE 802.1x kurulumunu anlattığımız için ekrandaki menüden "Ethernet" seçeneği seçilir:

"Next"e tıklanarak bir sonraki ekrana geçilir. Bu ekranda hangi etki alanı kullanıcılarının IEEE 802.1x kimlik doğrulamasına dahil olacağı seçilir. Bu örnekte, etki alanı sunucusu üzerinde daha önceden oluşturmuş olduğumuz "8021x" grubuna dahil olan kullanıcıların, IEEE 802.1x kimlik doğrulamasına dahil olmaları sağlanmıştır.

"Next"e tıklanarak kimlik doğrulama metodunu seçeceğimiz ekrana geçilir. Buradaki menüden "MD5-Challenge" seçilir.

"Next"e basarak geçeceğimiz bir sonraki ekranda da "Finish"e basarak IEEE 802.1x için kullanacağımız politikanın oluşturulması işlemi tamamlanmış olur:

Oluşturmuş olduğumuz politikaya ek bazı ayarlar yapmamız gerekiyor. Bunun için önce sunucumuzda IAS (Internet Authentication Service) penceresini açmamız gerekiyor. IAS penceresinde tanımlamış olduğumuz politikayı görebilmemiz gerekir. Bu örnekte tanımlamış olduğumuz politikanın adı "8021x_policy_for_wired_users"dır. Bu politikaya çift tıklıyoruz ve açılan pencerede "Grant remote access permission" seçeneğinin seçili olduğuna emin oluyoruz. Pencerenin üst kısmında tanımlamış olduğumuz poitikanın özelliklerini görmek mümkündür. Bu örnekteki politikaya "Ethernet" kullanıcıları ve öncden tanımlanmış olan etki alanındaki "8021x" grubu kullanıcıları dahildir.
Çıkan bu pencerede "Edit Profile"a tıklıyoruz. Bundan sonra açılacak olan pencerelerde bazı ince ayarlar yapacağız. "Edit Profile" tıkladıktan sonra karşımız altı adet sekmeden oluşan bir başka pencere çıkacaktır:

"Authentication" sekmesinde yer alan "EAP Methods"a tıklıyoruz ve gelecek olan ekrandan da "MD5-Challenge"ı seçiyoruz. Bu ayarı yapmakla kimlik doğrulama metodunda özet (hash) algoritması olarak MD5'i seçmiş oluyoruz.

"Encryiption" sekmesinde sadece "No Encryiption" seçeneğini seçiyoruz, çünkü bu konfigürasyonda herhangi bir şifreleme yapmayı düşünmüyoruz.

"Advanced" sekmesine geçtiğimiz zaman sadece "Service-Type" özelliğinin tanımlı olduğunu görürüz. Bu özellikte "Vendor = RADIUS Standard" ve "Value = Framed" olması gereklidir. Zaten ilk ayar olarak, bu özellikler pencerede görülür.

Bu özelliklere üç adet özellik daha eklememiz gerekecektir. Bunun için "Add"e basıyoruz. Açılan penceredeki özelliklerden önce "Tunnel-Medium-Type"ı seçip, "Add"e basıyoruz:

"Tunnel-Medium-Type" özelliğinin numarası 65'tir. Pencerede bu numara "Attribute Number" altında görülebilir:

Bu pencerede de "Add"e basarak bu özelliğin değerini "Attribute value" menüsünden seçiyoruz. Menüden "802 (includes all 802 media plus Ethernet canonical format)" değerini seçiyoruz. "OK"e basarak da özellikler ana menüsüne dönüyoruz:


Bundan sonra seçeceğimiz özellik "Tunnel-Type" özelliğidir. Bu özelliği ,yine özellikleri seçtiğimiz ana menüden seçiyoruz. Menüden "Tunnel-Type"ı seçip, "Add"'e basıyoruz:

"Tunnel-Type" özelliğinin numarası 64'tür:

Gelen pencerede "Add"e basıp bu özelliğin değerlerini seçiyoruz. "Attribute Value" değeri olarak bu pencerede "Virtual LANs (VLAN)" özelliğini seçiyoruz. "OK"e basarak özellikler ana menüsüne geri dönüyoruz:


"Advanced" sekmesinde görmemiz gereken üç tane özellik vardır. Bunlar: "Service-Type", "Tunnel-Medium-Type" ve "Tunnel-Type" özellikleridir. Gelen pencerede, bu özelliklerin uygun değerlerle aşağıdaki gibi görülmesi gerekmektedir:

Böylece IEEE 802.1x için gerekli olan IAS kongifürasyonunu bitirmiş olduk. Bundan sonraki yazımızda IEEE 802.1x için gerekli olan RADIUS konfigürasyonunu anlatacağız.