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?

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

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

Alexey Vesnin
la source
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

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

Eu exactement le même problème et trouvé la réponse dans ce court tutoriel: http://sirlagz.net/2013/02/10/how-to-use-the-raspberry-pi-as-a-wireless-access-pointrouter- partie-3b /

J'espère que ça marchera pour toi aussi!

Barney

user1259492
la source
Salut Barney, bienvenue dans Raspberry Pi SE :) les réponses sont généralement meilleures si elles résument les pages auxquelles elles sont liées. Cela signifie que si le lien se déplace, la réponse est toujours utile.
Jivings
-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.

DColl
la source