< DHCP szerver

Isc-dhcp-server szerver

Szerző: Sallai András

Copyright © Sallai András, 2011, 2012, 2015, 2017, 2018, 2020

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

Bevezetés

A DHCP a Dynamic Host Configuration Protocol rövidítése. Dinamikus állomáskonfiguráló protokoll néven fordítható.

A DHCP szerver IP címeket, és hozzátartozó adatokat szolgáltat más számítógépek számára. Az IP címhez tartozó adatok lehetnek a tartománynév, az elérhető DNS szerverek, az alapértelmezett átjáró stb.

Beállítások

IP cím

Elsőnként állítsuk be a szerver IP címét. Tegyük fel, hogy a hálózati kártya ahol IP címeket szeretnénk osztani, az enp1s0.

nano /etc/network/interfaces

auto lo iface lo inet loopback allow-hotplug enp1s0 iface enp0s3 inet static address 192.168.10.1 netmask 255.255.255.0

Állítsuk be az IP címet.

ifdown enp0s3
ifup enp0s3

Telepítés

apt install isc-dhcp-server

Telepítés után, a program nem indul el, hibát jelez. Végezzük el a beállításokat.

Alap

Telepítés után létrejön a /etc/dhcp/dhcpd.conf állomány. Itt felvehetünk alhálózatokat, amelyek részére szeretnénk IP címet szolgáltatni.

option domain-name "zold.lan"; option domain-name-servers 192.168.10.1, 8.8.8.8; default-lease-time 600; max-lease-time 7200; subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.101 192.168.10.254; option routers 192.168.10.1; }

A /etc/default/isc-dhcp-server fájlban állítsuk be a hálózatikártyát:

INTERFACESv4="enp0s3"

Tesztelés

dhcpd -t

Újraindítás

Indítsuk újra a DHCP szervert:

systemctl start isc-dhcp-server

Hardvercímhez kötés

Gyakran szeretnénk az IP címeket gépekhez rendelni. A számítógép hálózati kártyájának hardvercímét kiderítve megtehetjük:

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.199;
[...]
}
host gep1 {
hardware ethernet 00:c0:c3:45:bc:44;
fixed-address 192.168.10.2;
}
host gep2 {
hardware ethernet a2:g0:e3:22:ac:42;
fixed-address 192.168.10.3;
}

Csoportok képzése

A fizikailag vagy logikailag egy helyre tartozó gépek számára csoportokat szokás képezni:

group {
host gep1 {
hardware ethernet 00:c0:c3:45:bc:44;
fixed-address 192.168.10.2;
}
host gep2 {
hardware ethernet a2:g0:e3:22:ac:42;
fixed-address 192.168.10.3;
}
}

Hálózatról induló gépek IP címkiosztása

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.254;
option routers 192.168.10.1;
option domain-name "zold.and";
option domain-name-servers 192.168.10.2;
range dynamic-bootp 192.168.20.100 192.168.20.254;
}
include "/etc/dhcp/gepek.txt";

A fix IP címmel rendelkező gépeket tegyük a gepek.txt fájlba.

host gep01{
hardware ethernet 00:23:8B:2A:B7:23;
fixed-address 192.168.30.11;
}

Teszt

Az alapértelmezett konfigurációs fájlok tesztelése:

dhcpd -t

Ha nem az alapértelmezett útvonalon szeretnénk fájlokat tesztelni, használjuk a -cf kapcsolópárost:

dhcpd -t -cf /útvonal/dhcpd.conf

A kapcsolók:

-t tesztelés

-cf konfigurációs fájl (config file) útvonala

DHCP tűzfalon

A tűzfalon a 67-s UDP portot kell engedélyezni.

port	67
protokoll	UDP

Segítség

man dhcpd.conf

Monitorozás

Kérdezzük le, milyen gépek bérelnek IP címet jelenleg, rendszergazdaként:

dhcp-lease-list

Kérdezzük le minden IP cím bérlést:

dhcp-lease-list --all

Az arp parancsot is használahatjuk:

arp -a

Megnézhetjük dhcpd.leases állományt is:

cat /var/lib/dhcp/dhcpd.leases

Lásd még

Csomagok:

dnsmasq

kea-dhcp4-server

kea-admin

udhcpd

Tesztelés kliens oldalon

dhcpcd-gtk

A dhcpcd-gtk egy GUI kliens. Indulás után dokkolva jelenik meg a tálcán, ami két monitornak néz, ki, az egyik a másik előtt.

Használatához nem lehet bejegyzés a /etc/network/interfaces állományban.

Telepítés:

apt install dhcpcd-gtk

A háttérben felkerül a dhcpcd5 csomag is, ami által futni fog egy dhcpcd nevű szolgáltatás:

systemctl status dhcpcd

A grafikus program, csak arra jó, hogy megtekintsük mi van beállítva.

nmap

Az nmap parancs használható a DHCP szerver tesztelésére:

nmap --script broadcast-dhcp-discover

vagy:

nmap --script broadcast-dhcp-discover -e enp0s3

Az nmap küld egy DHCP kérést, amire a választ vár.

Válasz esetén, a kimenet például:

# nmap --script broadcast-dhcp-discover
Starting Nmap 7.70 ( https://nmap.org ) at 2020-04-19 01:17 CEST
Pre-scan script results:
| broadcast-dhcp-discover:
| Response 1 of 1:
| IP Offered: 192.168.5.103
| DHCP Message Type: DHCPOFFER
| Server Identifier: 192.168.5.1
| IP Address Lease Time: 2h00m00s
| Subnet Mask: 255.255.255.0
| Router: 192.168.5.1
|_ Domain Name Server: 192.168.5.1
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 0.58 seconds

Látszik, hogy egy 192.168.5.103 IP címet kínál fel a DHCP szervert.

IP Offered: 192.168.5.103

dhcpdump

A dhcpdump figyeli a dhcp kéréséket, de a program maga nem végez ilyen kérést.

Telepítés:

apt install dhcpdump

dhcpdump -i enp0s3

Használható a nmap paranccsal:

nmap --script broadcast-dhcp-discover

A dhcpdump elég bőbeszédűen leírja történteket.

A dhcpdump csomag mellett függőségként felkerül a tcpdump parancs is.

tcpdump

Telepítés:

apt install tcpdump

Használat:

tcpdump -i enp1s0 -nev udp port 68

dhcpcd5

A dhcpcd5 egy csomag név, amely által felkerül a dhcpcd démon. De ezzel a paranccsal tesztelhetünk is:

dhcpcd -T enp0s3

dhcping

Telepítés:

apt install dhcping

Használat:

dhcping -r -t 60 \
-c 192.168.5.200 \
-s 192.168.5.1 \
-h 35:35:35:34:34:34

A dhcping egy DHCP kérést végez, és a szerver oldalon ellenőrizhetjük a történteket.

Bőbeszédű üzemmódban:

dhcping -V -r -t 60 \
-c 192.168.5.200 \
-s 192.168.5.1 \
-h 35:35:35:34:34:34

Forrás

https://wiki.debian.org/DHCP_Server (2018)