DHCPD ignorando mi declaración de subred

11

eth0, mi interfaz interna, tiene una dirección estática de 10.0.0.1. También tengo una interfaz p4p1, que actúa como mi interfaz externa. Si es importante, mi interfaz externa no está físicamente conectada y iptablesestá apagada / aún se está escribiendo.

/etc/sysconfig/dhcpd:

DHCPDARGS=eth0

cláusula de subred de /etc/dhcpd.conf:

subnet 10.0.0.0 netmask 255.255.255.0 {
  option routers 10.0.0.1;
  option domain-name-servers 10.0.0.1;
  option ntp-servers 10.0.0.1;
  default-lease-time 86400; # 1 day 
  max-lease-time 604800;    # 7 days
  use-host-decl-names on;
  ddns-updates on;

  use-host-decl-names on;
  allow unknown-clients;
  ignore client-updates;

  option domain-name "localdomain";
  ddns-domainname "localdomain";
  next-server 10.0.0.1;
  filename "pxelinux.0";

  group # known hosts
  {
    host host1.localdomain  {hardware ethernet [REDACTED]; fixed-address host1.localdomain;}
    host host2.localdomain  {hardware ethernet [REDACTED]; fixed-address host2.localdomain;}
  {

  pool
  {
    one-lease-per-client true;
    ping-check true;
    range 10.0.0.51 10.0.0.60;
  }
}

Entonces, ¿por qué sigo recibiendo el mensaje de error "Sin declaración de subred" en el lanzamiento?

No subnet declaration for eth0 (10.0.0.1).
** Ignoring requests on eth0.  If this is not what
   you want, please write a subnet declaration
   in your dhcpd.conf file for the network segment
   to which interface eth0 is attached. **

ACTUALIZACIÓN 4/1 1900h

Antes de los experimentos de esta noche:

[root@father ~]# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 90:e2:ba:2d:92:4d brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 brd 10.0.0.255 scope global eth0
    inet6 fe80::92e2:baff:fe2d:924d/64 scope link 
       valid_lft forever preferred_lft forever

Cambié las direcciones IP de mi red interna 192.168.100.0/24con cambios coincidentes /etc/dhcpd.confpara que no haya cambios en el comportamiento.

[root@father ~]# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 90:e2:ba:2d:92:4d brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.1/24 brd 192.168.100.255 scope global eth0
    inet6 fe80::92e2:baff:fe2d:924d/64 scope link 
       valid_lft forever preferred_lft forever

[root@father ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 p4p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 p4p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth0

¡Oh hola! No hay puerta de enlace allí! Eso es fácil de arreglar con un GATEWAY=192.168.0.1en los archivos ifcfg-eth0y ifcfg-p4p1. service network restarty...

[root@father ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 p4p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 p4p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 p4p1

Entonces, tengo una puerta de enlace, pero service dhcpd startfalla con el mismo error.

Otras notas:

  • p4p1 no está físicamente conectado
  • service dhcpd configtestdice Syntax: OK. Entonces, esto casi con certeza no es un caso de una llave mal colocada.
dafydd
fuente
1
Para RHEL / CentOS con 7 systemd: se puede hacer una copia de /lib/systemd/system/dhcpd.servicea /etc/systemd/system/y especificar la interfaz en el Exec línea: ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eth0
ILMostro_7

Respuestas:

14

De acuerdo, ¿puedo obtener un "D'oh!" de la congregación!

En RHEL6 y derivados, el archivo de configuración dhcpd ahora se encuentra en /etc/dhcp/dhcpd.conf, no /etc/dhcpd.conf. Movió el archivo y todo está bien.

dafydd
fuente
¿Ahora funciona bien o tiene algún problema?
Rahul Patil
3
Está funcionando bien, ahora. Y ese moretón en la frente es de donde yo estaba dale que dale mi cabeza en mi escritorio ...
dafydd
Molesto, ¿verdad? Me acabo de morder por esto.
Ewwhite
Cuando busqué "centos install dhcpd", el resultado de centos.org, que es el primero, es para centos 5 y se refiere a /etc/dhcpd.conf. Tiene sentido que pueda haber cambios pequeños pero significativos en la forma en que se diseña CentOS 6+, ¡así!
bgStack15
7

La máscara de subred que especifique dhcpd.confdebe coincidir con la máscara de subred de su interfaz.

Correr:

/sbin/ifconfig eth0

Especificó la máscara de subred como 255.255.255.0, lo más probable es que esto sea incorrecto. Cambie su dhcpd.confpara que coincida con su interfaz.

La interfaz donde escucha el servidor DHCP debe tener una IP estática de la misma subred que está utilizando en su configuración de DHCP.

Rahul Patil
fuente
ifconfig informa que la máscara de red es 255.255.255.0, que coincide con la configuración NETMASK = 255.255.255.0 que puse en ifcfg-eth0.
dafydd 01 de
¿Cuál es la dirección IP y el enrutador de su servidor, salida posterior de?/sbin/route -n
Rahul Patil
He actualizado la pregunta principal con la información.
dafydd
@dafydd Ahora está funcionando bien o tiene algún problema
Rahul Patil