ゴール: Linux マシン (例: Ubuntu) 上で、次の動作を再現できる DNS サーバーを作成したいと考えています。
- 遅いDNS: 設定可能な遅延でリクエストに応答する
- 不正な DNS: エラー (アドレスなしで応答を送信するなど) または無効な IP アドレス (IPv4 アドレスが間違っている、IPv4 クエリの IPv6 アドレスなど) で要求に応答します。
これまでは github の slodns を使用することができましたが、これでは最初の要求しか満たされません。また、Ubuntu の bind9 を使用すると、このようなエラーをシミュレートできません。
答え1
DNSにはタイムアウトと試行回数の設定があります解決それを有利に利用して、存在しない最初の DNS サーバーを任意のタイムアウトで指定することができます。指定された期間 (および指定された回数の試行) の間、最初のエントリを保持してから、次の (動作中の) DNS に移動します。