Zoeken op website

Hoe een DHCP-server te installeren in CentOS, RHEL en Fedora


DHCP (Dynamic Host Configuration Protocol) is een netwerkprotocol waarmee een server automatisch een IP-adres kan toewijzen en andere gerelateerde netwerkconfiguratieparameters kan leveren aan een client op een netwerk, van een vooraf gedefinieerde IP-pool.

Dit betekent dat elke keer dat een client (verbonden met het netwerk) opstart, deze een ‘dynamisch’ IP-adres krijgt, in tegenstelling tot een ‘statisch’ IP-adres dat nooit verandert. Het IP-adres dat door een DHCP-server aan de DHCP-client is toegewezen, is 'lease'. De leasetijd kan variëren, afhankelijk van hoe lang een client waarschijnlijk de verbinding of DHCP-configuratie nodig heeft.

In deze tutorial bespreken we hoe je een DHCP-server installeert en configureert in CentOS/RHEL- en Fedora-distributies.

Testomgeving instellen

Voor deze opstelling gaan we de volgende testomgeving gebruiken.

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

Hoe werkt DHCP?

Voordat we verder gaan, leggen we kort uit hoe DHCP werkt:

  • Wanneer een clientcomputer (geconfigureerd om DHCP te gebruiken) en verbonden met een netwerk wordt ingeschakeld, stuurt deze een DHCPDISCOVER-bericht door naar de DHCP-server.
  • En nadat de DHCP-server het DHCPDISCOVER verzoekbericht heeft ontvangen, antwoordt deze met een DHCPOFFER bericht.
  • Vervolgens ontvangt de client het DHCPOFFER bericht en stuurt een DHCPOFFER bericht naar de server, waarin wordt aangegeven dat hij bereid is de netwerkconfiguratie te ontvangen die wordt aangeboden in de DHCPOFFER sterke> boodschap.
  • Last but not least ontvangt de DHCP-server het DHCPREQUEST bericht van de client en verzendt het DHCPACK bericht waaruit blijkt dat de client nu toestemming heeft om het toegewezen IP-adres te gebruiken .

Stap 1: DHCP-server installeren in CentOS

1. Het installeren van DCHP is vrij eenvoudig. Voer eenvoudigweg de onderstaande opdracht uit.

yum -y install dhcp

Belangrijk: ervan uitgaande dat er meer dan één netwerkinterface op het systeem is aangesloten, maar u wilt dat de DHCP-server slechts op één van de interfaces wordt gestart, stelt u de DHCP-server in om alleen op die interface als volgt te beginnen.

2. Open het bestand /etc/sysconfig/dhcpd, voeg de naam van de specifieke interface toe aan de lijst met DHCPDARGS, bijvoorbeeld als de interface is eth0, en voeg dan toe:

DHCPDARGS=eth0

Sla het bestand op en sluit af.

Stap 2: DHCP-server configureren in CentOS

3. Om te beginnen, om een DHCP-server in te stellen, is de eerste stap het maken van het configuratiebestand dhcpd.conf, en het belangrijkste DHCP-configuratiebestand is normaal gesproken / etc/dhcp/dhcpd.conf (standaard leeg), het bewaart alle netwerkinformatie die naar clients wordt verzonden.

Er is echter een voorbeeldconfiguratiebestand /usr/share/doc/dhcp*/dhcpd.conf.sample, wat een goed startpunt is voor het configureren van een DHCP-server.

En er zijn twee soorten instructies gedefinieerd in het DHCP-configuratiebestand, deze zijn:

  • parameters – geven aan hoe een taak moet worden uitgevoerd, of een taak moet worden uitgevoerd of welke netwerkconfiguratie-opties naar de DHCP-client moeten worden verzonden.
  • declaraties – specificeer de netwerktopologie, definieer de clients, bied adressen aan voor de clients of pas een groep parameters toe op een groep declaraties.

Begin daarom met het kopiëren van het voorbeeldconfiguratiebestand als het hoofdconfiguratiebestand, als volgt:

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

4. Open nu het hoofdconfiguratiebestand en definieer uw DHCP-serveropties:

vi /etc/dhcp/dhcpd.conf 

Begin met het instellen van de volgende globale parameters die van toepassing zijn op alle subnetwerken (geef waarden op die van toepassing zijn op uw scenario) bovenaan het bestand:

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. Definieer nu een subnetwerk; in dit voorbeeld configureren we DHCP voor 192.168.56.0/24 LAN-netwerk (vergeet niet om parameters te gebruiken die van toepassing zijn op uw 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;
}

Stap 3: Wijs een statisch IP-adres toe aan de DHCP-client

U kunt een statisch IP-adres toewijzen aan een specifieke clientcomputer op het netwerk. Definieer eenvoudigweg het onderstaande gedeelte in het bestand /etc/dhcp/dhcpd.conf, waar u expliciet de MAC-adressen en de vaste waarden moet opgeven Toe te wijzen IP:

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;
 }

Sla het bestand op en sluit het.

Opmerking: U kunt het Linux MAC-adres achterhalen of weergeven met behulp van de volgende opdracht.

ifconfig -a eth0 | grep HWaddr

6. Start nu voorlopig de DHCP-service en schakel deze in om automatisch te starten vanaf de volgende systeemstart, met behulp van de volgende opdrachten:

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

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

7. Vergeet vervolgens niet de DHCP-service toe te staan (DHCPD-daemon luistert op poort 67/UDP), zoals hieronder:

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

Stap 4: DHCP-clients configureren

8. Nu kunt u uw clients op het netwerk configureren om automatisch IP-adressen van de DHCP-server te ontvangen. Meld u aan op de clientmachine en wijzig het configuratiebestand van de Ethernet-interface als volgt (neem niet de naam/het nummer van de interface over):

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

Voeg de onderstaande opties toe:

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

Sla het bestand op en sluit af.

9. U kunt de instellingen ook uitvoeren met behulp van de GUI op een desktopcomputer. Stel de methode in op Automatisch (DHCP) zoals weergegeven in de onderstaande schermafbeelding (Ubuntu 16.04 desktop).

10. Start vervolgens de netwerkservices als volgt opnieuw op (je kunt eventueel het systeem opnieuw opstarten):

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

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

Als alle instellingen nu correct zijn, zouden uw clients nu automatisch IP-adressen moeten ontvangen van de DHCP-server.

Je kunt ook lezen:

  1. Hoe Multihomed ISC DHCP-server op Debian Linux te installeren en configureren
  2. 10 Handige “IP”-opdrachten om netwerkinterfaces te configureren

In deze zelfstudie hebben we u laten zien hoe u een DHCP-server in RHEL/CentOS instelt. Gebruik het onderstaande reactieformulier om ons terug te schrijven. In een aankomend artikel laten we u zien hoe u een DHCP-server in Debian/Ubuntu instelt. Blijf tot die tijd altijd verbonden met TecMint.