DHCP

De castillowiki
Saltar a: navegación, buscar
De moment, aquest manual sols és per configurar el DHCP en Ubuntu i Alpine

Isc DHCP

De la web oficial:

All IP devices need addresses, and ISC DHCP is the classic way to provide them. ISC DHCP is open source software that implements the Dynamic Host Configuration Protocol for connection to an IP network. It offers a complete solution for implementing DHCP servers, relay agents, and clients for small local networks to large enterprises. ISC DHCP solution supports both IPv4 and IPv6, and is suitable for use in high-volume and high-reliability applications. DHCP is available for free download under the terms of the ISC License, a BSD style license. (nb ISC DHCP will move to the MPL 2.0 license beginning with ISC DHCP 4.4.0)

ISC is developing a new DHCP server, Kea, which we intend to eventually replace ISC DHCP in most server implementations. We recommend that new implementers considering using Kea, and implement ISC DHCP only if Kea does not meet their needs. The Kea distribution does not currently include either a client or a relay.

En ubuntu, Debian i derivades es considera el servidor estàndard per a DHCP.

Preparació

El primer que cal fer és instal·lar el servidor:

 $ sudo apt install isc-dhcp-server

Una vegada instal·lat, es pot configurar la targeta per la que donarà direccions IP. Aquesta ha de tindre una direcció estàtica.

Per a que done servei DHCP per aquesta targeta, cal que estiga donada d'alta en el fitxer /etc/default/isc-dhcp-server com a interficie que té eixida de servici DHCP.

Per reiniciar el servei o conprovar si funciona correctament, es pot fer de varies maneres:

 $ sudo service isc-dhcp-server [restart,start,stop,status]
 $ sudo systemctl restart isc-dhcp-server.service

Configuració

Abans de res, cal anar a /etc/default/isc-dhcp-server per indicar quines són les targetes de xarxa per les que dona servei DHCP.


El fitxer principal és /etc/dhcp/dhcpd.conf. Ací tenim una configuració bàsica:

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
} 

Anem a repassar les diferents opcions que es veuen en aquest exemple:

  • default-lease-time: Aquesta opció indica el temps que el servidor DHCP oferirà als clients per a que tornen a preguntar la IP. És el temps de concessió.
  • max-lease-time: Els clients poden mantindre una IP més temps del recomanat en l'opció anterior, però mai passar-se d'aquest màxim.
  • option subnet-mask: Aquesta opció global indica la màscara que donarà als clients. No obstant es pot ignorar si és indicada en una subxarxa.
  • option broadcast-address: La direcció de broadcast per a tots els clients.
  • option routers: La porta d'enllaç per defecte dels clients. És l'equivalent a gateway en /etc/network/interfaces
  • option domain-name-servers: Llista de DNS que tindran els clients.
  • option domain-name: El nom de domini assignat a la xarxa que està donant servei.
  • subnet: Declaració d'una subnet en al que indica un rang d'IPs (range) i moltes altres possibles opcions per als clients que es configuren dins d'aquesta subnet.

Aquestes serien les opcions bàsiques, però hi ha més. Anem a observar un exemple un poc més avançat:

 
ddns-update-style none;
log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {

        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option broadcast-address        192.168.1.255;
        option domain-name-servers      194.168.4.100;
        option ntp-servers              192.168.1.1;
        option netbios-name-servers     192.168.1.1;
        option netbios-node-type 2;
        default-lease-time 86400;
        max-lease-time 86400;

        host bla1 {
                hardware ethernet DD:GH:DF:E5:F7:D7;
                fixed-address 192.168.1.2;
        }
        host bla2 {
                hardware ethernet 00:JJ:YU:38:AC:45;
                fixed-address 192.168.1.20;
        }
}

subnet  10.152.187.0 netmask 255.255.255.0 {

        option routers                  10.152.187.1;
        option subnet-mask              255.255.255.0;
        option broadcast-address        10.152.187.255;
        option domain-name-servers      194.168.4.100;
        option ntp-servers              10.152.187.1;
        option netbios-name-servers     10.152.187.1;
        option netbios-node-type 2;

        default-lease-time 86400;
        max-lease-time 86400;

        host bla3 {
                hardware ethernet 00:KK:HD:66:55:9B;
                fixed-address 10.152.187.2;
        }
}

Com podem veure, es poden configurar moltes subnets amb IPs distintes. En aquest cas, pot ser que el servidor tinga 2 targetes de xarxa, una amb la configuració de la xarxa 192.168.1.0/24 i l'altra amb 10.152.187.0/24.

Amés, apareixen opcions noves:

  • option ntp-servers: Indica el servidor de Temps ntp
  • option netbios-name-servers: El servidor de noms de netbios en cas de servir a clients Windows o Samba.
  • option netbios-node-type: El tipus de servidor netbios.
  • host: Es pot donar configuracions específiques a una MAC en concret, com en l'exemple, una IP fixa.

Enllaços

Manual de DHCP de Ubuntu Manual Oficial DHCP en Alpine Manual en castellà

acf-dhcp

En Alpine recomanen instal·lar aquest.

apk add acf-dhcp

La configuració és igual a la del ISC

rc-service dhcpd start 
rc-update add dhcpd

Per al relay:

apk add dhcrelay

La configuració és en /etc/conf.d/dhcrelay Sols cal informar de les targetes on dona servei i de la IP del servidor DHCP.

rc-service dhcrelay start 
rc-update add dhcrelay