メンテナンス・トラブルシュート - DNS - unbound-control-setup が終わらない
- 1. 概要
- 2. 調査
- 3. 対策
1. 概要
2024年9月27日、「FreeBSD 13.4 RELEASE」へ「unbound」をインストールして、「unbound-control」のセットアップをしていたときのことです。
unbound-control-setup
を実行したまま、うんともすんとも言わないというか、動いているかどうかさえ分からないのだ。
2. 調査
調べてみると「unbound-control-setup」は、シェルスクリプトなので。
実行状況を調べてみます。
sh -x /usr/local/sbin/unbound-control-setup
+ DESTDIR=/usr/local/etc/unbound
+ SERVERNAME=unbound
+ CLIENTNAME=unbound-control
+ DAYS=7200
+ BITS=3072
+ HASH=sha256
+ SVR_BASE=unbound_server
+ CTL_BASE=unbound_control
+ RECREATE=0
+ umask 0027
+ set -eu
+ OPTIND=1
+ getopts d:hr arg
+ shift 0
+ openssl
を表示したところで、止まりました。
スクリプトのソースを見ると。
if ! openssl >/dev/null 2>&1; then
echo "$0 requires openssl to be installed for keys/certificates generation." >&2
exit 1
fi
107行のところで、止まっているようです。
openssl
とたたいてみると。
OpenSSL>
と、プロンプトが出て、止まります。
他のマシンで同じことをすると。
help:
Standard commands
asn1parse ca ciphers cmp
・・・ 以下略 ・・・
これで、わかりました。
シェルスクリプトの 107行で、インタラクティブな状態になって止まっているわけです。
3. 対策
もっと、スマートな方法はあるかと思いますが、一度しか動かす機会のない、スクリプトですので。
該当の箇所は、「openssl」の有無をチェックしているに過ぎない。
「openssl」がインストールされていることは、確認できていますので。
「root」ユーザ権限で、「/usr/local/sbin/unbound-control-setup」を開いて、107~110行をコメントアウトします。
すると、正常に動作するようになりました。
|
|