Wéi installéiere ech en DHCP Server an CentOS, RHEL a Fedora


DHCP (Dynamic Host Configuration Protocol) ass en Netzwierkprotokoll deen e Server et erméiglecht automatesch eng IP Adress ze ginn an aner verbonne Netzwierkkonfiguratiounsparameter un engem Client op engem Netz ze liwweren, vun engem virdefinéierte IP Pool.

Dëst bedeit datt all Kéier wann e Client (verbonne mam Netz) opstart, en eng \dynamesch IP Adress kritt, am Géigesaz zu enger statescher IP Adress déi ni ännert. D'IP Adress, déi vun engem DHCP Server dem DHCP Client zougewisen ass op engem \Lease, kann d'Leasingzäit variéieren jee no wéi laang e Client d'Verbindung oder d'DHCP-Konfiguratioun erfuerdert.

An dësem Tutorial wäerte mir decken wéi Dir en DHCP Server an CentOS/RHEL a Fedora Verdeelungen installéiere an konfiguréieren.

Mir wäerte folgend Testëmfeld fir dëse Setup benotzen.

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

Ier mer weider réckelen, loosst eis kuerz erkläre wéi DHCP funktionnéiert:

  • Wann e Client Computer (konfiguréiert fir DHCP ze benotzen) a verbonne mat engem Netz ugeschalt ass, schéckt en en DHCPDISCOVER Message un den DHCP Server weider.
  • An nodeems den DHCP Server den DHCPDISCOVER Ufro Message kritt, äntwert hien mat engem DHCPOFFER Message.
  • Da kritt de Client den DHCPOFFER Message, an e schéckt en DHCPREQUEST Message un de Server, deen uginn datt et bereet ass d'Netzkonfiguratioun an der DHCPOFFER Message ze kréien.
  • Lescht awer net zulescht, kritt den DHCP-Server den DHCPREQUEST Message vum Client, a schéckt den DHCPACK Message deen weist datt de Client elo erlaabt ass d'IP Adress ze benotzen déi him zougewisen ass.

Schrëtt 1: DHCP Server an CentOS installéieren

1. DCHP installéieren ass ganz riichtaus vir, einfach de Kommando hei drënner ausféieren.

# yum -y install dhcp

Wichteg: Unzehuelen datt et méi wéi ee Reseau Interface un de System verbonnen ass, awer Dir wëllt datt den DHCP Server nëmmen op eng vun den Interfaces gestart gëtt, setzt den DHCP Server fir nëmmen op dëser Interface unzefänken wéi follegt.

2. Öffnen d'Datei /etc/sysconfig/dhcpd, füügt den Numm vun der spezifescher Interface an d'Lëscht vun DHCPDARGS un, zum Beispill wann d'Interface eth0 ass, da füügt:

DHCPDARGS=eth0

Späichert d'Datei a gitt eraus.

Schrëtt 2: DHCP Server an CentOS konfiguréieren

3. Fir Ufänger, fir en DHCP Server opzestellen, ass den éischte Schrëtt d'Konfiguratiounsdatei dhcpd.conf ze kreéieren, an d'Haapt DHCP Konfiguratiounsdatei ass normalerweis /etc/dhcp/dhcpd.conf (wat ass eidel par défaut), et hält all Netzwierkinformatioun un d'Clientë geschéckt.

Wéi och ëmmer, et gëtt eng Probe Konfiguratiounsdatei /usr/share/doc/dhcp*/dhcpd.conf.sample, wat e gudde Startpunkt ass fir en DHCP Server ze konfiguréieren.

An et ginn zwou Aarte vun Aussoen, déi an der DHCP Konfiguratiounsdatei definéiert sinn, dës sinn:

  • Parameteren – uginn wéi een eng Aufgab ausféiert, ob eng Aufgab gemaach gëtt oder wéi eng Netzwierkkonfiguratiounsoptioune fir den DHCP Client ze schécken.
  • Deklaratioune - spezifizéiert d'Netzwierktopologie, definéiert d'Clienten, bitt Adresse fir d'Clienten un, oder gëlt eng Grupp vu Parameteren op eng Grupp vun Deklaratiounen.

Dofir, fänkt un andeems Dir d'Probe Konfiguratiounsdatei als Haaptkonfiguratiounsdatei kopéiert wéi esou:

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

4. Elo öffnen d'Haaptkonfiguratiounsdatei an definéiert Är DHCP Serveroptiounen:

# vi /etc/dhcp/dhcpd.conf 

Fänkt un mat de folgende globalen Parameteren ze setzen, déi op all Ënnernetzwierker gëllen (spezifizéieren Wäerter déi op Äre Szenario gëllen) uewen op der Datei:

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. Elo, definéiert en Ënnernetz; an dësem Beispill wäerte mir DHCP fir 192.168.56.0/24 LAN Netzwierk konfiguréieren (erënnert Iech un Parameteren ze benotzen déi op Äre Szenario gëllen):

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

Schrëtt 3: Stellt statesch IP un DHCP Client

Dir kënnt eng statesch IP Adress un e spezifesche Clientcomputer am Netz zouginn, definéiert einfach d'Sektioun hei ënnen an der /etc/dhcp/dhcpd.conf Datei, wou Dir explizit seng MAC Adressen an déi fix IP déi zougewisen muss spezifizéieren:

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

Späichert d'Datei a maach se zou.

Bemierkung: Dir kënnt d'Linux MAC Adress erausfannen oder weisen andeems Dir folgend Kommando benotzt.

# ifconfig -a eth0 | grep HWaddr

6. Start elo den DHCP Service fir déi mëttlerweil Zäit an aktivéiert et automatesch vum nächste Systemboot unzefänken, andeems Dir folgend Kommandoen benotzt:

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

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

7. Als nächst, vergiesst net den DHCP Service z'erlaben (DHCPD Daemon lauschtert um Hafen 67/UDP) wéi hei ënnen:

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

Schrëtt 4: DHCP Clienten konfiguréieren

8. Elo kënnt Dir Är Clienten am Netz konfiguréieren fir automatesch IP Adressen vum DHCP Server ze kréien. Login op d'Clientmaschinn a ännert d'Ethernet-Interface Konfiguratiounsdatei wéi follegt (net den Interface Numm/Nummer huelen):

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

Füügt d'Optiounen hei drënner:

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

Späichert d'Datei a gitt eraus.

9. Dir kënnt och d'Astellunge mat der GUI op engem Desktop Computer ausféieren, setze d'Method op Automatesch (DHCP) wéi am Screenshot hei ënnen (Ubuntu 16.04 Desktop).

10. Dann Restart Netzwierkservicer wéi follegt (Dir kënnt eventuell de System nei starten):

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

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

Zu dësem Zäitpunkt, wann all Astellunge richteg waren, sollten Är Clienten IP Adressen automatesch vum DHCP Server kréien.

Dir kënnt och liesen:

  1. Wéi installéiert a konfiguréiert Multihomed ISC DHCP Server op Debian Linux
  2. 10 Nëtzlech \IP Befehle fir Netzwierkschnëttplazen ze konfiguréieren

An dësem Tutorial hu mir Iech gewisen wéi Dir en DHCP Server an RHEL/CentOS opstellt. Benotzt de Kommentarformular hei ënnen fir eis zréck ze schreiwen. An engem kommenden Artikel wäerte mir Iech weisen wéi Dir en DHCP-Server an Debian/Ubuntu opstellt. Bis dohin, bleift ëmmer verbonne mat TecMint.