다음은 입력할 때 얻는 결과입니다.
systemctl status dnsmasq
● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2017-12-14 08:49:31 UTC; 54min ago
Process: 590 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=2)
Process: 569 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS)
Dec 14 08:49:30 raspberrypi systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server...
Dec 14 08:49:30 raspberrypi dnsmasq[569]: dnsmasq: syntax check OK.
Dec 14 08:49:31 raspberrypi dnsmasq[590]: dnsmasq: failed to create listening socket for 10.0.20.1: Cannot assign requested address
Dec 14 08:49:31 raspberrypi systemd[1]: dnsmasq.service: Control process exited, code=exited status=2
Dec 14 08:49:31 raspberrypi systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server.
Dec 14 08:49:31 raspberrypi systemd[1]: dnsmasq.service: Unit entered failed state.
Dec 14 08:49:31 raspberrypi systemd[1]: dnsmasq.service: Failed with result 'exit-code'.
서비스를 수동으로 시작하면 제대로 작동합니다.
다음과 같이 고정 IP를 설정했습니다.
sudo nano /etc/dhcpcd.conf
interface wlan0
static ip_address=10.0.20.1/24
static routers=10.0.20.0
답변1
Dec 14 08:49:31 raspberrypi dnsmasq[590]: dnsmasq: failed to create listening socket for 10.0.20.1: Cannot assign requested address
10.0.20.1
이 줄은 dnsmasq가 시작될 때 시스템에 주소가 없음을 나타냅니다. 이 주소를 추가한 후 시작하려면 systemd 장치를 재구성해야 합니다. 이는 systemd 플러그인을 사용하여 수행할 수 있습니다. 디렉터리를 만들고 /etc/systemd/system/dnsmasq.service.d
해당 디렉터리의 확장자를 가진 파일에 다음을 추가합니다..conf
[Unit]
After=network-online.target
이는 네트워크가 일반적인 방식으로 온라인 상태이고 network-online.target
셀에 속해 있다고 가정합니다. 그렇지 않으면 작동하지 않으므로 적절하게 조정해야 합니다.
답변2
이 문제를 해결했습니다.
해당 IP를 삭제했습니다
sudo nano /etc/dhcpcd.conf
interface wlan0
static ip_address=10.0.20.1/24
static routers=10.0.20.0
나는 그러한 인터페이스에 IP를 부여했습니다.
sudo nano /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto wlan0
iface wlan0 inet static
address 10.0.20.1
netmask 255.255.255.0
auto eth0
iface eth0 inet dhcp