-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
rhel-8.6.0
-
None
-
Moderate
-
rhel-sst-cs-net-perf-services
-
ssg_core_services
-
None
-
False
-
-
None
-
None
-
None
-
None
-
If docs needed, set a value
-
-
All
-
None
Description of problem:
bind9 does not start at bootup if binding to secondary ip addresses
Version-Release number of selected component (if applicable):
9.16.23-0.7.el8
How reproducible:
always
Steps to Reproduce:
1. create secondary IPv4 and IPv6 addresses in /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.2.29
IPADDR1=192.168.2.19
[...]
IPV6ADDR=xxxx::29/64
IPV6ADDR_SECONDARIES=xxxx::19/64
2. verify that those are created when the system is fully online:
ip addr show
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e4:5f:01:98:ba:57 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.29/24 brd 192.168.2.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet 192.168.2.19/24 brd 192.168.2.255 scope global secondary noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 xxxx:6b1f:325b:899f:3772/64 scope global dynamic noprefixroute
valid_lft 2591901sec preferred_lft 14301sec
inet6 xxxx::19/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 xxxx::29/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::c3a:706d:ea57:181e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3. bind named to the secondary ip addresses: (named.conf):
[...]
listen-on port 53
;
listen-on-v6 port 53
{ xxxx::19; ::1; };
options {
[...]
query-source address 192.168.2.19;
notify-source 192.168.2.19;
transfer-source 192.168.2.19;
query-source-v6 address xxxx::19;
notify-source-v6 xxxx::19;
transfer-source-v6 xxxx::19;
[...]
}
[...]
4. restart the system
5. check journalctl -e -u named
[...]
Aug 25 22:06:32 thing2.intermeta.com named[367]: listening on IPv4 interface lo, 127.0.0.1#53
Aug 25 22:06:32 thing2.intermeta.com named[367]: listening on IPv6 interface lo, ::1#53
Aug 25 22:06:32 thing2.intermeta.com named[367]: generating session key for dynamic DNS
Aug 25 22:06:32 thing2.intermeta.com named[367]: sizing zone task pool based on 11 zones
Aug 25 22:06:32 thing2.intermeta.com named[367]: none:89: 'max-cache-size 90%' - setting to 7031MB (out of 7812MB)
Aug 25 22:06:32 thing2.intermeta.com named[367]: could not get query source dispatcher (192.168.2.19#0)
Aug 25 22:06:32 thing2.intermeta.com named[367]: loading configuration: address not available
Aug 25 22:06:32 thing2.intermeta.com named[367]: exiting (due to fatal error)
Aug 25 22:06:32 thing2.intermeta.com systemd[1]: named.service: Control process exited, code=exited status=1
Aug 25 22:06:32 thing2.intermeta.com systemd[1]: named.service: Failed with result 'exit-code'.
Aug 25 22:06:32 thing2.intermeta.com systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
6. tweak named.service file:
- remove After=network.target
- add After=network-online.target
- Add Wants=network-online.target
7. check journalctl -e -u named
Aug 25 22:11:42 thing2.intermeta.com named[581]: listening on IPv4 interface lo, 127.0.0.1#53
Aug 25 22:11:42 thing2.intermeta.com named[581]: listening on IPv4 interface eth0, 192.168.2.19#53
Aug 25 22:11:42 thing2.intermeta.com named[581]: listening on IPv6 interface lo, ::1#53
Aug 25 22:11:42 thing2.intermeta.com named[581]: listening on IPv6 interface eth0, xxxx::19#53
Aug 25 22:11:42 thing2.intermeta.com named[581]: generating session key for dynamic DNS
Aug 25 22:11:42 thing2.intermeta.com named[581]: sizing zone task pool based on 11 zones
Aug 25 22:11:42 thing2.intermeta.com named[581]: none:89: 'max-cache-size 90%' - setting to 7031MB (out of 7812MB)
Aug 25 22:11:42 thing2.intermeta.com named[581]: could not get query source dispatcher (xxxx::19#0)
Aug 25 22:11:42 thing2.intermeta.com named[581]: loading configuration: address not available
Aug 25 22:11:42 thing2.intermeta.com named[581]: exiting (due to fatal error)
Aug 25 22:11:42 thing2.intermeta.com systemd[1]: named.service: Control process exited, code=exited status=1
Aug 25 22:11:42 thing2.intermeta.com systemd[1]: named.service: Failed with result 'exit-code'.
Aug 25 22:11:42 thing2.intermeta.com systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
Actual results:
Rebooting a system where named listens on secondary addresses fails to start named. When using "network.target", the service is started before the secondary IPv4 address is online. When using "network-online.target", the service is started before the secondary IPv6 address is online. In any case, named does not start. Logging into the system and running `systemctl restart named` starts the named reliably.
Expected results:
named should start reliably after reboot when binding to secondary IP addresses.
Additional info:
- external trackers