BCM4313
무선 카드에 AP 모드를 설정 하려고 합니다 .
내 기본 hostapd
구성은 다음과 같습니다.
interface=wlan0
driver=nl80211
ssid=test
hw_mode=b
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
네트워크가 성공적으로 설정되었으며 네트워크에 연결할 수 있습니다. 그러나 IP 주소를 가져오는 동안 연결 프로세스가 중지됩니다.
따라서 내 dhcpd.conf
파일은 다음 삽입을 포함하여 기본 파일과 거의 동일해 보입니다.
# option definitions common to all supported networks...
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
#default-lease-time 600;
#max-lease-time 7200;
...
option broadcast-address 10.10.0.255;
subnet 10.10.0.0 netmask 255.255.255.0 {
interface wlan0;
range 10.10.0.2 10.10.0.16;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option routers 10.10.0.1;
}
내 wlan0
인터페이스가 구성되었습니다(내 생각엔) 적절하게:
wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
inet 10.10.0.1 netmask 255.255.255.0 broadcast 10.10.0.255
ether 55:28:cc:23:14:a6 txqueuelen 1000 (Ethernet)
/etc/default/isc-dhcp-server
다음 줄이 있는 경우 :
DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
INTERFACESv4="wlan0"
결국, journalctl -xe
나에게 다음과 같은 결과가 나왔습니다.
Jul 10 10:11:25 srv dhcpd[3296]: Wrote 0 leases to leases file.
Jul 10 10:11:25 srv dhcpd[3296]:
Jul 10 10:11:25 srv dhcpd[3296]: No subnet declaration for wlan0 (no IPv4 addresses).
Jul 10 10:11:25 srv dhcpd[3296]: ** Ignoring requests on wlan0. If this is not what
Jul 10 10:11:25 srv dhcpd[3296]: you want, please write a subnet declaration
Jul 10 10:11:25 srv dhcpd[3296]: in your dhcpd.conf file for the network segment
Jul 10 10:11:25 srv dhcpd[3296]: to which interface wlan0 is attached. **
Jul 10 10:11:25 srv dhcpd[3296]:
Jul 10 10:11:25 srv dhcpd[3296]:
Jul 10 10:11:25 srv dhcpd[3296]: Not configured to listen on any interfaces!
Jul 10 10:11:25 srv dhcpd[3296]:
Jul 10 10:11:25 srv dhcpd[3296]: If you think you have received this message due to a bug rather
Jul 10 10:11:25 srv dhcpd[3296]: than a configuration issue please read the section on submitting
Jul 10 10:11:25 srv dhcpd[3296]: bugs on either our web page at www.isc.org or in the README file
Jul 10 10:11:25 srv dhcpd[3296]: before submitting a bug. These pages explain the proper
Jul 10 10:11:25 srv dhcpd[3296]: process and the information we find helpful for debugging..
Jul 10 10:11:25 srv dhcpd[3296]:
Jul 10 10:11:25 srv dhcpd[3296]: exiting.
Jul 10 10:11:27 srv isc-dhcp-server[3283]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed!
Jul 10 10:11:27 srv isc-dhcp-server[3283]: failed!
Jul 10 10:11:27 srv systemd[1]: isc-dhcp-server.service: Control process exited, code=exited status=1
Jul 10 10:11:27 srv systemd[1]: Failed to start LSB: DHCP server.
이 내 꺼야 /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 10.10.0.1
netmask 255.255.255.0
이 sudo apt-get install -f
명령을 시도했지만 효과가 없습니다.
저와 비슷한 질문을 많이 봤어요(1,2,삼) 하지만 그 중 어느 것도 내 경우에 맞지 않았습니다. DHCP 서버를 올바르게 작동시키는 방법은 무엇입니까?
답변1
isc-dhcp-server
그리고 hostapd
(debian sid에서) 나를 위해 작동하지만 나는 dhcpd.conf
또한 내부에 shared-network
정의 option broadcast-address
가 있습니다 subnet {...}
.
다음과 같이 시도해 보세요.
shared-network net_wlan0 {
subnet 10.10.0.0 netmask 255.255.255.0 {
authoritative;
range 10.10.0.2 10.10.0.16;
option broadcast-address 10.10.0.255;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option routers 10.10.0.1;
}
}
내 안에도 다음이 있습니다 /etc/default/isc-dhcp-server
.
INTERFACESv4="br0 br1 wlan0"
이는 dhcpd에게 어떤 인터페이스를 수신할지 알려주고 해당 매개변수를 사용하여 실행되도록 합니다(명령줄 끝에 있는 인터페이스에 유의하세요).
# ps h -o cmd -C dhcpd
/usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf br0 br1 wlan0
참고: isc-dhcp-server
이전 버전의 패키지에서는 INTERFACES
대신 변수를 사용했습니다 INTERFACESv4
. 이 변경 사항은 올해 2월에 발생했습니다. 에 따르면 etckeeper
나의 마지막 제출일은 /etc/default/isc-dhcp-server
2016년 2월 10일이었습니다.
또한 로컬로 캐시된 DNS 확인자(예: unbound
또는 dnsmasq
다른 여러 가지 중 하나)를 실행하는 것이 좋습니다. Google의 DNS 서버를 전달자로 지정하지만 제 생각에는 로컬 캐싱이 필수적입니다. 이와 같은 프록시 서버 squid
도 그만한 가치가 있습니다. 로컬 NTP 서버이므로 네트워크상의 모든 컴퓨터를 정확히 동일한 시간으로 동기화할 수 있습니다.
그런데 저는 ath9k
USB Wi-Fi 카드를 사용하고 있으며 dhcpd는 두 개의 다른 네트워크인 eth0과 eth1(실제로는 내 VM에 대해 br0과 br1로 브리지됨)도 제공하지만 이는 아무런 차이가 없습니다.
RTL 8192 기반 USB NIC를 작동시키려는 데 큰 문제가 있었고 결국 포기하고 AR9271을 구입했습니다.
0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
두 USB Wi-Fi 장치 모두 각각 약 10-15달러(동일한 브랜드, 동일한 제조업체(TP-Link), 다른 칩셋)로 매우 저렴하므로 8192를 작동시키려고 너무 많은 시간을 소비할 가치가 없습니다(IMO는 8192) 네트워크 카드는 정크일 수 있으며 클라이언트로서 안정적으로 작동하지도 않습니다. 제대로 작동하기 시작한 다음 연결을 끊고 중단됩니다. 다시 작동하려면 제거하고 다시 삽입해야 합니다.
답변2
마침내 해결책을 찾았습니다. 어쩌면 이 단계 중 일부는 중복될 수도 있지만 상관하지 않습니다.마침내일하다.
- Wi-Fi가 하드웨어로 잠겨 있을 수 있습니다. 그렇지 않은지 확인하십시오.
- 무선 네트워크가 다운되었을 수 있습니다.
sudo ifconfig wlan0 up
(또는 무선랜엑스다른 경우에는) - Mac과 호스트 사이에 바인딩을 추가합니다. 결국 다음과 같습니다.
subnet 10.10.0.0 netmask 255.255.255.0 {
interface wlan0;
range 10.10.0.2 10.10.0.16;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option routers 10.10.0.1;
host wlan0 {
hardware ethernet 40:2c:f4:36:d4:16;
fixed-address 10.10.0.1;
}
}
답변3
오류 메시지에 따르면 "인터페이스 wlan0이 연결된 네트워크 세그먼트에 대한 dhcpd.conf 파일에 서브넷 선언을 작성하십시오."
이는 isc-dhcpd의 알려진 기능/제한 사항입니다. DHCP 요청을 수신하는 기본 인터페이스의 네트워크 블록/서브넷을 강제로 정의해야 합니다.
인터페이스의 주소는 10.10.0.1이고 넷마스크는 255.255.255.0이므로 다음을 첫 번째 DHCP 서브넷으로 추가하세요.
subnet 10.10.0.0 netmask 255.255.255.0 {
option routers 10.10.0.1
option subnet-mask 255.255.255.0;
}
DHCP 데몬을 다시 시작하면 이제 작동합니다.