проблема установки и запуска isc-dhcp-сервера


8

Я пытаюсь настроить свой пи в качестве точки доступа с инструкциями от Adafruit . Однако по какой-то причине sudo apt-get install isc-dhcp-serverвсегда происходит сбой. Я посмотрел на эту ссылку , но в моем dhcpd.conf определена подсеть (из 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;
}

Когда я делаю sudo apt-get install isc-dhcp-server, я получаю:

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

а также

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!

/ Вар / Журнал / системный журнал:

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!

Как я могу это исправить?


У меня все еще есть проблема с последним современным Raspbian. Похоже, это связано с этой ошибкой: bugs.debian.org/cgi-bin/bugreport.cgi?bug=590641 Похоже, что это еще не исправлено, и, вероятно, это также влияет на
Raspbian

Ответы:


11

если вы уверены, что подсеть, заданная в конфигурации dhpcd, принадлежит уже настроенному интерфейсу (я предполагаю, wlan0). Сравните IP-подсети в / etc / network / interfaces и /etc/dhcp/dhcpd.conf.

Также, в Debian (и, следовательно, в Raspbian), проверьте / 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="wlan0"

Обе вещи были описаны в руководстве, поэтому я предполагаю, что вы пропустите хотя бы одну из них.


Я проверил все, и все казалось правильным, но что-то сработало
calccrypto

2
это не верно! Вы должны иметь INTERFACES=""по умолчанию, как он отправлен! Все, что вам нужно, это определить ВСЕ подсети / etc / network / interfaces с помощью subnet {}предложения. Для подсетей, которые вам не нужно обслуживать DHCPD, вам нужно пустое subnetпредложение. Помещение имени интерфейса в INTERFACES, как предлагается здесь, нарушает DHCPD. Проверено на Распби Джесси.
Алексей Веснин

5

Вы должны иметь INTERFACES = "" в настройках по умолчанию, как это было отправлено! Более того - автоматическое обновление может переписать его между прочим. Эта проблема зависит от DHCPD, а не от операционной системы. Все, что вам нужно, это определить ВСЕ подсети / etc / network / interfaces с помощью предложения subnet {}. Для подсетей, которые вам не нужно обслуживать DHCPD, вам нужно пустое предложение подсети, например:

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

комментарий выше взят из оригинального примера конфигурации . В моем случае в этой сети не было необходимости обслуживать какие-либо IP-запросы, но без этого пустого subnet предложения DHCPD отказывался запускаться так:

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.

Ад странно , что обо всем этом сообщении об ошибке, что на /etc/dhcp/dhcpd.confсамом деле имел пункт полнофункциональные подсетей для подсети wlan0'S. Добавление пустого предложения для подсети eth0 исправило все проблемы.

Помещение имени интерфейса в INTERFACES, как предлагается здесь, нарушает DHCPD. Проверено на Распбиане Джесси и на других ОС.


2
Я не уверен, что лучше начинать свой ответ с « Это неправильно» , люди могут подумать, что это неправильно…
Ганима

@ Ганима спасибо! Я скопировал свой комментарий на неправильный ответ =) пропустил его =) Исправлено!
Алексей Веснин

1

ISC DHCP-сервер в порядке.

замените / etc / default / isc-dhcp-server INTERFACES = "wlan0" на eth0

служба isc-dhcp-сервер запускается нормально?

замените / etc / default / isc-dhcp-server INTERFACES = "eth0" на wlan0

...... интерфейс wlan0 делает IP-адрес

ifconfig, wlan0 IP?

.. nano / etc / network / interfaces

iface wlan0 inet статический адрес 192.168.42.2 маска сети 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 Маска: 255.255.255.0 UP МНОЖЕСТВО РАБОТЫ С ТЕЛЕВИДЕНИЕМ: 1500 Метрика: 1 RX-пакетов: 1153 ошибки: 0 отброшено: 0 переполнений: 0 кадр: 0 пакетов TX: 1178 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 коллизий: 0 txqueuelen: 1000 байтов RX: 219204 (214,0 КиБ) байтов TX: 245615 (239,8 КиБ)

запуск службы isc-dhcp-сервера


3
Ваш ответ выглядит немного загадочно, пожалуйста, добавьте больше объяснений в следующий раз?
lenik

1

Имел точно такую ​​же проблему и нашел ответ в этом коротком руководстве: http://sirlagz.net/2013/02/10/how-to-use-the-raspberry-pi-as-a-wireless-access-pointrouter- часть-3b /

Надеюсь, это работает и для вас!

гулянка


Привет, Барни, добро пожаловать в Raspberry Pi SE :) Обычно ответы лучше, если они суммируют страницы, на которые они ссылаются. Это означает, что если ссылка перемещается, ответ по-прежнему полезен.
Jivings

-1

Распространенной ошибкой при настройке / редактировании безголовых серверов является использование Windows IDE для редактирования файлов. Если вы это сделаете, используйте Notepad ++ , затем не забудьте проверить формат => формат UNIX && Encode в UTF-8 без спецификации

Решает большую часть странного поведения, как этот.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.