この記事は、BIND メイン Web サイト http://www.isc.org/products/BIND/FAQ.html の記事を翻訳したものです。これらの問題は非常に典型的なものであり、BIND 9 ユーザーの日常のメンテナンスと管理に大きな助けとなる可能性があると言えます。
1. Linux 2.2.x で --enable-threads オプションを使用してコンパイルされたバインド プログラムを使用すると、-u パラメーターが機能しないのはなぜですか?
回答: Linux スレッドは、Posix スレッド (pthreads) 標準を完全には実装していません。特に、setuid() はプロセス全体ではなく、現在のスレッドでのみ機能します。この制限のため、Linux 上の BIND 9 は、サポートされている他のシステム プラットフォームのように setuid() を使用できません。 setuid() は、スレッドの開始後にのみサーバーが予約ポートのリッスンを開始できるため、スレッドの作成前に呼び出すことはできません。
2.2.18 または 2.3.99-pre3 以降のカーネルの場合、setuid() を呼び出した後も可用性を維持できます。これにより、BIND 9 は予約されたポートにバインドする機能を維持しながら、setuid() をより早く呼び出すことができます。これは Linux の特別な扱いです。
2.2 カーネルでは、BIND 9 は多くの root 権限を放棄するため、権限を放棄しない root プロセスよりも安全になります。
Linux スレッドがすでに正常に動作している場合、この制限は存在しません。
ユーザーは --disable-threads オプション (これがデフォルトのオプション) を使用して BIND9 をコンパイルでき、これにより非スレッド バージョンが生成されます。ユーザーは -u オプションを使用できます。
2. 名前付きログに「TTL が指定されていません - 代わりに SOA MINTTL を使用しています」という警告メッセージが表示されるのはなぜですか?
回答: ゾーン ファイルは RFC1035 標準に準拠していません。この問題を解決するには、2 つの方法を使用できます:
1) ゾーン ファイルの先頭に TTL を定義する行を追加します (例: $TTL 86400)
2) ゾーン ファイルの最初のレコードに TTL フィールドを含めます。 : 例 .com。86400 IN SOA ns hostmaster
3. Linux 上に 5 つ (またはそれ以上) の名前付きコピーが表示されるのはなぜですか?
回答: 各 Linux スレッドも ps の下にプロセスのように表示されます。一般に、実行中のスレッドの数は n+4 です (n は CPU の数を表します)。使用されるメモリ量は累積の原則に従っていないことに注意してください。各プロセスが 10M のメモリを使用する場合、すべてのスレッドは合計 10M のメモリしか使用しません。
4. Linux システム上で BIND 9 を root として実行しても、設定ファイルまたはゾーン ファイルにアクセスすると「アクセス許可が拒否されました」エラーに関するログが表示されるのはなぜですか?
回答: Linux では、BIND 9 は起動時に、他のユーザーが所有するファイルを開く権限を含むほとんどの root 権限を放棄します。したがって、サーバーが root として実行されている場合は、構成ファイルとゾーン ファイルも root が所有する必要があります。
5. 「dns_zone_load: ゾーン foo/IN: マスター ファイル バーのロード中: スペースが不足しました」のようなエラー メッセージが表示されるのはなぜですか?
A: これは通常、TXT レコード内の引用符が欠落していることが原因で発生します。すべての TXT レコードに完全な引用符が含まれていることを確認してください。
6. Linux でマルチスレッドの名前から使用可能なコア ファイルを生成するにはどうすればよいですか?
A: Linux カーネルが 2.4.7 以降の場合、マルチスレッド コア エクスポート (ダンプ) が利用可能です (つまり、正しいスレッドがエクスポートされます)。それ以外の場合、2.2 カーネルを使用している場合は、contrib/linux/coredump-patch にあるカーネル パッチを適用し、カーネルを再コンパイルする必要があります。このパッチにより、マルチスレッド プログラムが正しいスレッドをエクスポートできるようになります。
7. 他の人が自分のサーバーのバージョンをクエリできないようにするにはどうすればよいですか?
回答:named.conf の「options」セクションに「version」オプションを配置し、その値を実際に使用するバージョンとは異なるバージョンに設定します。注: これを実行しても攻撃を防ぐことはできませんが、他の人がサーバーの問題を診断しようとする試みを妨げる可能性があり、また、他の人があなたのサーバーを特定する兆候となる可能性もあります。
8. リモート ユーザーのみがサーバーのバージョンをクエリできるように制限するにはどうすればよいですか?
回答: バージョン情報を含む内部ビューが最後に一致すると、次のビュー ステートメントがクエリをインターセプトします。前の質問に対する回答の注意事項がここにも当てはまります。
view "chaos"
match-clients { };
type ヒント
; };
};
9. 「エントロピー ソースが見つかりません」または「エントロピー ソース foo を開けませんでした」とはどういう意味ですか?
A: サーバーは、通常は DNSSEC に関連する特定の操作を実行するためにエントロピーのソースを必要とします。これらの情報ヒントには、情報エントロピーのソースがありません。 /dev/random または同様のデバイスを備えたシステムでは、これらがデフォルトで使用されます。情報ソースは、named.conf のrandom-device オプションを通じて定義することもできます。
10. BIND 9 をインストールし、name で再起動しましたが、BIND 8 のままです。これはなぜですか?
回答: BIND 9 はデフォルトで /usr/local にインストールされます。 BIND 8 は通常、/usr にインストールされます。正しい名前が実行されているかどうかを確認してください。
11. TSIG を使用して動的更新またはゾーン送信を検証してみます。キーの設定は正しいと確信していますが、サーバーが依然として TSIG を拒否します。なぜですか?
回答: これは、時計が不正確であることに問題がある可能性があります。クライアントのクロックとサーバーのクロックが同期されているかどうかを確認します (たとえば、ntp を使用)。
12. BIND 9 をコンパイルしようとしましたが、一部のファイルが見つからなかったため、「make」が失敗しました。なぜ?
A: 並列または分散の「make」を使用して BIND 9 をコンパイルすることはサポートされておらず、機能しません。これらのいずれかを使用する場合は、代わりに通常の make または gmake を使用することをお勧めします。
13. BIND 9 マスター サーバーと BIND 8.2.3 スレーブ サーバーがあり、マスター サーバーは「10.0.0.1#53 への通知に失敗しました: 予期しない入力の終了」のようなエラー メッセージを記録しました。どうしたの?
A: このエラー メッセージは、BIND 8.2.3 の既知のバグが原因で発生します。このバグは BIND 8.2.4 で修正されています。完全に無視しても問題ありません。エラー メッセージに関係なく、通知は正常に動作しています。
14. 次のログ情報が取得され続けるのはなぜですか?
12 月 4 日 23:47:59 クライアント 10.0.0.1#1355: ゾーン example.com/IN の更新: 更新に失敗しました: RRset が存在します (値に依存します) 前提条件が満たされていません (NXRRSET)
回答: DNS 更新プログラムにより、更新リクエストはupdated テストは、特定の条件が満たされていることを確認するために事前に行われます。上記の情報は、条件が満たされていないため、更新を続行できないことを示しています。前提条件の詳細については、doc/rfc/rfc2136.txt を参照してください。
15. 次のログ情報が取得され続けるのはなぜですか?
6 月 21 日 12:00:00.000 クライアント 10.0.0.1#1234: 更新が拒否されました
回答: 誰かが RFC2136 動的更新プロトコルを使用して DNS データを更新しようとしています。 Windows 2000 マシンには、事前の構成を行わずに動的更新要求を DNS サーバーに送信する習慣があります。更新要求が Windows 2000 マシンから送信されている場合は、
16. 次のログ情報が表示されました。なぜですか?
pid ファイル /var/run/named.pid を開けませんでした: 権限が拒否されました
回答: 非 root ユーザーとして names を実行している可能性が高く、そのユーザーには /var/run への書き込み権限がありません。通常の修正は、指定されたユーザーが所有する /var/run/named ディレクトリを作成し、pid ファイルを「/var/run/named/named.pid」に設定するか、pid ファイルを「named.pid」に設定することです。ファイルは、ディレクトリ オプションで指定されたディレクトリに配置されます (この場合、ディレクトリは指定されたユーザーが書き込み可能である必要があります)。
17. 「dig . ns」を実行すると、ルートサーバーに関する多くの A レコードが失われました。なぜ?
回答: これは正常なことであり、深刻なものではありません。 BIND 9 が RFC 2181 の信頼ランキングを実装する方法と、答えに接着剤が入るのを防ぐ BIND 9 の取り組みには、いくつかの混乱を招く副作用があります。
BIND 9 が最初に起動してバッファリングを初期化するとき、ルート サーバーの権限のある応答の追加データとしてルート サーバー アドレスを受け取り、これらのレコードは追加データとして応答に含めることができます。次に、ルート サーバーの非権限 (推奨) 応答内の追加データとして、ルート サーバー アドレスのサブセットを受信します。その結果、これらのアドレスは権限のない (関連性のある) データとみなされ、応答に含めるには適していません。
サーバーは常にルート サーバー アドレスの完全なセットをバッファとして保持しますが、最後に応答または関連データを受信したかどうかに応じて、追加データとしてすべてのアドレスが含まれない場合があります。通常、これらのアドレスは、「dig a.root-servers.net A」などの明示的なクエリを使用して見つけることができます。
18. BIND 9 マスター サーバーから Windows 2000 スレーブ サーバーへのゾーン転送が失敗しました。なぜ?
A: これは、Windows 2000 DNS サーバーのバグが原因である可能性があります。Windows マシンでは、16K を超える DNS メッセージを正しく処理できません。これは「transfer-format one-answer;」オプションを設定することで解決できます。また、ゾーンにスペースやその他の特殊文字 ("John2Doe3s2Computer" など) が埋め込まれているかどうかを確認することもできます。これらの名前は、Windows 2000 スレーブ サーバーがゾーンを誤って拒否する原因となることが知られています。
19. 「rndc reload」または SIGHUP を実行してもゾーン ファイルがリロードされないのはなぜですか?
回答: ゾーン ファイルを編集してサーバーを再起動することによってゾーン ファイルを更新することも、動的更新によって行うこともできますが、両方の方法を同時に使用することはできません。動的更新を有効にするためにゾーンの「allow-update」オプションを使用した場合、ゾーン ファイルを手動で編集することはできなくなり、サーバーはゾーン ファイルをリロードしようとしなくなります。
20. ドメイン ネーム サーバー上でドメイン ネーム サーバーにクエリを実行できますが、他のマシンからは検索できません。なぜ?
A: これは通常、クエリや応答をブロックするファイアウォール設定の結果です。
21. サーバーを内部ビューと外部ビューの両方に対してスレーブサーバーとして機能させるにはどうすればよいですか?これを実行しようとすると、スレーブ サーバー上の 2 つのビューがマスター サーバー上の同じビューを転送します。
回答: マスターサーバーとスレーブサーバーに複数の IP アドレスを設定する必要があります。例:
メインサーバー: 10.0.1.1 (内部)、10.0.1.2 (外部、IP エイリアス)
match-clients { !10.0.1.4;
notify-source 10.0 .1.1;
transfer-source 10.0.1.1;
external:
match-clients { any }; //
notify-source 10.0. 1.2;
転送元 10.0.1.2;
クエリ元アドレス 10.0.1.2;
スレーブサーバー: 10.0.1.3 (外部、IP エイリアス)
inte
http://www.bkjia.com/PHPjc/508511.html
www.bkjia.com

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
