Configuración de Servidor DHCP en CentOS 7

(1). Antorno de Prueba

Servidor DHCP: srvnet1 192.168.1.6 (red externa)

Equipo de prueba: cliente1 192.168.1.7 (red externa)

DHCP utiliza el modelo C/S, donde el servidor escucha en el puerto 67/UDP (bootps) y el cliente en el puerto 68/UDP (bootpc)

(2). Proecdimiento

  1. Instalación del servicio dhcp en el servidor
[root@srvnet1 ~]# yum -y install dhcp

  1. Adición de una nueva interfaz de red en el servidor DHCP

Al usar el comando ip a sh podemos ver la nueva interfaz, pero no existe el archivo de configuración correspondiente

[root@srvnet1 ~]# ip a sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:72:1e:89 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.6/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe72:1e89/64 scope link 
       valid_lft forever preferred_lft forever
3: ens38: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:0c:29:72:1e:93 brd ff:ff:ff:ff:ff:ff
[root@srvnet1 ~]# ls /etc/sysconfig/network-scripts/
ifcfg-ens33  ifdown-ipv6    ifdown-Team      ifup-eth    ifup-post      ifup-tunnel
ifcfg-lo     ifdown-isdn    ifdown-TeamPort  ifup-ippp   ifup-ppp       ifup-wireless
ifdown       ifdown-post    ifdown-tunnel    ifup-ipv6   ifup-routes    init.ipv6-global
ifdown-bnep  ifdown-ppp     ifup             ifup-isdn   ifup-sit       network-functions
ifdown-eth   ifdown-routes  ifup-aliases     ifup-plip   ifup-Team      network-functions-ipv6
ifdown-ippp  ifdown-sit     ifup-bnep        ifup-plusb  ifup-TeamPort

Copiamos directamente ifcfg-ens33 y lo renombramos a ifcfg-ens38, eliminamos información innecesaria y modificamos algunas configuraciones

[root@srvnet1 ~]# cd /etc/sysconfig/network-scripts/
[root@srvnet1 network-scripts]# cp ifcfg-ens33 ifcfg-ens38
[root@srvnet1 network-scripts]# cat ifcfg-ens38
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
IPADDR="192.168.2.6"
NETMASK="255.255.255.0"
GATEWAY="192.168.2.1"
DNS1="192.168.2.1"
NAME="ens38"
DEVICE="ens38"
ONBOOT="yes"
[root@srvnet1 network-scripts]# ifup ens38  //Activar interfaz ens38
[root@srvnet1 network-scripts]# ip a sh dev ens38
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:72:1e:93 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.6/24 brd 192.168.2.255 scope global ens38
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe72:1e93/64 scope link 
valid_lft forever preferred_lft forever 

  1. Descripción de parámetros comunes del archivo de configuración

subnet [red] netmask [máscara] {...}

Función: Define el ámbito de acción, especifica la máscara de subred

range [IP inicial] [IP final]

Función: Especifica el rango de direcciones IP dinámicas. Se pueden declarar múltiples rangos pero no deben solaparse.

option routers [IP]

Función: Especifica la puerta de enlace predeterminada para los clientes. Puede ser global o local.

option domain-name [dominio]

Función: Especifica el dominio predeterminado para los clientes. Puede ser global o local.

option domain-name-servers [IP]

Función: Especifica las direcciones de los servidores DNS predeterminados para los clientes. Puede ser global o local.

default-lease-time [número]

Función: Tiempo mínimo de arrendamiento predeterminado (en segundos). Puede ser global o local.

max-lease-time [número]

Función: Tiempo máximo de arrendamiento (en segundos). Puede ser global o local.

host [nombre del host]{

hardware [tipo de hardware] [dirección física]

fixed-address [IP]

}

Función: Utilizado para enlazar una dirección IP a una MAC. Normalmente el tipo de hardware es ethernet y la dirección es la MAC.

log-facility [propiedad del log]

Función: Define las propiedades del registro (en el archivo de configuración del servicio de logging /etc/rsyslog.conf se definen las propiedades correspondientes para determinar dónde se guardarán los logs)

  1. Editar el archivo de configuración de DHCP

La ubicación del archivo de configuración dhcp es /etc/dhcp/dhcpd.conf

[root@srvnet1 ~]# cat /etc/dhcp/dhcpd.conf 
#
# Archivo de Configuración del Servidor DHCP.
#   ver /usr/share/doc/dhcp*/dhcpd.conf.example
#   ver dhcpd.conf(5) manual page
#
subnet 192.168.2.0 netmask 255.255.255.0 {
        range 192.168.2.100 192.168.2.200;
        option domain-name-servers 192.168.2.1;
        option domain-name "empresa.local";
        option routers 192.168.2.1;
        option broadcast-address 192.168.2.255;
        default-lease-time 600;
        max-lease-time 7200;
}

Iniciar dhcpd y habilitar inicio automático

[root@srvnet1 network-scripts]# systemctl start dhcpd
[root@srvnet1 network-scripts]# systemctl enable dhcpd
[root@srvnet1 network-scripts]# systemctl status dhcpd
● dhcpd.service - Daemon del Servidor DHCPv4
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: enabled)
   Active: active (running) since jue 2023-05-16 23:06:15 CST; 11s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 8364 (dhcpd)
   Status: "Enviando paquetes..."
   CGroup: /system.slice/dhcpd.service
           └─8364 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid

5月 16 23:06:15 srvnet1 dhcpd[8364]: Enviando en   LPF/ens38/00:0c:29:72:1e:93/192.168.2.0/24
5月 16 23:06:15 srvnet1 dhcpd[8364]: ved.
5月 16 23:06:15 srvnet1 dhcpd[8364]: No hay declaración de subred para ens33 (192.168.1.6).
5月 16 23:06:15 srvnet1 dhcpd[8364]: ** Ignorando solicitudes en ens33. Si esto no es lo que
5月 16 23:06:15 srvnet1 dhcpd[8364]:    desea, por favor escriba una declaración de subred
5月 16 23:06:15 srvnet1 dhcpd[8364]:    en su archivo dhcpd.conf para el segmento de red
5月 16 23:06:15 srvnet1 dhcpd[8364]:    al que está conectada la interfaz ens33. **
5月 16 23:06:15 srvnet1 dhcpd[8364]: nt
5月 16 23:06:15 srvnet1 dhcpd[8364]: Enviando en   Socket/fallback/fallback-net
5月 16 23:06:15 srvnet1 systemd[1]: Iniciado Daemon del Servidor DHCPv4.

  1. Adición de la interfaz de red en el equipo de prueba

Editar el archivo de configuración de la interfaz ens38 y activarla

[root@cliente1 ~]# cd /etc/sysconfig/network-scripts/
[root@cliente1 network-scripts]# cp ifcfg-ens33 ifcfg-ens38
[root@cliente1 network-scripts]# cat ifcfg-ens38
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
NAME="ens38"
DEVICE="ens38"
ONBOOT="yes"
[root@cliente1 network-scripts]# ifup ens38
Determinando la IP de ens38... completado.
[root@cliente1 network-scripts]# ip a sh dev ens38
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:f2:7e:5c brd ff:ff:ff:ff:ff:ff
inet 192.168.2.100/24 brd 192.168.2.255 scope global dynamic ens38
valid_lft 589sec preferred_lft 589sec
inet6 fe80::20c:29ff:fef2:7e5c/64 scope link 
valid_lft forever preferred_lft forever

  1. Si se desea enlazar IP a MAC

Modificar el archivo de configuración en el servidor DHCP y reiniciar el servicio dhcp

[root@srvnet1 ~]# cat /etc/dhcp/dhcpd.conf 
#
# Archivo de Configuración del Servidor DHCP.
#   ver /usr/share/doc/dhcp*/dhcpd.conf.example
#   ver dhcpd.conf(5) manual page
#
subnet 192.168.2.0 netmask 255.255.255.0 {
        range 192.168.2.101 192.168.2.200;
        option domain-name-servers 192.168.2.1;
        option domain-name "empresa.local";
        option routers 192.168.2.1;
        option broadcast-address 192.168.2.255;
        default-lease-time 600;
        max-lease-time 7200;
        host pc-prueba{
                hardware ethernet 00:0c:29:f2:7e:5c;
                fixed-address 192.168.2.150;
        }
}

[root@srvnet1 ~]# systemctl restart dhcpd

Reiniciar el servicio de red en el equipo de prueba

[root@cliente1 ~]# ip a sh dev ens38
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f2:7e:5c brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.100/24 brd 192.168.2.255 scope global dynamic ens38
       valid_lft 355sec preferred_lft 355sec
    inet6 fe80::20c:29ff:fef2:7e5c/64 scope link 
       valid_lft forever preferred_lft forever
[root@cliente1 ~]# systemctl restart network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
[root@cliente1 ~]# ip a sh dev ens38        
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f2:7e:5c brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.150/24 brd 192.168.2.255 scope global dynamic ens38
       valid_lft 546sec preferred_lft 546sec
    inet6 fe80::20c:29ff:fef2:7e5c/64 scope link 
       valid_lft forever preferred_lft forever

  1. Consulta de archivos relacionados

Archivo de base de datos de arrendamientos en el servidor DHCP

[root@srvnet1 ~]# cat /var/lib/dhcpd/dhcpd.leases
# El formato de este archivo está documentado en la página manual dhcpd.leases(5).
# Este archivo de arrendamiento fue escrito por isc-dhcp-4.2.5

lease 192.168.2.150 {
  starts 6 2023/05/18 06:56:08;
  ends 6 2023/05/18 07:06:08;
  tstp 6 2023/05/18 07:06:08;
  cltt 6 2023/05/18 06:56:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 00:0c:29:f2:7e:5c;
  client-hostname "pc-prueba";
}
server-duid "\000\001\000\001$p8\347\000\014)r\036\223";

Consultar DNS en el equipo de prueba

[root@cliente1 ~]# cat /etc/resolv.conf
; generado por /usr/sbin/dhclient-script
search empresa.local
nameserver 192.168.2.1

Consultar puerta de enlace

[root@cliente1 ~]# route -n
Tabla de rutas IP del kernel
Destino      Puerta de Enlace      Máscara          Flags   Metrico Ref    Uso Iface
0.0.0.0      192.168.2.1          0.0.0.0          UG      0       0        0 ens38
169.254.0.0  0.0.0.0              255.255.0.0      U       1002    0        0 ens38
192.168.2.0  0.0.0.0              255.255.255.0    U       0       0        0 ens38

Etiquetas: DHCP centos redes linux servidor

Publicado el 6-9 01:43