DHCPD ignorant ma déclaration de sous-réseau


11

eth0, mon interface interne, a une adresse statique de 10.0.0.1. J'ai également une interface p4p1, agissant comme mon interface externe. Si cela est important, mon interface externe n'est pas physiquement connectée et iptablesest éteinte / en cours d'écriture.

/etc/sysconfig/dhcpd:

DHCPDARGS=eth0

clause de sous-réseau 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;
  }
}

Alors, pourquoi reçois-je toujours le message d'erreur "Aucune déclaration de sous-réseau" au lancement?

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. **

MISE À JOUR 4/1 1900h

Avant les expériences de ce soir:

[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

J'ai changé mes adresses IP de réseau interne 192.168.100.0/24avec des modifications correspondantes /etc/dhcpd.confpour aucun changement de comportement.

[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 hey! Pas de passerelle là-bas! C'est facile à corriger avec un GATEWAY=192.168.0.1dans les fichiers ifcfg-eth0et ifcfg-p4p1. service network restartet...

[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

J'ai donc une passerelle, mais service dhcpd startéchoue avec la même erreur.

Autres notes:

  • p4p1 n'est pas physiquement connecté.
  • service dhcpd configtestdit Syntax: OK. Donc, ce n'est certainement pas le cas d'une attelle mal placée.

1
Pour RHEL / CentOS 7 avec systemd: vous pouvez faire une copie /lib/systemd/system/dhcpd.serviceà /etc/systemd/system/et spécifiez l'interface dans la Exec ligne: ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eth0
— ILMostro_7

Réponses:


14

D'accord, puis-je obtenir un "D'oh!" de la congrégation!

Dans RHEL6 et dérivés, le fichier de configuration dhcpd se trouve maintenant à /etc/dhcp/dhcpd.conf, non /etc/dhcpd.conf. Déplacé le fichier et tout va bien.


Maintenant, cela fonctionne bien ou vous rencontrez un problème?
— Rahul Patil

3
Ça fonctionne bien, maintenant. Et cette ecchymose sur mon front vient d'où je me tapais la tête sur mon bureau ...
— dafydd

Ennuyeux, non? Je suis juste devenu mordu par ça.
— ewwhite

Lorsque j'ai recherché "centos install dhcpd", le résultat centos.org, qui est le premier, concerne centos 5 et fait référence à /etc/dhcpd.conf. Il est logique qu'il puisse y avoir de petits mais importants changements dans la conception de CentOS 6+, comme ceci!
— bgStack15

7

Le masque de sous-réseau que vous avez spécifié dans dhcpd.confdoit correspondre à votre masque de sous-réseau d'interface.

Courir:

/sbin/ifconfig eth0

Vous avez spécifié le masque de sous-réseau comme 255.255.255.0étant probablement incorrect. Changez votre dhcpd.confpour correspondre à votre interface.

L'interface sur laquelle le serveur DHCP écoute doit avoir une adresse IP statique du même sous-réseau que vous utilisez dans votre configuration DHCP.


ifconfig signale le masque de réseau comme 255.255.255.0, ce qui correspond au paramètre NETMASK = 255.255.255.0 que j'ai mis dans ifcfg-eth0.
— dafydd

quelle est votre IP de serveur et votre routeur, après la sortie de/sbin/route -n
— Rahul Patil

J'ai mis à jour la question principale avec les informations.
— dafydd

@dafydd Maintenant, cela fonctionne bien ou vous rencontrez n'importe quel problème
— Rahul Patil
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.