Tartalomjegyzék

< DHCP szerver

Isc-dhcp-server szerver

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
/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.

/etc/dhcp/dhcpd.conf
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:

/etc/default/isc-dhcp-server
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:

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:

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