目标:在 Linux 机器上(例如 Ubuntu),我想创建一个可以复制以下行为的 DNS 服务器:
- 慢速 DNS:以可配置的延迟响应请求
- 糟糕的 DNS:响应请求时出现错误(例如发送没有地址的响应)或无效的 IP 地址(例如错误的 IPv4 地址、IPv4 查询的 IPv6 地址)。
到目前为止,我已经设法使用来自 github 的 slodns,但这只能满足第一个请求。使用 Ubuntu 的 bind9,我无法模拟这些类型的错误。
答案1
DNS 中存在超时和尝试设置解决。您可以利用这一点,指定一个不存在的第一个 DNS 服务器,并设置您想要的超时时间。它会在指定的时间内挂起第一个条目(并尝试指定的次数),然后再转到下一个(有效的)DNS。