Değerli arkadaşlar daha önce çeşitli roller kurarak networkümüze dahil ettiğimiz Linux sunuculara bu kez her şirketin networkünde olması gereken servislerden biri olan DHCP servisini kurmak üzere bu makaleyi hazırlamış bulunuyoruz.
Şirketlerin sistemlerinde bulunan DHCP sunucular artık sadece bir scope ile çalışmıyor. Mutlaka multiscore çalışıyorlar. En azından iki farklı scope yapılandırılıyor. Bunlardan biri şirket içi local network için, diğeri ise misafir network’ü yapılandırılıyor. Bende burada sizlere 2 farklı konfigürasyondan bahsedeceğim. İlki şu şekilde olacak, bunu Config_1 olarak adlandıracağım ve sadece 1 scope barındıracak. Aşağıda diagram olarak görebilirsiniz.
İkinci şeklini ise Config_2 şeklinde adlandıracağım. Bunuda aşağıdaki şekilde diagram olarak görebilirsiniz,
Şimdi önce Linux sunucumuzun kurulumuna başlayalım. Yine her zamanki tercihim olan CentOS Linux ile yapılandırmaya başlayacağız. Şu anda CentOS’un en son sürümü 6.5 ve biz sunucumuzu bu versiyon ile gerçekleştireceğiz. CentOS’u indirmek için şu adresi kullanabilirsiniz, http://www.centos.org/modules/tinycontent/index.php?id=30
Ben Minimal olan imajı indirdim. DVD imajı ile sunucuyu boot ettikten sonra size ilk olarak aşağıdaki ekran karşılayacak. Bu ekranlar çok açık ve net olduğundan bazılarının altına açıklamalarını yazmayacağım. Devam edelim,
DVD imajı bozuk mu değil mi diye control ekranı Skip diyerek geçebilirsiniz.
Diski tamamen sıfırlayacak. Onay verelim ve “Yes, Discard Any Data” seçeneği ile devam edelim,
Sunucu ismi ve local domain ismi ile devam edeceğiz. İsterseniz değiştirebilirsiniz. Ama local domaine almayacağımız için değiştirme yedebiliriz. Tercih tamamen size kalmış. Devam edelim,
Yukarıdaki ekranda bölgesel seçenekler mevcut. Burada Istanbul üzerine mouse ile tıkladığınızda bir alttaki ekran karşınıza gelir,
Gördüğünüz gibi Istanbul üzerine zoom edildi. Devam edelim,
Root password’ünü verelim ve devam edelim.
Disk düzenlemelerinin yapıldığı ekran. Ben tüm disk alanını sunucum için kullanacağım. Benim diskim 60GB ve oldukça yeterli. Next ile devam edelim,
Şimdi diski tam anlamı ile uçuracak, Write changes to disk seçeneği ile uçuşa geçelim o halde,
Kurulum başladı,
Ve bitti.
Root kullanıcısı ile login olalım ve sunucumuzu DHCP sunucumuz haline getirelim. Sunucumuz minimal her zamanki gibi network kartı kapalı olarak geliyor. Öncelikle sunucumuza static bir ip vermemiz lazım. Bunun için network kartımızın düzenlemelerini yapacağız. vi isimli editör bize yardımcı olacaktır. Linux kurulumunda default geldiği için ilk düzenlemeyi vi ile yapacağız. Kullanımı zor olduğundan bu düzenleme sonrası nano isimli editör ile yapacağız. Aşağıdaki komutu verirseniz ilk Ethernet kartına ait dosyayı açmış olacağız.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Karşımıza şu ekran gelir. Ve dosyanın orjinal hali görülür,
Şimdi “a” harfine basarsanız dosya düzenlenebilir hale gelir. Ekranın en altındaki yazıların yerine “insert” yazısı gelir. Gerekli düzenleme aşağıdaki şekilde olmalı, sunucumun adresi 192.168.1.24 olarak görülebilir,
DEVICE=eth0
HWADDR=00:0C:29:69:12:A4
TYPE=Ethernet
UUID=f84313dc-0588-4428-a58a-e306d3378ff9
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.1.24
NETMASK=255.255.255.0
GATEWAY=192.168.1.250
Son halini aşağıda görebilirsiniz
Dosya içeriğini yukarıdaki metinde gördüğünüz gibi düzenledikten sonra bir kere “esc” tuşuna basınız. Sayfanın altındaki “insert“yazısı silinecektir. Şimdi önce “:” sonra “wq!” harflerini yazarak dosyayı kaydedip çıkabilirsiniz. İlk Ethernet kartımızın ip sini vermiş olduk. İkinci Ethernet kartımızın ’da ipsini verelim ve devam edelim.
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
Orjinal görüntü şöyle, Ben ip adresi olarak 10.0.1.25 olarak ip veriyorum.
Değiştirdikten sonraki içerik şöyle olmalı,
HWADDR=00:0C:29:69:12:AE
TYPE=Ethernet
UUID=cbee0907-2b61-4c3f-89bf-d11915a016fc
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.1.25
NETMASK=255.255.255.0
GATEWAY=10.0.1.250
Şimdi sunucuyu restart edelim ve düzenlediğimiz iplerin geçerli olmasını sağlayalım. Aslında bu iş için restart gerekmiyor.
# service network restart
Komutunu kullanarak bu işlemi gerçekleştirebilirsiniz. Sistem yeniden başladıktan sonra verdiğimiz iplerin çalışıp çalışmadığını ping atarak control edebilirsiniz.
İşimiz henüz bitmedi. Birde ortamdaki DNS server tanımlamamız lazım. Bunun için aşağıdaki komutla bir doya düzenlemesi daha yapıyoruz. Çok basit şekilde yapılıyor.
# vi /etc/resolv.conf
Dosyanın orijinal hali yukarıdaki gibi. Değiştiriyoruz ve aşağıdaki gibi düzenliyoruz. “a” harfine basarak düzenleme moduna geçelim ve şu şekil değiştirelim,
Eğer ilave DNS sunucularınız varsa alt satırlara yazarak devam edebilirsiniz. Ip düzenlemeleri tamamlandı.
!!! Önemlidir !!!
DHCP servisi çok akıllı bir servis değildir. Sadece verdiğiniz bilgiler doğrultusunda haraket eder. Çok basit çalışır ve yaptığınız konfigürasyon dışında hareket etmez. ilk Ethernet kartımız 192.168.1.xxx bloğuna ip dağıtacak, ikinci Ethernet’imiz 10.0.1.xxx ip bloğuna ip dağıtacaktır. Network konfigürasyonunu yapan teknisyen arkadaşa kart bilgilerini verirseniz size iki adet fiziksel uç verecek sizde bu uçları ilgili Ethernet kartlarına takarak client sistemlerin buradan ip almalarını sağlayacaksınız.
Sistem açıldıktan sonra gerekli paketleri yükleyeceğiz. Bunun içinde aşağıdaki komutu kullanabilirsiniz,
# yum -y install dhcp nano
Yükleme işlemi çok kısa sürecek ve işlem çabucak bitecektir. İşlem bittikten sonra DHCP sunucumuz için konfigürasyonları tamamlamamız gerekiyor. Devam edelim. Önce DHCP servisimizin system açılışında otomatik çalışır hale getirelim. Bunun için şu komutu veriyoruz,
# chkconfig dhcpd on ; service dhcpd start
Şimdi konfigürasyon dosyasını oluşturalım. Bu sayede hangi aralığı dağıtacak, hangi ip’şeri reserve ederek sabitleyecek, bunları belirtelim. Config dosyasını düzenlemek için nano isimli editörü kullanalım. Bu editörün kullanımı “vi” dan daha kolaydır. Önce config dosyasının yedeğini alalım. Yedek almak için verilecek komutumuz şudur,
# mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.org
Sonra önce /etc/sysconfig/dhcpd dosyasının içeriğini düzenleyelim, önce dosyayı açalım,
# nano /etc/sysconfig/dhcpd
Boş bir ekran gelecektir. Bu ekrana aşağıdaki metni kopyalayalım.
DHCPDARGS=”eth0 eth1″;
Görüntü şöyle olacaktır,
Daha önce bahsetmiştim 2 farklı config olacak. Bunardan ilki “config_1” ikincisi ise “config_2”.
config_1 tek Ethernet üzerinden bir blok ip dağıtacak, config_2 ise 2 farklı ethernetten 2 farklı blok ip dağıtacak. Bunun nedeni yerel network için başka, misafir network’ü için başka bloktan ip’ye ihtiyaç duyuluyor olabilir. Bunu göz önünde bulunduruyoruz. Şimdi DHCP sunucumuza ne yapması gerektiğini anlatalım. Sonrasında hangi dosyaya nereye yazılacak bilgisini veriyor olacağım.
Config_1 Tek Ethernet, Tek ip Bloğu
log-facility local7;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style ad-hoc;
ignore client-updates;
lease-file-name “/var/lib/dhcpd/dhcpd.leases”;
authoritative;
option wpad code 252 = text;
option domain-name “cozumpark.intra”;
subnet 192.168.1.0 netmask 255.255.255.0 {
option broadcast-address 192.168.1.255;
option wpad “http://192.168.1.5/wpad.txt?”;
option subnet-mask 255.255.255.0;
option routers 192.168.1.250;
option time-servers 192.168.1.24;
option domain-name-servers 192.168.1.250,8.8.8.8,4.2.2.2;
range 192.168.1.50 192.168.1.200;
}
# Static reservations
host name {
option host-name “Yasin ASIR”;
hardware ethernet 10:10:10:10:10:10;
fixed-address 192.168.1.8;
}
host name {
option host-name “3ncu kat HP LaserJet”;
hardware ethernet 10:10:10:10:10:10;
fixed-address 192.168.1.8;
}
Config_2; iki Ethernet ve iki ip bloğu
log-facility local7;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style ad-hoc;
ignore client-updates;
lease-file-name “/var/lib/dhcpd/dhcpd.leases”;
authoritative;
option wpad code 252 = text;
option domain-name “cozumpark.intra”;
## ip block 192.xxx.xxx.xxx
subnet 192.168.1.0 netmask 255.255.255.0 {
option broadcast-address 192.168.1.255;
option wpad “http://192.168.1.5/wpad.txt?”;
option subnet-mask 255.255.255.0;
option routers 192.168.1.250;
option time-servers 192.168.1.5;
option domain-name-servers 192.168.1.250,8.8.8.8;
range 192.168.1.50 192.168.1.200;
}
## ip block 10.xxx.xxx.xxx
subnet 10.0.1.0 netmask 255.255.255.0 {
option broadcast-address 10.0.1.255;
option wpad “http://10.0.1.5/wpad.txt”;
option subnet-mask 255.255.255.0;
option routers 10.0.1.250;
option time-servers 10.0.1.5;
option domain-name-servers 10.0.1.250,8.8.8.8;
range 10.0.1.50 10.0.1.200;
}
# Static reservations
host name {
option host-name “Hakan UZUNER”;
hardware ethernet 10:10:10:10:10:10;
fixed-address 192.168.1.7;
}
host name {
option host-name “HP LaserJet 1nci Kat”;
hardware ethernet 10:10:10:10:10:10;
fixed-address 10.0.1.17;
}
host name {
option host-name “Bilgehan POYRAZ”;
hardware ethernet 10:10:10:10:10:10;
fixed-address 192.168.1.31;
firmanız bünyesinde bulunan ip bloklarına göre yukarıdaki metni düzenleyerek “/etc/dhcp/dhcpd.conf” dosyası içine yapıştıracağız. Böylece DHCP sunucumuz gerekli ip aralığını dağıtmaya başlayacak.
Config dosyalarının içeriğinde düzenlemelerin bulunduğu tanım satırları ile ilgili dikkat edilmesi gereken birkaç nokta daha paylaşmam gerekecek olursa aşağıda bunlarla ilgili açıklamaları bulabilirsiniz,
“option broadcast-address” satırı broadcast satırı. Statik bir satırdır oynamanız gerekmeyecek.
“option wpad” Eğer wpad dağıtacaksanız, yani otomatik proxy dağıtımını DHCP server üzerinden yapacaksanız bu satır ile yapabilirsiniz.
“option subnet-mask” Dağıtılması gereken subnetmask
“option routers” Gateway
“option time-servers” Network time server. Windows domain olan ortamlarda DC’ler time server olduğundan kullanmanız gerekmeyebilir.
“option domain-name-servers” DNS server’larımız.
“range” dağıtılmasını istediğiniz ip aralığının bulunduğu alan.
İşte bu aşama ile kurulum ve konfigürasyonumuz tamamlanmış oluyor. Ben bu sistemi yaygın şekilde çalışmakta olduğum şirketlerde sorunsuz şekilde kullanıyorum. Sizde gönül rahatlığıyla kullanabilirsiniz. Biraz Windows ara yüzünden uzaklaşmak ve komut satırından bazı işlemler yapmak isterseniz oldukça eğlenerek DHCP kurulumunu gerçekleştirebilirsiniz.