Instalacja i konfiguracja serwera DHCP

(przykład)

 

1. Instalacja pakietu

 

# yum install dhcp

 

 

2. Należy utworzyć plik konfiguracyjny dhcpd.conf (przykładowa zawartość pliku)

 

# cat /etc/dhcp/dhcpd.conf

 

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.example

#   see dhcpd.conf(5) man page

#

authoritative;

ddns-update-style none;

#default-lease-time 3600;

max-lease-time 7200;

#deny unknown-clients;

#ignore unknown-clients;

subnet 192.168.7.0 netmask 255.255.255.0

{

range 192.168.7.25 192.168.7.51;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.7.255;

option routers 192.168.7.1;

option domain-name "twoja.domena.pl";

option domain-name-servers 8.8.8.8,194.204.159.1,194.204.152.34;

option netbios-name-servers 192.168.7.1;

option netbios-node-type 8;

option dhcp-lease-time 300;

 

host klient1

 {

 hardware ethernet 08:00:34:17:01:08;

 fixed-address 192.168.7.52;

 option host-name "Komputer1";

 }

host klient2

 {

 hardware ethernet 08:00:34:17:01:10;

 fixed-address 192.168.7.53;

 option host-name "Komputer2";

 }

}

 

 

3. Uruchomienie serwera

 

# systemctl start dhcpd

# systemctl status dhcpd

 

dhcpd.service - DHCPv4 Server Daemon

Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)

Active: active (running) since śro 2018-01-03 18:22:46 CET; 1s ago

Docs: man:dhcpd(8)

man:dhcpd.conf(5)

Main PID: 3645 (dhcpd)

Status: "Dispatching packets..."

CGroup: /system.slice/dhcpd.service

└─3645 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid

 

sty 03 18:22:46 CENTOS7_1 dhcpd[3645]: Listening on LPF/enp0s8/08:00:34:17:01:07/192.168.7.0/24

sty 03 18:22:46 CENTOS7_1 dhcpd[3645]: Sending on LPF/enp0s8/08:00:34:17:01:07/192.168.7.0/24

(…)

 

 

4.  Sprawdzenie logów serwera (poprawy przydział adresu IP dla klienta)

 

# cat /var/log/messages | grep dhcpd

(…)

Jan  3 18:22:46 CENTOS7_1 dhcpd: Sending on   Socket/fallback/fallback-net

Jan  3 18:24:54 CENTOS7_1 dhcpd: DHCPDISCOVER from 08:00:34:17:01:07 via enp0s8

Jan  3 18:24:55 CENTOS7_1 dhcpd: DHCPOFFER on 192.168.7.25 to 08:00:34:17:01:07 (CENTOS7_2) via enp0s8

Jan  3 18:24:55 CENTOS7_1 dhcpd: DHCPREQUEST for 192.168.7.25 (192.168.7.1) from 08:00:34:17:01:07 (CENTOS7_2) via enp0s8

Jan  3 18:24:55 CENTOS7_1 dhcpd: DHCPACK on 192.168.7.25 to 08:00:34:17:01:07 (CENTOS7_2) via enp0s8

(…)

 

W przedstawionym przykładzie konfiguracyjnym przydział adresu dla klienta nastąpił z tzw. puli range 192.168.7.25 192.168.7.51;

Jeżeli zostanie uruchomiona dyrektywa deny unknown-clients; lub  ignore unknown-clients; w tym przypadku pula range nie będzie brana pod uwagę.

 

 

5. Przydział adresu IP dla klienta powinien utworzyć również wpis w pliku

 

# cat /var/lib/dhcpd/dhcpd.leases

 

# The format of this file is documented in the dhcpd.leases(5) manual page.

# This lease file was written by isc-dhcp-4.2.5

 

server-duid "\000\001\000\001!\322~\313\010\0004\027\001\007";

 

lease 192.168.7.25 {

  starts 3 2018/01/03 17:24:55;

  ends 3 2018/01/03 19:24:55;

  cltt 3 2018/01/03 17:24:55;

  binding state active;

  next binding state free;

  rewind binding state free;

  hardware ethernet 08:00:34:17:01:07;

  client-hostname "CENTOS7_2";

}

 

 

6. Stan konfiguracji interfejsu na komputerze klienta z systemem operacyjnym Linux

 

# nmcli device show enp0s8

GENERAL.URZĄDZENIE:                     enp0s8

GENERAL.TYP:                            ethernet

GENERAL.ADRES-SPRZĘTOWY:                08:00:34:17:01:07

GENERAL.MTU:                            1500

GENERAL.STAN:                           100 (połączono)

GENERAL.POŁĄCZENIE:                     enp0s8

GENERAL.ŚCIEŻKA-POŁĄCZENIA:             /org/freedesktop/NetworkManager/ActiveConnection/6

WIRED-PROPERTIES.OPERATOR:              włączone

IP4.ADRES[1]:                           192.168.7.25/24

IP4.BRAMA:                              192.168.7.1

IP4.DNS[1]:                             8.8.8.8

IP4.DNS[2]:                             194.204.159.1

IP4.DNS[3]:                             194.204.152.34

IP4.DOMENA[1]:                          twoja.domena.pl

IP6.ADRES[1]:                           fe80::3132:4f85:587d:1aab/64

IP6.BRAMA:                              –

 

 

7. Odnowienie adresu IP na komputerze klienta

 

# dhclient -v -r enp0s8

Internet Systems Consortium DHCP Client 4.2.5

Copyright 2004-2013 Internet Systems Consortium.

All rights reserved.

For info, please visit https://www.isc.org/software/dhcp/

 

Listening on LPF/enp0s8/08:00:34:17:01:07

Sending on   LPF/enp0s8/08:00:34:17:01:07

Sending on   Socket/fallback

 

 

8. Samo odnowienie adresu IP przez klienta, na serwerze DHCP jest zapisywane w postaci wpisu

 

# cat /var/log/messages | grep dhcpd

(…)

Jan  3 19:21:27 CENTOS7_1 dhcpd: DHCPREQUEST for 192.168.7.25 from 08:00:34:17:01:07 (CENTOS7_2) via enp0s8

Jan  3 19:21:27 CENTOS7_1 dhcpd: DHCPACK on 192.168.7.25 to 08:00:34:17:01:07 (CENTOS7_2) via enp0s8

(…)

 

 

9. Nieznany klient

 

Jeśli w pliku konfiguracyjnym dhcpd.conf jest uruchomiona dyrektywa deny unknown-clients; adresy z puli range nie będą przydzielane. Ponadto dodatkowo w pliku /var/log/messages serwer zapisuje wszystkie żądanie nieznanych klientów tzw. unknown client. Przydział adresów IP jest realizowany tylko na podstawie zdefiniowanych wpisów statycznych.

 

# cat /var/log/messages | grep dhcp | grep "unknown client"

(…)

Jan  8 19:29:19 CENTOS7_1 dhcpd: DHCPREQUEST for 192.168.7.25 from 08:00:34:17:01:07 via enp0s8: unknown client

Jan  8 19:29:25 CENTOS7_1 dhcpd: DHCPREQUEST for 192.168.7.25 from 08:00:34:17:01:07 via enp0s8: unknown client

Jan  8 19:29:32 CENTOS7_1 dhcpd: DHCPDISCOVER from 08:00:34:17:01:07 via enp0s8: unknown client

Jan  8 19:29:38 CENTOS7_1 dhcpd: DHCPDISCOVER from 08:00:34:17:01:07 via enp0s8: unknown client

Jan  8 19:29:48 CENTOS7_1 dhcpd: DHCPDISCOVER from 08:00:34:17:01:07 via enp0s8: unknown client

Jan  8 19:29:59 CENTOS7_1 dhcpd: DHCPDISCOVER from 08:00:34:17:01:07 via enp0s8: unknown client

(…)

 

Przy czym adres:  08:00:34:17:01:07 jest adresem MAC nieznanego klienta, natomiast adres  192.168.7.25 jest adresem IP o którego przydział klient prosi.

W przypadku uruchomienia dyrektywy ignore unknown-clients; wpisy dotyczące nieznanych klientów nie będą zapisywane.

 

09.01.2018r.