起動時にdnsmasqを起動できません

起動時にdnsmasqを起動できません

以下は、入力したときに得られる結果です。

 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

関連情報