problème d'installation et d'exécution du serveur isc-dhcp


8

Im essayant de configurer mon pi comme point d'accès avec les instructions d' Adafruit . Cependant, pour une raison quelconque, sudo apt-get install isc-dhcp-serveréchoue toujours. J'ai regardé ce lien , mais il y a un sous-réseau défini dans mon dhcpd.conf (d'Adafruit):

/etc/dhcp/dhcpd.conf

              .
              .
              .
#    range 10.0.29.10 10.0.29.230;
#  }
#}

subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
option routers 192.168.42.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}

Quand je le fais sudo apt-get install isc-dhcp-server, je reçois:

Generating /etc/default/isc-dhcp-server...
[FAIL] Starting ISC DHCP server: dhcpd[....] check syslog for diagnostics. ... failed!
 failed!

et

pi@raspberrypi ~ $ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
pi@raspberrypi ~ $ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
pi@raspberrypi ~ $ sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED \
> -j ACCEPT
pi@raspberrypi ~ $ sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
pi@raspberrypi ~ $ sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
pi@raspberrypi ~ $ sudo service hostapd start
[ ok ] Starting advanced IEEE 802.11 management: hostapd.
pi@raspberrypi ~ $ sudo service isc-dhcp-server start
[FAIL] Starting ISC DHCP server: dhcpd[....] check syslog for diagnostics. ... failed!
 failed!

/ var / log / syslog:

Jul 26 03:05:25 raspberrypi dhcpd: Wrote 0 leases to leases file.
Jul 26 03:05:25 raspberrypi dhcpd:
Jul 26 03:05:25 raspberrypi dhcpd: No subnet declaration for wlan0 (192.168.42.\
1).
Jul 26 03:05:25 raspberrypi dhcpd: ** Ignoring requests on wlan0.  If this is n\
ot what
Jul 26 03:05:25 raspberrypi dhcpd:    you want, please write a subnet declarati\
on
Jul 26 03:05:25 raspberrypi dhcpd:    in your dhcpd.conf file for the network s\
egment
Jul 26 03:05:25 raspberrypi dhcpd:    to which interface wlan0 is attached. **
Jul 26 03:05:25 raspberrypi dhcpd:
Jul 26 03:05:25 raspberrypi dhcpd:
Jul 26 03:05:25 raspberrypi dhcpd: Not configured to listen on any interfaces!

Comment puis-je réparer ça?


J'ai toujours le problème sur le dernier Raspbian à jour. Il semble être lié à ce bogue: bugs.debian.org/cgi-bin/bugreport.cgi?bug=590641 Il ne semble pas avoir été corrigé pour le moment, et cela affecte probablement également Raspbian
coolnodje

Réponses:


11

si vous êtes sûr que le sous-réseau défini dans la configuration dhpcd appartient à l'interface déjà configurée (je suppose, wlan0). Comparez les sous-réseaux IP dans / etc / network / interfaces et /etc/dhcp/dhcpd.conf.

Aussi, sur Debian (et donc Raspbian), vérifiez / etc / default / isc-dhcp-server, car il devrait contenir le nom de votre interface, comme ceci:

# 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="wlan0"

les deux choses ont été définies dans le didacticiel, donc je suppose que vous en omettez au moins une.


J'ai tout vérifié, et tout semblait correct, mais quelque chose a fonctionné
calccrypto

2
c'est faux! Vous devez avoir des INTERFACES=""paramètres par défaut lors de l'expédition! Tout ce dont vous avez besoin est de définir TOUS les sous-réseaux / etc / network / interfaces par une subnet {}clause. Pour les sous-réseaux dont vous n'avez pas besoin d'être desservis par DHCPD, vous avez besoin d'une subnetclause vide . Mettre le nom de l'interface dans INTERFACES, comme suggéré ici, rompt DHCPD. Vérifié sur Raspbian Jessie.
Alexey Vesnin

5

Vous devez avoir INTERFACES = "" par défaut lors de l'expédition! Encore plus - la mise à jour automatique peut l'écraser. Ce problème dépend de DHCPD, pas d'un système d'exploitation. Il vous suffit de définir TOUS les sous-réseaux / etc / network / interfaces par une clause subnet {}. Pour les sous-réseaux dont vous n'avez pas besoin d'être desservis par DHCPD, vous avez besoin d'une clause de sous-réseau vide comme celle-ci:

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

subnet 192.168.0.0 netmask 255.255.255.0 {
}

le commentaire ci-dessus provient de l' échantillon de configuration d'origine expédié . Dans mon cas sur ce réseau, il n'était pas nécessaire de servir de requêtes IP, mais sans cette clause vide subnet , DHCPD a refusé de démarrer comme ceci:

Jan 29 19:08:44 pi dhcpd: Internet Systems Consortium DHCP Server 4.3.1
Jan 29 19:08:44 pi dhcpd: Copyright 2004-2014 Internet Systems Consortium.
Jan 29 19:08:44 pi dhcpd: All rights reserved.
Jan 29 19:08:44 pi dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Jan 29 19:08:44 pi dhcpd: Internet Systems Consortium DHCP Server 4.3.1
Jan 29 19:08:44 pi dhcpd: Copyright 2004-2014 Internet Systems Consortium.
Jan 29 19:08:44 pi dhcpd: All rights reserved.
Jan 29 19:08:44 pi dhcpd: For info, please visit https://www.isc.org/software/dhcp/
 Jan 29 19:08:44 pi dhcpd: Wrote 2 leases to leases file.
 Jan 29 19:08:44 pi dhcpd:
 Jan 29 19:08:44 pi dhcpd: No subnet declaration for wlan0 (no IPv4 addresses).
 Jan 29 19:08:44 pi dhcpd: ** Ignoring requests on wlan0.  If this is not what
 Jan 29 19:08:44 pi dhcpd:    you want, please write a subnet declaration
 Jan 29 19:08:44 pi dhcpd:    in your dhcpd.conf file for the network segment
 Jan 29 19:08:44 pi dhcpd:    to which interface wlan0 is attached. **
 Jan 29 19:08:44 pi dhcpd:
 Jan 29 19:08:44 pi dhcpd:
 Jan 29 19:08:44 pi dhcpd: Not configured to listen on any interfaces!
 Jan 29 19:08:44 pi dhcpd:
 Jan 29 19:08:44 pi dhcpd: If you think you have received this message due to a bug rather
 Jan 29 19:08:44 pi dhcpd: than a configuration issue please read the section on submitting
 Jan 29 19:08:44 pi dhcpd: bugs on either our web page at www.isc.org or in the README file
 Jan 29 19:08:44 pi dhcpd: before submitting a bug.  These pages explain the proper
 Jan 29 19:08:44 pi dhcpd: process and the information we find helpful for debugging..
 Jan 29 19:08:44 pi dhcpd:
 Jan 29 19:08:44 pi dhcpd: exiting.
 Jan 29 19:08:46 pi isc-dhcp-server[3332]: Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed!
 Jan 29 19:08:46 pi isc-dhcp-server[3332]: failed!
 Jan 29 19:08:46 pi systemd[1]: isc-dhcp-server.service: control process exited, code=exited status=1
 Jan 29 19:08:46 pi systemd[1]: Unit isc-dhcp-server.service entered failed state.

La chose la plus étrange à propos de tout ce message d'erreur est qu'il /etc/dhcp/dhcpd.confy avait en fait une clause de sous-réseau complète pour le sous-réseau de wlan0. L'ajout d'une clause vide pour le sous-réseau eth0 a tout résolu.

Mettre le nom de l'interface dans INTERFACES, comme suggéré ici, rompt DHCPD. Vérifié sur Raspbian Jessie et sur d'autres OS.


2
Je ne suis pas sûr que ce soit la meilleure idée de commencer sa réponse par C'est faux , les gens pourraient penser que c'est faux ...
Ghanima

@Ghanima merci! J'ai copié mon commentaire dans une mauvaise réponse =) je l'ai manqué =) Fixé!
Alexey Vesnin

1

Le serveur DHCP ISC est OK.

changez / etc / default / isc-dhcp-server INTERFACES = "wlan0" en eth0

service isc-dhcp-server start OK?

changez / etc / default / isc-dhcp-server INTERFACES = "eth0" en wlan0

...... l'interface wlan0 fait l'adresse IP

ifconfig, wlan0 IP?

.. nano / etc / network / interfaces

iface wlan0 inet static address 192.168.42.2 netmask 255.255.255.0 ..

ifdown wlan0 ifup wlan0 ifconfig wlan0

wlan0 Link encap: Ethernet HWaddr 00: 00: xx: xx: xx: xx inet addr: 192.168.42.2 Bcast: 192.168.42.255 Masque: 255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU: 1500 Métrique: 1 paquets RX: 1153 erreurs: 0 abandonné: 0 dépassements: 0 trame: 0 paquets TX: 1178 erreurs: 0 abandonné: 0 dépassements: 0 opérateur: 0 collisions: 0 txqueuelen: 1000 octets RX: 219204 (214,0 Ko) Octets TX: 245615 (239,8 Ko)

service isc-dhcp-server start


3
votre réponse est un peu énigmatique, veuillez ajouter plus d'explications la prochaine fois?
lenik


-1

L'erreur courante lorsque je configure / édite des serveurs sans tête est d'utiliser Windows IDE pour éditer les fichiers. Si vous le faites, utilisez Notepad ++ , puis ne pas oublier de vérifier le format est => format UNIX && Encode en UTF-8 sans BOM

Résout la plupart des comportements étranges comme celui-ci.

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.