Debian dhcpd «Aucune déclaration de sous-réseau pour eth0»

9


J'essaie de mettre en place un serveur de démarrage pxe sur une machine Debian 6.0.3 Squeeze qui donne des images de PLoP Linux. Je suivais ce tutoriel.
Lorsque j'essaie de démarrer dhcpd (à partir du package dhcp3-server), j'obtiens ce qui suit:

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



Not configured to listen on any interfaces!

Mon /etc/dhcpd.confest identique à celui du tutoriel, sauf pour quelques modifications:

host testpc {
        hardware ethernet 00:0C:6E:A6:1A:E6;
        fixed-address 10.0.0.250;
}

est à la place

host tablet {
        hardware ethernet 00:02:3F:FB:E2:6F;
        fixed-address 10.0.0.249;
}

Mon /etc/network/interfacesest:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 10.0.0.0
        netmask 255.255.255.0

Et voici mon /etc/default/isc-dhcp-server:

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

que j'ai copié /etc/default/dhcp3-serverégalement, ne sachant pas ce qu'il vérifierait.

J'ai également essayé de définir l'IP en /etc/network/interfaces10.0.0.1 et 10.0.0.2, mais cela a produit le même résultat.

Suchipi
la source

Réponses:

8

Étant donné que dhcpd doit distribuer des adresses IP aux clients, il doit connaître la plage d'adresses dont il est responsable. La déclaration de sous-réseau fournit à dhcpd ces informations et plus encore. En supposant que vous utilisez 10.0.0 / 24, ce qui suit devrait vous aider à démarrer et à dépasser le message d'erreur, mais vous devez vraiment accéder à la documentation pour aller plus loin. Ajoutez ceci à votre dhcpd.conf:

subnet 10.0.0.0 netmask 255.255.255.0 { 
   authoritative; 
   range 10.0.0.1 10.0.0.254; 
   default-lease-time 3600; 
   max-lease-time 3600; 
   option subnet-mask 255.255.255.0; 
   option broadcast-address 10.0.0.255; 
   option routers 10.0.0.0; 
   option domain-name-servers 8.8.8.8; 
   option domain-name "example.com"; 
} 

Les adresses IP que j'ai branchées ci-dessus sont des suppositions. Vous devez les configurer correctement pour votre configuration.

Kyle Jones
la source
2

Le problème est qu'il 10.0.0.0ne s'agit pas d'une adresse IPv4 valide. La première adresse du sous-réseau (l'adresse avec tous les zéros pour la partie hôte) est l'identificateur de sous-réseau et n'est donc pas une adresse d'hôte valide. Essayez 10.0.0.1. Vous devez également éviter la dernière adresse d'un sous-réseau, car il s'agit de l'adresse de diffusion IP.

Decimal: 
  Address:     10   .0  .0  .0
  Subnet Mask: 255.255.255.255
Hex:     
  Address:     0A 00 00 00 
  Subnet Mask: FF FF FF 00
  Network:     ^^ ^^ ^^
  Host:                 ^^
  Smallest Addr:        01 (.1)
  Largest Addr:         FE (.254)
  Broadcast:            FF (.255)
Huckle
la source
1

J'ai fini par purger dhcp3-server et utiliser dnsmasq à la place. J'ai parcouru le fichier de configuration pour cela et j'ai pu utiliser les exemples qu'il avait commentés pour configurer mon serveur comme j'avais besoin. dnsmasq a également un serveur tftp intégré que j'ai utilisé pour le démarrage PXE.

Suchipi
la source
J'ai le même problème que vous ici, je me demandais si vous pouvez partager un peu de lumière à ce sujet ou partager votre dnsmasq.conf s'il vous plaît… Merci!
user1680784
@ user1680784 Je n'ai plus le système qui a été configuré pour le faire, je ne peux donc pas partager mon fichier de configuration. Bien que je ne sache pas ce que vous essayez d'accomplir spécifiquement, si vous rencontrez des problèmes pour configurer dhcpd ou dnsmasq à la main, vous pouvez essayer d'utiliser DRBL pour donner des images de démarrage Linux.
Suchipi
0

Vérifier avec

ifconfig eth0

Si votre interface eth0 a la bonne ipv4

(il semble que vous l'ayez réglé de façon à address 10.0.0.0ce qu'il soit invalide de toute façon)

s'il a une IP dans la mauvaise plage, donnez-lui une nouvelle adresse par exemple avec:

ifconfig eth0 10.0.0.1

puis essayez de redémarrer votre serveur DHCP

rubo77
la source
0

La suppression de dnsmasq a résolu mon problème

sudo apt-get -y remove dnsmasq
Fathur Rohim
la source
0

Sur les OS basés sur systemd, assurez-vous que NetworkManager-wait-online.service est en cours d'exécution.

J'ai eu un problème similaire sur Fedora 26, et parce que je n'ai pas trouvé de référence, je posterai ma solution ici au cas où quelqu'un en aurait besoin:

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

Fedora 26 est un système d'exploitation basé sur systemd, où les scripts init traditionnels (/etc/rc.d/init.d) ont été remplacés par des fichiers de services systemd natifs.

Mon fichier dhcpd.service:

[Unit]
Description=DHCPv4 Server Daemon
Documentation=man:dhcpd(8) man:dhcpd.conf(5)
Wants=network-online.target
After=network-online.target
After=time-sync.target

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/dhcpd
ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS
StandardError=null

[Install]
WantedBy=multi-user.target

Ces lignes:

Wants=network-online.target
After=network-online.target

assurez-vous que le service démarre une fois que le réseau est en ligne mais que le bon service "attente" doit également être activé 1 : NetworkManager-wait-online.service

La mienne ne l'était pas.

référence: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/

Ovidiu Luca
la source