Ubuntu Desktop ile DHCP Cluster Yapısı Oluşturmak

Kutluhan Azaflı
3 min readFeb 18, 2022

--

Ubuntu işletim sistemi terminali
Photo by Gabriel Heinzer on Unsplash

Öncelikle Cluster mimarisi ya da bir diğer adıyla Cluster yapısından bahsetmek gerekirse, beraber iki ya da ikiden fazla sunucunun aynı amaç için çalışması olarak özetlenebilir.

Yaygın iki tip Cluster yapısı vardır: Biri HA Cluster (High Availability), diğeri ise LB Cluster (Load Balancing)’dır.

HA-Cluster’ların asıl amacı yüksek erişilebilirliği sağlamak yani bir sunucumuzdaki yazılımsal ya da donanımsal hata olduğunda yedek sunucumuz tarafından işin yürütülmeye devam edilmesi iken, LB-Cluster’ların ise amacı yüksek trafik altında çalışan servislerin dengelenmesi ve performans artışı sağlamaktır. Projeye bağlı olarak bu iki tipin bir arada çalıştığı mimariler de görmek mümkündür.

Şimdi Cluster yapısının ne olduğuna dair az çok fikrimiz olduğuna göre yapımızı oluşturmaya başlayabiliriz. Bunun için bize iki tane server olarak kullanacağımız Ubuntu Desktop ve bir tane client olarak kullanacağımız Ubuntu Desktop gerekmektedir.

1. DHCP Sunucusunu Kurmak

Aşağıdaki komut ile DHCP sunucusunu iki sunucu görevi görecek Ubuntu bilgisayarımıza da kuruyoruz.

sudo apt install isc-dhcp-server

2. DHCP Sunucusunun Konfigürasyonunu Yapmak

DHCP sunucumuzun konfigürasyon dosyası aşağıdaki dosyada bulunmaktadır.

/etc/dhcp/dhcpd.conf

Bu dosyayı nano editörümüz ile açıyoruz.

sudo nano /etc/dhcp/dhcpd.conf

Daha sonra ilk sunucumuza aşağıdaki konfigürasyonu giriyoruz.

authoritative;
ddns-update-style none;

failover peer "dhcp-failover" {
primary; # primary server yapmak için deklarasyon
address 192.168.1.2;
port 647;
peer address 192.168.1.3;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
mclt 1800;
split 128;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1;
pool {
failover peer "dhcp-failover";
max-lease-time 1800; # 30 dakika
range 192.168.1.100 192.168.1.254;
}
}

İkinci sunucumuza ise aşağıdaki konfigürasyonu giriyoruz:

authoritative;
ddns-update-style none;

failover peer "dhcp-failover" {
secondary; # secondary server yapmak için deklarasyon
address 192.168.1.3;
port 647;
peer address 192.168.1.2;
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option domain-name-servers 192.168.200.1;
pool {
failover peer "dhcp-failover";
max-lease-time 1800; # 30 dakika
range 192.168.1.100 192.168.1.254;
}
}

Bu konfigürasyonlardaki kısımları kısaca anlatmak gerekirse eğer:

failover peer birincil ve ikincil cihazlarımızı tanımlamakta.

pool kısmı ise DHCP havuzumuzu tanımlamakta.

split kısmı eğer 256 olursa load balancing yapma demektir. Sadece primary serverımız inaktif olduğunda secondary serverımız çalışacaktır. 128 olduğunda 50/50 load balancing anlamına gelmektedir. 256'da olduğu gibi secondary server primary serverın inaktif olmasını beklemez ve her zaman aktif durumdadır. Bu da yazımızın başında dediğimiz hem MA hem de LB cluster yapısını aynı anda kullanmamıza yarar.

İki sunucumuzun konfigürasyonu arasında fark etmemiz gereken asıl fark mclt ve split deklarasyonlarının kaldırılmış olması, local ve peer adreslerin ise tam ters şekilde yazılmasıdır.

3. DHCP Server’ı Yeniden Başlatmak

Konfigürasyonların etkinleştirilmesi için DHCP sunucusunu yeniden başlatmalıyız. Bunun için aşağıdaki komutu kullanıyoruz.

sudo systemctl restart isc-dhcp-server.service

4. DHCP Sunucusunun Durumunu Kontrol Etmek

Yine systemctl komutu ile sunucumuzun durumunu kontrol edebiliriz.

sudo systemctl status isc-dhcp-server.service

5. Sunuculara Statik IP Vermek

Bunu direkt ağ ayarları kısmından kolayca yapabiliriz, burada dikkat etmemiz gereken şey yukarıdaki konfigürasyon dosyasında belirttiğimiz IP’ler ile aynı IP’leri vermemiz gerektiğidir.

6. Clientimizin Kurulumunu Yapmak

Bu adamı tamamen akışın düzgün olması adına koydum. Burada bilgisayarımızın içinde özel olarak yapmamız gereken herhangi bir ayar bulunmamaktadır. Çünkü Ubuntu Desktop bilgisayarımız varsayılan olarak DHCP üzerinden IP almaya ayarlıdır.

7. VMware’de Sunucuları ve Bilgisayarları Aynı Ağa Bağlamak

Eğer yukarıdaki yapıyı benim gibi VMware üzerinden yaptıysanız bu bilgisayarları aynı ağ üzerinde birbirleri ile konuşturmamız gerekmekte. Ben bu yapıyı kullanırken VMware Workstation kullandım. VMware Workstationda her bir sunucuya sağ tıklayıp özelliklere girerek aşağıdaki fotoğraf gibi hepsini aynı adaptöre ayarlamız gerekmektedir. Ben yapımı kurarken VMnet2 adaptörünü seçtim.

--

--

Kutluhan Azaflı

Network ve Siber Güvenlik ile ilgilenen Bilgisayar Mühendisliği öğrencisi. Aynı zamanda bir film aşığı.