メンテナンス・トラブルシュート - DNS - unbound-control-setup が終わらない
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行をコメントアウトします。 すると、正常に動作するようになりました。
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
openssl
OpenSSL>
help: Standard commands asn1parse ca ciphers cmp ・・・ 以下略 ・・・