Unboundサービスは、Elastic Compute service (ECS) インスタンスのDNSサービスを設定するために使用できる、検証、再帰、およびキャッシュDNSリゾルバーです。 このトピックでは、Alibaba Cloud Linux 3オペレーティングシステムを実行するECSインスタンスでUnboundサービスの開始に失敗する問題の原因と解決策について説明します。
問題の説明
Alibaba Cloud Linux 3オペレーティングシステムを実行するECSインスタンスにUnbound-1.7.3またはunbound-1.16.2パッケージをインストールすると、unboundサービスの開始に失敗します。
次のエラーメッセージが返されます。
# sudo systemctl start unbound
Job for unbound.service failed because a timeout was exceeded.
See "systemctl status unbound.service" and "journalctl -xe" for details.原因
ExecStartPreディレクティブは、unbound-1.7.3およびunbound-1.16.2バージョンのUnboundサービスで変更されています。 unbound-anchorコマンドを実行するかどうかを指定するために、DISABLE_UNBOUND_ANCHOR変数が追加されました。 このコマンドでは、-f /etc/resolv.conf -Rパラメーターを使用して、ドメインネームシステムセキュリティ拡張機能 (DNSSEC) の検証のためにルートサーバー上のルートトラストアンカーを指定または更新できます。 インターネット接続がない環境では、unbound-anchorコマンドの実行後、ルートサーバーへのアクセスは拒否されます。 その結果、インスタンスはルートトラストアンカーのクエリとUnboundサービスの開始に失敗します。
解決策
インターネット接続がない環境では、DISABLE_UNBOUND_ANCHOR環境変数をyesに設定して、unbound-anchorコマンドの実行を無効にします。 これにより、ルートサーバーへのアクセスが防止され、Unboundサービスが期待どおりに起動できるようになります。
/etc/sysconfig/unboundファイルを開きます。sudo vim /etc/sysconfig/unboundIキーを押してInsertモードに入り、次のコンテンツをファイルに追加します。DISABLE_UNBOUND_ANCHOR=yes[Esc]キーを押して:wqと入力し、[enter]キーを押して設定ファイルを保存して閉じます。[バインド解除]サービスを開始します。sudo systemctl start unbound
関連ドキュメント
unbound-anchorコマンドの詳細については、「Unbound」をご参照ください。