FedoraやRockyLinuxなどのchrootを使用するように名前を設定しました(-t /var/named/chroot)。デーモンはうまく動作します。唯一の小さな問題があります。デバイスが起動しますが、systemdはそれを失敗したとマークします!
root@dns1:~# systemctl start named&
[1] 6158
root@dns1:~#
root@dns1:~# pgrep -a named
6152 /usr/sbin/named -f -u bind -t /var/named/chroot -4 -c /etc/named.conf
2分後...
root@dns1:~# jobs
[1]+ Running systemctl start named &
root@dns1:~# Job for named.service failed because a timeout was exceeded.
See "systemctl status named.service" and "journalctl -xeu named.service" for details.
システムは「アクティブ化中」と表示されます。
systemctl status named
● named.service - BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/named.service; enabled; preset: enabled)
Drop-In: /run/systemd/system/service.d
└─zzz-lxc-service.conf
Active: activating (start) since Mon 2023-10-30 16:45:58 CET; 31s ago
Docs: man:named(8)
Main PID: 6165 (named)
Memory: 9.2M
CGroup: /system.slice/named.service
└─6165 /usr/sbin/named -f -u bind -t /var/named/chroot -4 -c /etc/named.conf
これは単位です
cat named.service
[Unit]
Description=BIND Domain Name Server
Documentation=man:named(8)
After=network.target
Wants=nss-lookup.target
Before=nss-lookup.target
[Service]
Type=notify
EnvironmentFile=-/etc/default/named
ExecStart=/usr/sbin/named -f $OPTIONS
ExecReload=/usr/sbin/rndc reload
ExecStop=/usr/sbin/rndc stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
Alias=bind9.service
答え1
Type=notify
ああ、動作しません。 BIND9に独自にchrootを指示すると、systemdに起動したことを知らせるために必要なソケットにアクセスできなくなります。
options {directory "/var/named"}
rocky 8.7では、コマンドラインの代わりに設定ファイルにpidfileを置き、そこに明示的にpidfileを指定してこの問題を解決します。notify
しかし、まだ役に立たないforking
。
答え2
解決策が見つかりました。この単純な構文ではうまくいきます。
vim ネーミングサービス
[Unit]
Description=BIND Domain Name Server
Documentation=man:named(8)
After=network.target
Wants=nss-lookup.target
Before=nss-lookup.target
[Service]
ExecStart=/usr/sbin/named -f -u named -t /var/named/chroot -u bind -c /etc/named.conf
ExecReload=/usr/sbin/rndc reload
[Install]
WantedBy=multi-user.target
Alias=bind9.service
その後、再起動します。
systemctl daemon-reload
systemctl restart named
うまくいきます。再起動して再ロードしてください。
systemctl status named
● named.service - BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/named.service; enabled; preset: enabled)
Drop-In: /run/systemd/system/service.d
└─zzz-lxc-service.conf
Active: active (running) since Mon 2023-10-30 19:43:58 CET; 1min 16s ago
Docs: man:named(8)
Main PID: 7218 (named)
Memory: 9.5M
CGroup: /system.slice/named.service
└─7218 /usr/sbin/named -f -u named -t /var/named/chroot -u bind -c /etc/named.conf