这个系列文章源于网络资料和自己的总结。关于Knot DNS分析的文章网络上不多,由于我的水平有限,错误在所难免。欢迎大家批评指正。
一、什么是查询动态定义
Knot DNS的查询处理流程可以根据配置文件进行动态定义。整个查询流程由几个步骤组成,每个步骤都是由多个模块以list方式组成的query plan,这些步骤分为几个阶段。
- KNOTD_STAGE_BEGIN Before query processing
- KNOTD_STAGE_PREANSWER Before section processing
- KNOTD_STAGE_ANSWER Answer section processing
- KNOTD_STAGE_AUTHORITY Authority section processing
- KNOTD_STAGE_ADDITIONAL Additional section processing
- KNOTD_STAGE_END After query processing
例如,处理class-IN查询需要查找answer,基于之前的状态,他可以添加附加的SOA权威记录,这个动作就是上面提到的步骤