Raspbian을 실행 중이고 cmd를 실행하려고 합니다.isc-dhcp-server 서비스가 시작됩니다.. 그러면 메시지가 반환됩니다.
[FAIL] Starting ISC DHCP server: dhcpd[....] check syslog for diagnostics. ... failed!
내 거/var/sys/로그파일에 다음이 포함됨
dhcpd: Wrote 0 leases to leases file.
dhcpd: Multiple interfaces match the same subnet: wlan0 eth0
dhcpd: Multiple interfaces match the same shared network: wlan0 eth0
dhcpd:
dhcpd: No subnet declaration for wlan1 (no IPv4 addresses).
dhcpd: ** Ignoring requests on wlan1. If this is not what
dhcpd: you want, please write a subnet declaration
dhcpd: in your dhcpd.conf file for the network segment
dhcpd: to which interface wlan1 is attached. **
dhcpd:
dhcpd:
dhcpd: Not configured to listen on any interfaces!
내 거/etc/네트워크/인터페이스포함하다
auto lo
iface lo inet loopback
iface wlan1 inet static
address 192.168.42.1
netmask 255.255.255.0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
up iptables-restore < /etc/iptables.ipv4.nat
오류 로그 분석
여러 인터페이스가 동일한 서브넷과 일치함: wlan0 eth0
서브넷이 다음으로 표시되어 있습니까?주소내부에 -/etc/네트워크/인터페이스문서? 만일이 경우라면,이더넷 0가지다주소 192.168.1.100그리고무선랜 0가지다주소 192.168.1.200. 이것들은 다릅니다.
또한. 내가 다시 정리할 때/etc/네트워크/인터페이스다음과 같이 블록을 파일로 정리하고 정렬합니다.
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
iface wlan1 inet static
address 192.168.42.1
netmask 255.255.255.0
up iptables-restore < /etc/iptables.ipv4.nat
내 실수변수/시스템/로그파일이 다음으로 변경됩니다.
dhcpd: Wrote 0 leases to leases file.
dhcpd: No subnet declaration for wlan1 (no IPv4 addresses).
dhcpd: ** Ignoring requests on wlan1. If this is not what
...
이 파일 정렬로 인해 이전 **dhcpd: 동일한 서브넷: wlan0 eth0**과 일치하는 여러 인터페이스가 사라진 이유는 무엇입니까? 동일한 서브넷과 일치하면 선언 여부와 상관없이 항상 일치해야 합니다. 그렇죠?
답변1
eth0
wlan0
동일한 서브넷/네트워크 주소를 가집니다 .
인터페이스 의 서브넷 주소(네트워크 주소라고도 함)를 eth0
입력합니다 . "주소"와 "넷마스크"의 "논리적 AND"에 의해 결정됩니다. "주소"는 , "넷마스크"는 입니다 .192.168.1
192.168.1.0
192.168.1.100
255.255.255.0
십진수 표기법에서 숫자 위치의 값은... 10000,1000,100,10,1입니다.
이진 표기법에서 값은... 128, 64, 32, 16, 8, 4, 2, 1입니다.
128 64 32 16 8 4 2 1
Since 192=128+64 it is 1 1 0 0 0 0 0 0 or 11000000 in binary.
Since 168=128+32+8 it is 1 0 1 0 1 0 0 0 or 10101000 in binary.
Since 1=1 it is 0 0 0 0 0 0 0 1 or 00000001 in binary.
Since 100=64+32+4 it is 0 1 1 0 0 1 0 0 or 01100100 in binary.
Since 200=128+64+8 it is 1 1 0 0 1 0 0 0 or 11001000 in binary.
255=128+64+32+16+8+4+2+1 or 1 1 1 1 1 1 1 1 or 11111111 in binary.
서브넷이나 네트워크 주소를 찾으려면 "주소"와 "넷마스크"의 "논리적 AND"를 수행해야 합니다. 0과 0 = 0, 1과 0 = 0, 0과 1 = 0, 마지막으로 1과 1 = 1의 논리 AND입니다. 따라서 192.168.1.100
논리 AND 255.255.255.0
는 다음과 같습니다.
11000000.10101000.00000001.01100100
"logical and" 11111111.11111111.11111111.00000000 gives
11000000.10101000.00000001.00000000 which equals
192. 168. 1. 0 or 192.168.1.0
또한 192.168.1.200
논리적 255.255.255.0
이고
11000000.10101000.00000001.11001000
"logical and" 11111111.11111111.11111111.00000000 gives
11000000.10101000.00000001.00000000 which equals
192. 168. 1. 0 or 192.168.1.0
따라서 두 서브넷 모두 동일한 주소를 가지므로 동일한 서브넷입니다.
해결 방법은 또는 192.168.1.200
로 변경하는 것 입니다 .192.168.2.200
192.168.1.100
192.168.2.100
관련 예시는 다음을 참조하세요.DHCP 서버: 다양한 인터페이스에 대해 서로 다른 서브넷 주소를 제공합니다.