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.
dafydd
la source
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.

dafydd
la source
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.

Rahul Patil
la source
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