FS#38553 - [bind] 9.9.4.P2-1 (i686) fails to listen on network ip after system startup when using 3.10.27-1-lts

Attached to Project: Community Packages
Opened by Jesse (laertiades) - Friday, 17 January 2014, 14:13 GMT
Last edited by Sébastien Luttringer (seblu) - Saturday, 18 January 2014, 15:33 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sébastien Luttringer (seblu)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I have this bind package working on a system using 3.12.7-2-ARCH kernel. It has following in /srv/named/etc/named.conf

options {
listen-on {
192.168.1.12;
127.0.0.1;
};
};

this causes the following two lines when executing $ netstat -nltu

tcp 0 0 192.168.1.12:53 0.0.0.0:* LISTEN
udp 0 0 192.168.1.12:53 0.0.0.0:*

I installed linux-lts (3.10.26 and problem persists with 3.10.27) and bind stopped communicating with the network immediately after system startup (bind is enabled with systemctl). The two above netstat lines were not present. $systemctl status named, however, looked normal. I can restart named manually and it works fine. I added the following line to /etc/systemd/system/named.service which allows the service to function properly upon system startup:

Type=idle

Additional info:
here is the original forum discussion:
https://bbs.archlinux.org/viewtopic.php?pid=1371297#p1371297

Steps to reproduce:
Start with system using 3.10.27-1-lts kernel
Install and enable bind
Add network address to listen-on block in config file
reboot system
This task depends upon

Closed by  Sébastien Luttringer (seblu)
Saturday, 18 January 2014, 15:33 GMT
Reason for closing:  Not a bug
Comment by Sébastien Luttringer (seblu) - Saturday, 18 January 2014, 01:44 GMT
I guess your problem is a raise condition and idle only fix it because bind is started later.
Ensure your network is configured *before* starting bind. As you don't listen on *, specified interface must exist and have this IP before starting bind.

bind.service is started after network.target. If you use NetworkManager you can use NetworkManager-wait-online.service, otherwise, instruct your network configuration tools to don't declare network to be up before it is.

What's your network config?
Comment by Jesse (laertiades) - Saturday, 18 January 2014, 02:49 GMT
Thank you Sébastien, Based on your comment I think I discovered the problem. I am using dhcpcd. dhcpcd.service was enabled which caused dhcpcd@enp4s0.service to fail. I disabled dhcpcd.service and dhcpcd@enp4s0 now starts up properly and named works upon boot without Type=idle. I apologize for the false alarm.

Loading...