DHCP Server

A Step-by-Step Guide to Set up a DHCP Server on Ubuntu - LinuxForDevices

Yapınızda farkli bir dhcp sunucusu olmadığına dikkat ediniz, var ise test işlemleri yaparken geçici olarak durdurabilirsiniz.

Ubuntu DHCP Server

Ön Gereksinimler

  • Ubuntu Server 18.04 LTS | 20.04 LTS
  • Makine Minimum Kaynak Gereksinimleri (1Cpu, 1GB Ram, 10GB HDD,)
  • Putty
  • Sudo yetkilerine sahip bir kullanıcı veya root kullanıcısı
  • SSH erişimi

https://manpages.ubuntu.com/manpages/focal/en/man5/dhcpd.conf.5.html?_ga=2.87774683.2139094496.1645619355-631071947.1638871459

Dhcp Kurulum

Bir terminal isteminde, dhcpd'yi kurmak için aşağıdaki komutu girin. Kurulum yapıldıktan sonra herhangi bir düzenleme yapmadığımız için servis çalışmayacaktır.

sudo apt install isc-dhcp-server -y

İhtiyaçlarınıza ve belirli konfigürasyona uyacak şekilde düzenleyerek dosyayı değiştirmemiz gerekir. Bu dosya /etc/dhcp/dhcpd.conf yolunda bulunur. En yaygın olarak, yapmak istediğiniz rastgele bir IP adresi atamaktır. İlk olarak bir editör yardımı ile dosyamızı açalım.

sudo vi /etc/dhcp/dhcpd.conf

Dosyamız açıldıktan sonra aşağıdaki bilgileri kendinize göre özelleştirip, dosyanın en altına yapıştıralım. IP dağıtılacak subneti, IP aralığını, Kira süresini, MAC address ile IP rezervasyon işlemlerini bu dosya üzerinden gerçekleştirebiliriz. 

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
 range 192.168.1.150 192.168.1.200;
 option routers 192.168.1.254;
 option domain-name-servers 192.168.1.1, 192.168.1.2;
 option domain-name "mydomain.example";
}

Dosyayı kaydedip, çıkış yapalım.

wq!

Şimdi basit olarak yaptığımız konfigürasyon dosyasını açıklayalım.

  • default-lease-time 600; | İstemci 600 saniyelik bir IP adresi kiralayacaktır. Bu değerdeki süre dahilinde kira yenilenmemiş ise DHCP istemciye max-lease-time değeri boyunce süre tanınır. Eğer yenilenmezse ne olur derseniz, kendinizi kapı önünde bulursunuz. Bu süre aslına bakarsanız oldukça kısa ve sistemde gereksiz trafik yaratabilir. Dilerseniz bu işlem için bu süredaha fazla olabilir.(Örneğin 3 veya 5 günlük gibi).
  • max-lease-time 7200; | Maksimum (izin verilen) kiralama 7200 saniye olacaktır.
  • subnet 192.168.1.0 netmask 255.255.255.0 { | Ağ maskesi olarak /24 yani 255.255.255.0 kullanılacaktır.
  •  range 192.168.1.150 192.168.1.200; | İstemcilere 192.168.1.150-192.168.1.200 aralığından bir IP adresi vermesiyle sonuçlanacaktır.
  •  option routers 192.168.1.254; | Varsayılan ağ geçidi olarak 192.168.1.254 olacaktır.
  •  option domain-name-servers 192.168.1.1, 192.168.1.2; |  İstemciler DNS sunucuları olarak 192.168.1.1 ve 192.168.1.2'yi kullanacaktır.
  •  option domain-name "mydomain.example"; | Etki alan adınızı giriniz. 

Şimdi ise /etc/default/isc-dhcp-server dosyasına giderek dhcpd'nin dinlemesi gereken arayüzleri belirtmek için düzenleme yapmamız gerekir. Bunun için öncelikle ethernet adımızı öğrenelim.

ip a

İlgili dosyamızı editör yardımı ile açalım.

sudo vi /etc/default/isc-dhcp-server 

Görseldeki gibi ethernet adımı yazıyorum.

INTERFACESv4="eth4"

Yapılandırma dosyalarını değiştirdikten sonra dhcpd hizmetini boot sonrası otomatik olarak açılacak şekilde ayarlayalım ve yeniden başlatalım.

sudo systemctl enable isc-dhcp-server.service
sudo systemctl restart isc-dhcp-server.service

Şimdi servisimizin durumuna bakalım.

Şimdi bir istemciden talep geldiğinde ip alıp almadığını test edelim. İlk olarak bir linux dağıtımında ip yenileme işlemi gerçekleştiriyorum. İlk olarak interface adını öğrenelim.

ip a

eth0 olarak gözükmektedir. Şimdi bu interface bilgilerini girerek, kapatıp tekrar açalım.

sudo ifconfig eth0 down && sudo ifconfig eth0 up

Artık dhcp sunucumuzdan ip aldığını rahatlıkla görebiliyoruz.

Şimdi bir windows makina üzerinden ip yenileme işlemi gerçekleştirelim. Komut satırını yönetici olarak çalıştıralım ve aşağıdaki komutları çalıştıralım. 

ipconfig /release
ipconfig /renew

Son olarak sunucu üzerinden ip alan cihazları görelim.

dhcp-lease-list

Diğer bir yöntemde kiralama dosyasına bakabilirsiniz.

Centos DHCP Server

Ön Gereksinimler

  • Centos Server 7
  • Makine Minimum Kaynak Gereksinimleri (1Cpu, 1GB Ram, 10GB HDD,)
  • Putty
  • Sudo yetkilerine sahip bir kullanıcı veya root kullanıcısı
  • SSH erişimi

Dhcp Kurulum

Bir terminal isteminde, dhcpd'yi kurmak için aşağıdaki komutu girin. Kurulum yapıldıktan sonra herhangi bir düzenleme yapmadığımız için servis çalışmayacaktır.

sudo yum install dhcp -y

İhtiyaçlarınıza ve belirli konfigürasyona uyacak şekilde düzenleyerek dosyayı değiştirmemiz gerekir. Bu dosya /etc/dhcp/dhcpd.conf yolunda bulunur. En yaygın olarak, yapmak istediğiniz rastgele bir IP adresi atamaktır. İlk olarak bir editör yardımı ile dosyamızı açalım.

sudo vi /etc/dhcp/dhcpd.conf

Dosyamız açıldıktan sonra aşağıdaki bilgileri kendinize göre özelleştirip, dosyanın en altına yapıştıralım. IP dağıtılacak subneti, IP aralığını, Kira süresini, MAC address ile IP rezervasyon işlemlerini bu dosya üzerinden gerçekleştirebiliriz. 

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
 range 192.168.1.150 192.168.1.200;
 option routers 192.168.1.254;
 option domain-name-servers 192.168.1.1, 192.168.1.2;
 option domain-name "mydomain.example";
}

Dosyayı kaydedip, çıkış yapalım.

wq!

Şimdi basit olarak yaptığımız konfigürasyon dosyasını açıklayalım.

  • default-lease-time 600; | İstemci 600 saniyelik bir IP adresi kiralayacaktır. Bu değerdeki süre dahilinde kira yenilenmemiş ise DHCP istemciye max-lease-time değeri boyunce süre tanınır. Eğer yenilenmezse ne olur derseniz, kendinizi kapı önünde bulursunuz. Bu süre aslına bakarsanız oldukça kısa ve sistemde gereksiz trafik yaratabilir. Dilerseniz bu işlem için bu süredaha fazla olabilir.(Örneğin 3 veya 5 günlük gibi).
  • max-lease-time 7200; | Maksimum (izin verilen) kiralama 7200 saniye olacaktır.
  • subnet 192.168.1.0 netmask 255.255.255.0 { | Ağ maskesi olarak /24 yani 255.255.255.0 kullanılacaktır.
  •  range 192.168.1.150 192.168.1.200; | İstemcilere 192.168.1.150-192.168.1.200 aralığından bir IP adresi vermesiyle sonuçlanacaktır.
  •  option routers 192.168.1.254; | Varsayılan ağ geçidi olarak 192.168.1.254 olacaktır.
  •  option domain-name-servers 192.168.1.1, 192.168.1.2; |  İstemciler DNS sunucuları olarak 192.168.1.1 ve 192.168.1.2'yi kullanacaktır.
  •  option domain-name "mydomain.example"; | Etki alan adınızı giriniz.

Yapılandırma dosyalarını değiştirdikten sonra dhcpd hizmetini boot sonrası otomatik olarak açılacak şekilde ayarlayalım ve servisi başlatalım.

sudo systemctl enable dhcpd.service
sudo systemctl start dhcpd.service

Şimdi bir istemciden talep geldiğinde ip alıp almadığını test edelim. İlk olarak bir linux dağıtımında ip yenileme işlemi gerçekleştiriyorum. İlk olarak interface adını öğrenelim.

ip a

eth0 olarak gözükmektedir. Şimdi bu interface bilgilerini girerek, kapatıp tekrar açalım.

sudo ifconfig eth0 down && sudo ifconfig eth0 up

Artık dhcp sunucumuzdan ip aldığını rahatlıkla görebiliyoruz. Şimdi bir windows makina üzerinden ip yenileme işlemi gerçekleştirelim. Komut satırını yönetici olarak çalıştıralım ve aşağıdaki komutları çalıştıralım. 

ipconfig /release
ipconfig /renew

Son olarak sunucu üzerinden ip alan cihazları görelim.

dhcp-lease-list

Diğer bir yöntemde kiralama dosyasına bakabilirsiniz.

Blog'a Dön