isc-dhcp-server instale e execute o problema


8

Estou tentando configurar meu pi como um ponto de acesso com as instruções da Adafruit . No entanto, por algum motivo, sudo apt-get install isc-dhcp-serversempre falha. Eu olhei para este link , mas há uma sub-rede definida no meu dhcpd.conf (da 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;
}

Quando eu faço sudo apt-get install isc-dhcp-server, recebo:

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

e

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!

Como faço para corrigir isso?


Ainda tenho o problema no Raspbian mais recente. Ele parece estar relacionado a este erro: bugs.debian.org/cgi-bin/bugreport.cgi?bug=590641 Não parece como se tivesse sido corrigido ainda, e provavelmente também afetam Raspbian
coolnodje

Respostas:


11

se você tiver certeza de que a sub-rede definida na configuração do dhpcd pertence à interface já configurada (suponho, wlan0). Compare sub-redes IP em / etc / network / interfaces e /etc/dhcp/dhcpd.conf.

Além disso, no Debian (e, portanto, Raspbian), verifique / etc / default / isc-dhcp-server, pois ele deve conter o nome da sua interface, assim:

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

as duas coisas foram definidas no tutorial, então presumo que você omita pelo menos uma delas.


Eu verifiquei tudo, e tudo parecia correto, mas algo trabalhado
calccrypto

2
isto está errado! Você precisa ter INTERFACES=""como padrão o envio! Tudo que você precisa é definir TODAS as sub-redes / etc / network / interfaces por uma subnet {}cláusula. Para as sub-redes, você não precisa ser atendido pelo DHCPD, precisa de uma subnetcláusula vazia . Colocar o nome da interface em INTERFACES, conforme sugerido aqui, interrompe o DHCPD. Verificado em Raspbian Jessie.
Alexey Vesnin

5

Você precisa ter INTERFACES = "" nos padrões conforme é enviado! Ainda mais - a atualização automática pode sobrescrevê-la. Esse problema depende do DHCPD, não do SO. Tudo que você precisa é definir TODAS as sub-redes / etc / network / interfaces por uma cláusula de sub-rede {}. Para as sub-redes que você não precisa ser atendido pelo DHCPD, é necessária uma cláusula de sub-rede vazia como esta:

# 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 {
}

o comentário acima é do exemplo de configuração original enviado . No meu caso nesta rede, não havia necessidade de atender a nenhuma solicitação de IP, mas sem essa cláusula vazia subnet , o DHCPD se recusou a iniciar assim:

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.

O mais estranho de toda essa mensagem de erro é que /etc/dhcp/dhcpd.confna verdade havia uma cláusula de sub-rede com todos os recursos da sub-rede da wlan0. A adição de uma cláusula vazia para a sub-rede eth0 corrigiu tudo.

Colocar o nome da interface em INTERFACES, conforme sugerido aqui, interrompe o DHCPD. Verificado em Raspbian Jessie e em outros sistemas operacionais.


2
Não tenho certeza de que é a melhor idéia para começar a resposta. Isso está errado , as pessoas podem pensar que está errado ...
Ghanima

@Ghanima thanks! Copiei o meu comentário para uma resposta errada =) perdi =) Corrigido!
Alexey Vesnin

1

O servidor DHCP do ISC está OK.

altere / etc / default / isc-dhcp-server INTERFACES = "wlan0" para eth0

serviço isc-dhcp-server start OK?

altere / etc / default / isc-dhcp-server INTERFACES = "eth0" para wlan0

...... interface wlan0 faz endereço IP

ifconfig, IP wlan0?

.. nano / etc / network / interfaces

iface wlan0 endereço estático inet 192.168.42.2 máscara de rede 255.255.255.0 ..

ifdown wlan0 ifup wlan0 ifconfig wlan0

wlan0 Encapsulamento de link: Ethernet HWaddr 00: 00: xx: xx: xx: xx endereço inet: 192.168.42.2 Bcast: 192.168.42.255 Máscara: 255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU: 1500 Métrico: 1 pacotes RX: 1153 erros: 0 eliminado: 0 excedentes: 0 quadro: 0 pacotes TX: 1178 erros: 0 descartado: 0 excedentes: 0 transportadora: 0 colisões: 0 txqueuelen: 1000 bytes de RX: 219204 (214,0 KiB) bytes de TX: 245615 (239,8 KiB)

serviço isc-dhcp-server start


3
sua resposta parece um pouco enigmática, adicione mais explicações na próxima vez?
lenik


-1

Erro comum ao configurar / editar servidores sem cabeçalho é usar o Windows IDE para editar os arquivos. Se você fizer isso, use o Notepad ++ e não se esqueça de verificar se o formato é => formato UNIX && Encode no UTF-8 sem BOM

Resolve a maior parte do comportamento estranho como este.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.