Sådan installeres en DHCP-server i CentOS, RHEL og Fedora


DHCP (Dynamic Host Configuration Protocol) er en netværksprotokol, der gør det muligt for en server automatisk at tildele en IP-adresse og levere andre relaterede netværkskonfigurationsparametre til en klient på et netværk fra en foruddefineret IP-pool.

Det betyder, at hver gang en klient (forbundet til netværket) starter op, får den en "dynamisk" IP-adresse i modsætning til "statisk" IP-adresse, der aldrig ændres. IP-adressen tildelt af en DHCP-server til DHCP-klienten er på en "leasing", leasingtiden kan variere afhængigt af hvor længe en klient sandsynligvis vil kræve forbindelse eller DHCP-konfiguration.

I denne vejledning vil vi dække, hvordan man installerer og konfigurerer en DHCP-server i CentOS/RHEL- og Fedora-distributioner.

Vi vil bruge følgende testmiljø til denne opsætning.

DHCP Server - CentOS 7 
DHCP Clients - Fedora 25 and Ubuntu 16.04

Før vi går videre, skal vi kort forklare, hvordan DHCP fungerer:

  • Når en klientcomputer (konfigureret til at bruge DHCP) og tilsluttet et netværk er tændt, videresender den en DHCPDISCOVER-meddelelse til DHCP-serveren.
  • Og efter at DHCP-serveren modtager DHCPDISCOVER-anmodningsmeddelelsen, svarer den med en DHCPOFFER-meddelelse.
  • Derefter modtager klienten DHCPOFFER-meddelelsen, og den sender en DHCPREQUEST-besked til serveren, der angiver, at den er parat til at få den netværkskonfiguration, der tilbydes i DHCPOFFER-meddelelsen.
  • Sidst men ikke mindst modtager DHCP-serveren DHCPREQUEST-meddelelsen fra klienten og sender DHCPACK-meddelelsen, der viser, at klienten nu har tilladelse til at bruge den tildelte IP-adresse.

Trin 1: Installation af DHCP-server i CentOS

1. Installation af DCHP er ret ligetil, kør blot kommandoen nedenfor.

# yum -y install dhcp

Vigtigt: Hvis vi antager, at der er knyttet mere end en netværksgrænseflade til systemet, men du vil have, at DHCP-serveren kun skal startes på en af grænsefladerne, skal du indstille DHCP-serveren til kun at starte på denne grænseflade som følger.

2. Åbn filen/etc/sysconfig/dhcpd, tilføj navnet på den specifikke grænseflade til listen over DHCPDARGS, for eksempel hvis grænsefladen er eth0 , og tilføj derefter:

DHCPDARGS=eth0

Gem filen, og afslut.

Trin 2: Konfiguration af DHCP-server i CentOS

3. For at starte med at konfigurere en DHCP-server er det første trin at oprette dhcpd.conf -konfigurationsfilen, og den primære DHCP-konfigurationsfil er normalt /etc/dhcp/dhcpd.conf (som er tom som standard), holder den alle netværksoplysninger sendt til klienter.

Der er dog en eksempelkonfigurationsfil /usr/share/doc/dhcp*/dhcpd.conf.sample, hvilket er et godt udgangspunkt for konfiguration af en DHCP-server.

Og der er to typer udsagn defineret i DHCP-konfigurationsfilen, disse er:

  • parametre - angiv, hvordan en opgave skal udføres, om en opgave skal udføres, eller hvilke netværkskonfigurationsmuligheder der skal sendes til DHCP-klienten.
  • erklæringer - angiv netværkstopologien, definer klienterne, tilbud adresser til klienterne, eller anvend en gruppe parametre til en gruppe af erklæringer.

Start derfor med at kopiere eksempelkonfigurationsfilen som hovedkonfigurationsfilen sådan:

# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

4. Åbn nu hovedkonfigurationsfilen, og definer dine DHCP-serverindstillinger:

# vi /etc/dhcp/dhcpd.conf 

Start med at indstille følgende globale parametre, der gælder for alle undernetværk (angiv værdier, der gælder for dit scenario) øverst i filen:

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

5. Definer nu et subnetværk; i dette eksempel konfigurerer vi DHCP til 192.168.56.0/24 LAN-netværk (husk at bruge parametre, der gælder for dit scenario):

subnet 192.168.56.0 netmask 255.255.255.0 {
        option routers                  192.168.56.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.56.1;
        range   192.168.56.10   192.168.56.100;
        range   192.168.56.120  192.168.56.200;
}

Trin 3: Tildel statisk IP til DHCP-klienten

Du kan tildele en statisk IP-adresse til en bestemt klientcomputer på netværket. Du skal blot definere afsnittet nedenfor i /etc/dhcp/dhcpd.conf-filen, hvor du eksplicit skal angive dets MAC-adresser og den faste IP, der skal tildeles:

host ubuntu-node {
	 hardware  ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.56.105;
 }

host fedora-node {
	 hardware  ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.56.110;
 }

Gem filen, og luk den.

Bemærk: Du kan finde ud af eller vise Linux MAC-adressen ved hjælp af følgende kommando.

# ifconfig -a eth0 | grep HWaddr

6. Start nu DHCP-tjenesten i mellemtiden, og lad den starte automatisk fra næste systemstart ved hjælp af følgende kommandoer:

---------- On CentOS/RHEL 7 ---------- 
# systemctl start dhcpd
# systemctl enable dhcpd

---------- On CentOS/RHEL 6 ----------
# service dhcpd start
# chkconfig dhcpd on

7. Glem ikke at tillade DHCP-service (DHCPD-dæmon lytter på port 67/UDP) som nedenfor:

---------- On CentOS/RHEL 7 ----------
# firewall-cmd --add-service=dhcp --permanent 
# firewall-cmd --reload 

---------- On CentOS/RHEL 6 ----------
# iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT
# service iptables save

Trin 4: Konfiguration af DHCP-klienter

8. Nu kan du konfigurere dine klienter på netværket til automatisk at modtage IP-adresser fra DHCP-serveren. Log ind på klientmaskinen, og rediger konfigurationsfilen til Ethernet-interfacet som følger (tag ikke navnet på/interfacets interface):

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Tilføj nedenstående muligheder:

DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

Gem filen, og afslut.

9. Du kan også udføre indstillingerne ved hjælp af GUI på en stationær computer, indstille metoden til Automatisk (DHCP) som vist på skærmbilledet nedenfor (Ubuntu 16.04-skrivebordet).

10. Genstart derefter netværkstjenester som følger (du kan muligvis genstarte systemet):

---------- On CentOS/RHEL 7 ----------
# systemctl restart network

---------- On CentOS/RHEL 6 ----------
# service network restart

På dette tidspunkt, hvis alle indstillinger var korrekte, skulle dine klienter automatisk modtage IP-adresser fra DHCP-serveren.

Du kan også læse:

  1. Sådan installeres og konfigureres Multihomed ISC DHCP-server på Debian Linux
  2. 10 Nyttige “IP” -kommandoer til konfiguration af netværksgrænseflader

I denne vejledning viste vi dig, hvordan du opsætter en DHCP-server i RHEL/CentOS. Brug kommentarformularen nedenfor til at skrive tilbage os. I en kommende artikel vil vi vise dig, hvordan du opsætter en DHCP-server i Debian/Ubuntu. Indtil da skal du altid være forbundet til TecMint.