Com instal·lar un servidor DHCP a Ubuntu i Debian


El protocol de configuració dinàmica d'amfitrió (DHCP) és un protocol de xarxa que s'utilitza per permetre que els ordinadors amfitrions se'ls assignin automàticament adreces IP i configuracions de xarxa relacionades des d'un servidor.

L'adreça IP assignada per un servidor DHCP al client DHCP està en un \arrendament, el temps d'arrendament normalment varia en funció de quant de temps és probable que un ordinador client requereixi la connexió o la configuració DHCP.

A continuació es mostra una descripció ràpida de com funciona realment DHCP:

  • Un cop s'inicia un client (que està configurat per utilitzar DHCP) i connectat a una xarxa, envia un paquet DHCPDISCOVER al servidor DHCP.
  • Quan el servidor DHCP rep el paquet de sol·licitud DHCPDISCOVER, respon amb un paquet DHCPOFFER.
  • A continuació, el client rep el paquet DHCPOFFER i envia un paquet DHCPREQUEST al servidor que mostra que està preparat per rebre la informació de configuració de xarxa proporcionada al paquet DHCPOFFER.
  • Finalment, després que el servidor DHCP rep el paquet DHCPREQUEST del client, envia el paquet DHCPACK mostrant que ara el client té permís per utilitzar l'adreça IP que se li assigna.

En aquest article, us mostrarem com configurar un servidor DHCP a Ubuntu/Debian Linux i executarem totes les ordres amb l'ordre sudo per obtenir privilegis d'usuari root.

Utilitzarem el següent entorn de prova per a aquesta configuració.

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

Pas 1: instal·lació del servidor DHCP a Ubuntu

1. Executeu l'ordre següent per instal·lar el paquet del servidor DCHP, que abans es coneixia com a dhcp3-server.

$ sudo apt install isc-dhcp-server

2. Quan finalitzi la instal·lació, editeu el fitxer /etc/default/isc-dhcp-server per definir les interfícies que DHCPD hauria d'utilitzar per atendre les sol·licituds DHCP, amb l'opció INTERFACES.

Per exemple, si voleu que el dimoni DHCPD escolti a eth0, configureu-lo així:

INTERFACES="eth0"

I també aprèn a configurar una adreça IP estàtica per a la interfície anterior.

Pas 2: Configuració del servidor DHCP a Ubuntu

3. El fitxer de configuració DHCP principal és /etc/dhcp/dhcpd.conf, heu d'afegir aquí tota la informació de la vostra xarxa per enviar-la als clients.

A més, hi ha dos tipus de declaracions definides al fitxer de configuració DHCP, aquests són:

  • paràmetres: especifiqueu com s'ha de dur a terme una tasca, si s'ha de dur a terme una tasca o quines opcions de configuració de xarxa cal enviar al client DHCP.
  • declaracions: defineix la topologia de la xarxa, indica els clients, ofereix adreces per als clients o apliqueu un grup de paràmetres a un grup de declaracions.

4. Ara, obriu i modifiqueu el fitxer de configuració principal, definiu les opcions del vostre servidor DHCP:

$ sudo vi /etc/dhcp/dhcpd.conf 

Establiu els següents paràmetres globals a la part superior del fitxer, s'aplicaran a totes les declaracions següents (especifiqueu els valors que s'apliquen al vostre escenari):

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. Ara, definiu una subxarxa; aquí, configurarem DHCP per a la xarxa LAN 192.168.10.0/24 (utilitza els paràmetres que s'apliquen al vostre escenari).

subnet 192.168.10.0 netmask 255.255.255.0 {
        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.10.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

Pas 3: configureu la IP estàtica a la màquina client DHCP

6. Per assignar una adreça IP fixa (estàtica) a un ordinador client concret, afegiu la secció següent on heu d'especificar explícitament les seves adreces MAC i la IP que s'ha d'assignar estàticament:

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

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

Deseu el fitxer i tanqueu-lo.

7. A continuació, inicieu el servei DHCP de moment i activeu-lo perquè s'iniciï automàticament des de la següent arrencada del sistema, així:

------------ SystemD ------------ 
$ sudo systemctl start isc-dhcp-server.service
$ sudo systemctl enable isc-dhcp-server.service


------------ SysVinit ------------ 
$ sudo service isc-dhcp-server.service start
$ sudo service isc-dhcp-server.service enable

8. A continuació, no oblideu permetre el servei DHCP (el dimoni DHCPD escolta al port 67/UDP) al tallafoc de la manera següent:

$ sudo ufw allow  67/udp
$ sudo ufw reload
$ sudo ufw show

Pas 4: Configuració de màquines client DHCP

9. En aquest punt, podeu configurar els vostres ordinadors clients a la xarxa perquè rebin automàticament adreces IP del servidor DHCP.

Inicieu la sessió als ordinadors client i editeu el fitxer de configuració de la interfície Ethernet de la manera següent (tingueu en compte el nom/número de la interfície):

$ sudo vi /etc/network/interfaces

I defineix les opcions següents:

auto  eth0
iface eth0 inet dhcp

Desa el fitxer i surt. I reinicieu els serveis de xarxa així (o reinicieu el sistema):

------------ SystemD ------------ 
$ sudo systemctl restart networking

------------ SysVinit ------------ 
$ sudo service networking restart

Alternativament, utilitzeu la GUI d'una màquina d'escriptori per dur a terme la configuració, configureu el mètode en Automàtic (DHCP) tal com es mostra a la captura de pantalla següent (escriptori Fedora 25).

En aquest punt, si tots els paràmetres estan configurats correctament, la vostra màquina client hauria d'estar rebent adreces IP automàticament del servidor DHCP.

Això és! En aquest tutorial, us vam mostrar com configurar un servidor DHCP a Ubuntu/Debian. Comparteix els teus pensaments amb nosaltres a través de la secció de comentaris a continuació. Si utilitzeu una distribució basada en Fedora, consulteu com configurar un servidor DHCP a CentOS/RHEL.