I'm in over my head a bit on these details, so appreciate the help. > The smoking gun is in the hand of systemctl ...
Hadn't thought of that, but not surprised to hear it. I inherited this, and didn't yet monkey with systemd. But I can as needed. Here's the systemd unit file for named: cat named.service [Unit] Description=Bind9 DNS Server After=syslog.target network-online.target Before=named.target Wants=network-online.target [Service] ExecStartPre=/opt/sbin/bind-chroot.sh /var/chroot/named rebuild ExecStart=/opt/bind9/sbin/named -f -t "/var/chroot/named" -u named -c /etc/named.conf ExecReload=/opt/sbin/bind-chroot.sh /var/chroot/named reload ExecReload=/opt/bind9/sbin/rndc reload ExecStop=/opt/bind9/sbin/rndc stop ExecStopPost=/opt/sbin/bind-chroot.sh /var/chroot/named destroy ReadOnlyDirectories=/etc InaccessibleDirectories=/boot InaccessibleDirectories=/home [Install] WantedBy=multi-user.target And here's the chroot setup script. From the notes I did find, this was done specifically for this opensuse system. I haven't setup a chroot on my own yet, but I do see the cp back & forth. Wonder if something's missing ... cat /opt/sbin/bind-chroot.sh #!/bin/bash CHROOT="$1" build_chroot() { mkdir -p ${CHROOT}/dev mkdir -p ${CHROOT}/var/{run/named,log} mkdir -p ${CHROOT}/lib64/engines mkdir -p ${CHROOT}/etc mkdir -p ${CHROOT}/namedb/{master,slave,working} mkdir -p ${CHROOT}/keys/{managed-keys,DNSSEC} mkdir -p ${CHROOT}/includes mkdir -p ${CHROOT}/var/lib/GeoIP populate_chroot mknod -m 644 ${CHROOT}/dev/null c 1 3 mknod -m 644 ${CHROOT}/dev/random c 1 8 mknod -m 644 ${CHROOT}/dev/urandom c 1 9 chown root:named ${CHROOT} chmod 750 ${CHROOT} chown -R named:named ${CHROOT}/namedb/{master,slave,working} chown named:named ${CHROOT}/var/{run,log} chown named:named ${CHROOT}/var/run/named chmod 755 ${CHROOT}/var/run/named chmod 666 ${CHROOT}/dev/{null,random,urandom} chown -R named:named ${CHROOT}/dev } populate_chroot() { cp -a /opt/etc/named/includes/* ${CHROOT}/includes/ cp -a /opt/etc/named/keys/* ${CHROOT}/keys/ cp -a /opt/etc/named/named.{conf,cache} ${CHROOT}/etc/ cp -a /opt/etc/named/namedb/* ${CHROOT}/namedb/ cp -a /opt/etc/named/rndc.key ${CHROOT}/ cp -a /var/lib/GeoIP/* ${CHROOT}/var/lib/GeoIP/ cp /lib64/engines/libgost.so ${CHROOT}/lib64/engines/ cp /etc/localtime ${CHROOT}/etc/ } destroy_chroot() { cp -af ${CHROOT}/keys/DNSSEC/* /opt/etc/named/keys/DNSSEC/ cp -af ${CHROOT}/namedb/master/*.signed /opt/etc/named/namedb/master/ cp -af ${CHROOT}/namedb/slave/* /opt/etc/named/namedb/slave/ umount --lazy ${CHROOT}/dev rm -rf ${CHROOT} } case "$2" in build) build_chroot ;; destroy) destroy_chroot ;; rebuild) destroy_chroot build_chroot ;; reload) populate_chroot ;; *) exit 1 ;; esac exit 0 At the moment I'm looking suspiciously at that ReadOnlyDirectories=/etc Also need to re-read those^ comments about in-zone & out-of-zone .... Fwiw, afaict the server's working fine otherwise. I'm not seeing, well let's say not yet, any errors. Jason _______________________________________________ Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from this list bind-users mailing list bind-users@lists.isc.org https://lists.isc.org/mailman/listinfo/bind-users