我尝试使用 hostapd 和 isc-dhcpd 设置 wifi 接入点,但 dhcp 服务器不起作用。 conf 文件与我在本教程中找到的文件相同:[Hostapd : The Linux Way to create Virtual Wifi Access Point][1]
!!!我仍然有问题,我已经阅读了文档和手册页......!!!!
这是当我想使用命令“systemctl start isc-dhcp-server.service”或“service isc-dhcp-server start”启动它时收到的错误消息
Job for isc-dhcp-server.service failed because the control process exited with error code.
See "systemctl status isc-dhcp-server.service" and "journalctl -xe" for details.
这是命令“systemctl status isc-dhcp-server.service”的输出:
root@l0calh0st:~# systemctl status isc-dhcp-server.service
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2018-01-09 18:23:07 CET; 3s ago
Docs: man:systemd-sysv-generator(8)
Process: 3831 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)
Jan 09 18:23:05 l0calh0st dhcpd[3842]: bugs on either our web page at www.isc.org or in the README file
Jan 09 18:23:05 l0calh0st dhcpd[3842]: before submitting a bug. These pages explain the proper
Jan 09 18:23:05 l0calh0st dhcpd[3842]: process and the information we find helpful for debugging..
Jan 09 18:23:05 l0calh0st dhcpd[3842]:
Jan 09 18:23:05 l0calh0st dhcpd[3842]: exiting.
Jan 09 18:23:07 l0calh0st isc-dhcp-server[3831]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed!
Jan 09 18:23:07 l0calh0st isc-dhcp-server[3831]: failed!
Jan 09 18:23:07 l0calh0st systemd[1]: isc-dhcp-server.service: Control process exited, code=exited status=1
Jan 09 18:23:07 l0calh0st systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
Jan 09 18:23:07 l0calh0st systemd[1]: Failed to start LSB: DHCP server.
这是etc/dhcp/dhcpd.conf 文件:
ddns-update-style none;
ignore client-updates;
authoritative;
option local-wpad code 252 = text;
subnet
10.0.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers
10.0.0.1;
# --- Netmask
option subnet-mask
255.255.255.0;
# --- Broadcast Address
option broadcast-address
10.0.0.255;
# --- Domain name servers, tells the clients which DNS servers to use.
option domain-name-servers
10.0.0.1, 8.8.8.8, 8.8.4.4;
option time-offset
0;
range 10.0.0.3 10.0.0.13;
default-lease-time 1209600;
max-lease-time 1814400;
}
这是 /etc/default/isc-dhcp-server 文件:
# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid
# Additional options to start dhcpd with.
# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="wlan0"
INTERFACESv6=""
这是 /etc/network/interfaces 文件:(我不知道这是否重要)
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 10.0.0.14
netmask 255.255.255.0
“journalctl -xe”的输出
Jan 09 19:59:50 l0calh0st dhcpd[4303]:
Jan 09 19:59:50 l0calh0st dhcpd[4303]:
Jan 09 19:59:50 l0calh0st dhcpd[4303]: Not configured to listen on any interfaces!
Jan 09 19:59:50 l0calh0st dhcpd[4303]:
Jan 09 19:59:50 l0calh0st dhcpd[4303]: If you think you have received this message due to a bug rather
Jan 09 19:59:50 l0calh0st dhcpd[4303]: than a configuration issue please read the section on submitting
Jan 09 19:59:50 l0calh0st dhcpd[4303]: bugs on either our web page at www.isc.org or in the README file
Jan 09 19:59:50 l0calh0st dhcpd[4303]: before submitting a bug. These pages explain the proper
Jan 09 19:59:50 l0calh0st dhcpd[4303]: process and the information we find helpful for debugging..
Jan 09 19:59:50 l0calh0st dhcpd[4303]:
Jan 09 19:59:50 l0calh0st dhcpd[4303]: exiting.
Jan 09 19:59:52 l0calh0st isc-dhcp-server[4298]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed!
Jan 09 19:59:52 l0calh0st isc-dhcp-server[4298]: failed!
Jan 09 19:59:52 l0calh0st systemd[1]: isc-dhcp-server.service: Control process exited, code=exited status=1
Jan 09 19:59:52 l0calh0st systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
Jan 09 19:59:52 l0calh0st systemd[1]: Failed to start LSB: DHCP server.
-- Subject: Unit isc-dhcp-server.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit isc-dhcp-server.service has failed.
ifconfig 输出:
root@l0calh0st:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.101 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 2003:50:ad02:a21:d455:ca81:501e:727a prefixlen 64 scopeid 0x0<global>
inet6 fe80::da92:2698:1cc8:40d prefixlen 64 scopeid 0x20<link>
ether 40:8d:5c:52:43:f4 txqueuelen 1000 (Ethernet)
RX packets 10328 bytes 4043207 (3.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9033 bytes 1272064 (1.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdf200000-df220000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Lokale Schleife)
RX packets 286 bytes 18370 (17.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 286 bytes 18370 (17.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether da:a6:21:bc:a3:11 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
!!!我仍然有问题,我已经阅读了文档和手册页......!!!!
答案1
这条消息Not configured to listen on any interfaces!
就是你的线索。
启动时,isc-dhcp-server
除非有一个网络设备配置为位于您的服务将为其传递地址的同一子网上,否则它将不会启动。
因此,您需要编辑/etc/network/interfaces
并进行适当的更改,以便您的wlan0
接口在 10.0.0.0/24 子网中有一个地址,该地址不在您的租用池范围内(10.0.0.3-10.0.0.13,基于您的配置)上面的文件)。一旦您可以wlan0
使用 10.0.0.x IP启动接口,那么(重新)启动isc-dhcp-server
守护进程应该可以正常工作。
答案2
只需使用以下命令在 wlan NIC 上添加 IP 地址即可
ifconfig wlan0 10.0.0.1
答案3
我遇到了同样的问题,对我有用的方法是添加eth0
子网(这是我的网络接口的名称)作为文件中的子网声明dhcpd.conf
。
在您的情况下,子网声明应该是:
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.14;
}