You are not logged in.

#1 2016-11-07 10:42:26

jancici
Member
From: svk
Registered: 2011-12-04
Posts: 190

dnsmasq not starting :: unknown interface

hi

I am trying to find out why dnsmasq is not starting at boot time. It is saying that it doesnt know interface lokalka.

Nov 07 11:00:58 skriatok systemd[1]: Starting A lightweight DHCP and caching DNS server...
Nov 07 11:00:58 skriatok dnsmasq[267]: dnsmasq: syntax check OK.
Nov 07 11:00:58 skriatok dnsmasq[279]: dnsmasq: unknown interface lokalka
Nov 07 11:00:58 skriatok dnsmasq[279]: unknown interface lokalka
Nov 07 11:00:58 skriatok dnsmasq[279]: FAILED to start up
Nov 07 11:00:58 skriatok systemd[1]: dnsmasq.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Nov 07 11:00:58 skriatok systemd[1]: Failed to start A lightweight DHCP and caching DNS server.
Nov 07 11:00:58 skriatok systemd[1]: dnsmasq.service: Unit entered failed state.
Nov 07 11:00:58 skriatok systemd[1]: dnsmasq.service: Failed with result 'exit-code'.

Later I am login in and restartting dnsmasq.service and everything is going well.

Nov 07 11:01:31 skriatok systemd[1]: Starting A lightweight DHCP and caching DNS server...
Nov 07 11:01:31 skriatok dnsmasq[497]: dnsmasq: syntax check OK.
Nov 07 11:01:31 skriatok systemd[1]: Started A lightweight DHCP and caching DNS server.
Nov 07 11:01:31 skriatok dnsmasq[507]: started, version 2.76 cachesize 1000
Nov 07 11:01:31 skriatok dnsmasq[507]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify
Nov 07 11:01:31 skriatok dnsmasq[507]: DBus support enabled: connected to system bus
Nov 07 11:01:31 skriatok dnsmasq-dhcp[507]: DHCP, IP range 192.168.43.50 -- 192.168.43.150, lease time 30m
Nov 07 11:01:31 skriatok dnsmasq-dhcp[507]: DHCP, IP range 192.168.42.50 -- 192.168.42.150, lease time 30m
Nov 07 11:01:31 skriatok dnsmasq[507]: reading /etc/resolv.dnsmasq.conf
Nov 07 11:01:31 skriatok dnsmasq[507]: using nameserver 208.67.222.222#53
Nov 07 11:01:31 skriatok dnsmasq[507]: using nameserver 208.67.220.220#53
Nov 07 11:01:31 skriatok dnsmasq[507]: using nameserver 8.8.8.8#53
Nov 07 11:01:31 skriatok dnsmasq[507]: read /etc/hosts - 5 addresses

I am renaming interface with uder.rules

cat /etc/udev/rules.d/10-network.rules 
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:..:56", NAME="lokalka"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:..:57", NAME="brana"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="4c:..:62", NAME="wifina"

so checking what systemd-networkd.service is doing

Nov 07 11:00:58 skriatok systemd[1]: Starting Network Service...
Nov 07 11:00:58 skriatok systemd-networkd[257]: Enumeration completed
Nov 07 11:00:58 skriatok systemd-networkd[257]: lokalka: Renamed to eth0
Nov 07 11:00:58 skriatok systemd[1]: Started Network Service.
Nov 07 11:00:58 skriatok systemd-networkd[257]: brana: Renamed to eth1
Nov 07 11:00:58 skriatok systemd-networkd[257]: eth1: Renamed to brana
Nov 07 11:00:58 skriatok systemd-networkd[257]: eth0: Renamed to lokalka
Nov 07 11:00:58 skriatok systemd-networkd[257]: wifina: Renamed to wlan0
Nov 07 11:00:58 skriatok systemd-networkd[257]: wlan0: Renamed to wifina
Nov 07 11:00:58 skriatok systemd-networkd[257]: wifina: IPv6 enabled for interface: Success
Nov 07 11:00:58 skriatok systemd-networkd[257]: brana: IPv6 enabled for interface: Success
Nov 07 11:00:58 skriatok systemd-networkd[257]: lokalka: IPv6 enabled for interface: Success
Nov 07 11:01:00 skriatok systemd-networkd[257]: wifina: Gained carrier
Nov 07 11:01:01 skriatok systemd-networkd[257]: brana: Gained carrier
Nov 07 11:01:01 skriatok systemd-networkd[257]: brana: DHCPv4 address 192.168.75.112/24 via 192.168.75.1
Nov 07 11:01:01 skriatok systemd-networkd[257]: wifina: Gained IPv6LL
Nov 07 11:01:03 skriatok systemd-networkd[257]: brana: Gained IPv6LL
Nov 07 11:01:14 skriatok systemd-networkd[257]: wifina: Configured
Nov 07 11:01:16 skriatok systemd-networkd[257]: brana: Configured

I have to say that there is not CARRIER on interface lokalka. But after I login to console I can restart dnsmasq without problems, still no carrier on lokalka.

I am searching for solution already for some hours.
I did try "network-online.target" trick, no help. I did try do not rename interfaces, not help.

I did disable dnsmasq.service and after boot up I am login in and starting manually and it works without problems.

so

#1
I think that I have to somehow start dnsmasq later, but I dont know how ...

#2
and problem is maybe also that networkd confirm interface lokalka only if there is CARRIER

systemd-networkd[249]: lokalka: Gained carrier

and later

systemd-networkd[249]: lokalka: Configured

could I have some more control of that? I mean if I can force networkd to not  check CARRIER on interface?

thank you for any help / tip ...

Last edited by jancici (2016-11-11 09:41:02)

Offline

#2 2016-11-11 09:51:04

jancici
Member
From: svk
Registered: 2011-12-04
Posts: 190

Re: dnsmasq not starting :: unknown interface

I did modify dnsmasq.service
systemctl edit dnsmasq

[Unit]
Requires=systemd-networkd.service
After=systemd-networkd.service

but when checking journal I can see that network target is reach before dnsmasq start

Nov 10 23:21:41 skriatok kernel: IPv6: ADDRCONF(NETDEV_UP): wifina: link is not ready
Nov 10 23:21:41 skriatok systemd[1]: Reached target Network.
Nov 10 23:21:41 skriatok systemd-networkd[254]: lokalka: Renamed to eth0
Nov 10 23:21:41 skriatok systemd-networkd[254]: brana: Renamed to eth1
Nov 10 23:21:41 skriatok systemd-networkd[254]: eth0: Renamed to lokalka
Nov 10 23:21:41 skriatok systemd-networkd[254]: eth1: Renamed to brana
Nov 10 23:21:41 skriatok systemd-networkd[254]: wifina: Renamed to wlan0
Nov 10 23:21:41 skriatok systemd-networkd[254]: wlan0: Renamed to wifina
Nov 10 23:21:41 skriatok systemd-networkd[254]: wifina: IPv6 enabled for interface: Success
Nov 10 23:21:41 skriatok kernel: random: crng init done
Nov 10 23:21:41 skriatok systemd-networkd[254]: brana: IPv6 enabled for interface: Success
Nov 10 23:21:41 skriatok systemd[1]: Starting Permit User Sessions...
Nov 10 23:21:41 skriatok systemd[1]: Started Syncthing - Open Source Continuous File Synchronization for syncthing.
Nov 10 23:21:41 skriatok systemd[1]: Started Syncthing Inotify File Watcher for syncthing.
Nov 10 23:21:41 skriatok systemd[1]: Started Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.
Nov 10 23:21:41 skriatok systemd[1]: Starting Network Time Service...
Nov 10 23:21:41 skriatok systemd[1]: Reached target Network is Online.
Nov 10 23:21:41 skriatok systemd[1]: Starting Shorewall IPv4 firewall...
Nov 10 23:21:41 skriatok systemd[1]: Started OpenSSH Daemon.
Nov 10 23:21:41 skriatok systemd[1]: Starting A lightweight DHCP and caching DNS server...
Nov 10 23:21:41 skriatok systemd[1]: Started Permit User Sessions.
Nov 10 23:21:41 skriatok systemd[1]: Started Getty on tty1.
Nov 10 23:21:41 skriatok systemd[1]: Reached target Login Prompts.
Nov 10 23:21:41 skriatok kernel: r8169 0000:04:00.0 brana: link down
Nov 10 23:21:41 skriatok kernel: r8169 0000:04:00.0 brana: link down
Nov 10 23:21:41 skriatok kernel: IPv6: ADDRCONF(NETDEV_UP): brana: link is not ready
Nov 10 23:21:41 skriatok systemd-networkd[254]: lokalka: IPv6 enabled for interface: Success
Nov 10 23:21:41 skriatok hostapd[258]: Configuration file: /etc/hostapd/hostapd.conf
Nov 10 23:21:41 skriatok ntpd[260]: ntpd 4.2.8p8@1.3265-o Sat Jun  4 14:58:28 UTC 2016 (1): Starting
Nov 10 23:21:41 skriatok ntpd[260]: Command line: /usr/bin/ntpd -g -u ntp:ntp
Nov 10 23:21:41 skriatok systemd[1]: Started Network Time Service.
Nov 10 23:21:41 skriatok dnsmasq[265]: dnsmasq: syntax check OK.
Nov 10 23:21:41 skriatok ntpd[272]: proto: precision = 0.200 usec (-22)
Nov 10 23:21:41 skriatok ntpd[272]: Listen and drop on 0 v6wildcard [::]:123
Nov 10 23:21:41 skriatok ntpd[272]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Nov 10 23:21:41 skriatok syncthing-inotify[257]: [WARNING] Cannot connect to Syncthing: Get http://0.0.0.0:8384/rest/404: dial tcp 0.0.0.0:8384: getsockopt: connection refused
Nov 10 23:21:41 skriatok kernel: r8169 0000:03:00.0 lokalka: link down
Nov 10 23:21:41 skriatok kernel: r8169 0000:03:00.0 lokalka: link down
Nov 10 23:21:41 skriatok kernel: IPv6: ADDRCONF(NETDEV_UP): lokalka: link is not ready
Nov 10 23:21:41 skriatok hostapd[258]: Using interface wifina with hwaddr 4c:5e:0c:17:f8:62 and ssid "moja_wifina"
Nov 10 23:21:41 skriatok systemd[1]: dnsmasq.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Nov 10 23:21:41 skriatok dnsmasq[274]: failed to create listening socket for 192.168.42.1: Cannot assign requested address
Nov 10 23:21:41 skriatok dnsmasq[274]: dnsmasq: failed to create listening socket for 192.168.42.1: Cannot assign requested address
Nov 10 23:21:41 skriatok systemd[1]: Failed to start A lightweight DHCP and caching DNS server.
Nov 10 23:21:41 skriatok dnsmasq[274]: FAILED to start up
Nov 10 23:21:41 skriatok systemd[1]: dnsmasq.service: Unit entered failed state.
Nov 10 23:21:41 skriatok ntpd[272]: Listen normally on 2 lo 127.0.0.1:123

so I gues that systemd is doing that in parallel and it is not good

still did not find way how to start dnsmasq later or as last unit.
please, have somebody idea how to do that?
thanks

Offline

#3 2016-11-11 10:07:21

jancici
Member
From: svk
Registered: 2011-12-04
Posts: 190

Re: dnsmasq not starting :: unknown interface

here is my dnsmasq.conf

domain-needed
bogus-priv
resolv-file=/etc/resolv.dnsmasq.conf
local=/my_local_domain/
listen-address=127.0.0.1,192.168.42.1,192.168.43.1
bind-interfaces
no-hosts
addn-hosts=/etc/hosts.dnsmasq
expand-hosts
domain=_as_my_local_domain_
dhcp-range=192.168.42.50,192.168.42.150,30m
dhcp-range=192.168.43.50,192.168.43.150,30m

I am not really sure about combination of options :: bind-interfaces and listne-address and interface.
any suggestions? thanks

Offline

#4 2016-11-11 12:31:43

jancici
Member
From: svk
Registered: 2011-12-04
Posts: 190

Re: dnsmasq not starting :: unknown interface

I did change two things:

#1 configured brana with static IP

#2 change dnsmasq  service

sudo systemctl cat dnsmasq.service 
[sudo] password for jano: 
# /usr/lib/systemd/system/dnsmasq.service
[Unit]
Description=A lightweight DHCP and caching DNS server
After=network.target
Documentation=man:dnsmasq(8)

[Service]
Type=dbus
BusName=uk.org.thekelleys.dnsmasq
ExecStartPre=/usr/bin/dnsmasq --test
ExecStart=/usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

# /etc/systemd/system/dnsmasq.service.d/override.conf
[Unit]
Requires=systemd-networkd.service

[Service]
Type=idle

looks that it si working, dnsmasq is starting later ...

I am not sure if it is good change TYPE of service from dbus to idle.
what do you think?

Offline

Board footer

Powered by FluxBB