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 iptables
está 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/24
con cambios coincidentes /etc/dhcpd.conf
para 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.1
en los archivos ifcfg-eth0
y ifcfg-p4p1
. service network restart
y...
[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 start
falla con el mismo error.
Otras notas:
p4p1
no está físicamente conectadoservice dhcpd configtest
diceSyntax: OK
. Entonces, esto casi con certeza no es un caso de una llave mal colocada.
systemd
: se puede hacer una copia de/lib/systemd/system/dhcpd.service
a/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
Respuestas:
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.fuente
La máscara de subred que especifique
dhcpd.conf
debe coincidir con la máscara de subred de su interfaz.Correr:
Especificó la máscara de subred como
255.255.255.0
, lo más probable es que esto sea incorrecto. Cambie sudhcpd.conf
para 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.
fuente
/sbin/route -n