Knot Resolver¶
Knot Resolver is a minimalistic implementation of a caching validating DNS resolver. Modular architecture keeps the core tiny and efficient, and it provides a state-machine like API for extensions.
Quick Start
Configuration
- Configuration Overview
- Networking and protocols
- Performance and resiliency
- Policy, access control, data manipulation
- Logging, monitoring, diagnostics
log_level()log_target()log_groups()- DNSSEC validation failure logging
- Statistics collector
- Scripting worker
- Name Server Identifier (NSID)
- Debugging a single request
- Watchdog
- Dnstap (traffic collection)
- Sentinel for Detecting Trusted Root Keys
- Signaling Trust Anchor Knowledge in DNSSEC
- System time skew detector
- Detect discontinuous jumps in the system time
- Debugging options
- Logging API
LOG_GRP_SYSTEM_TAGLOG_GRP_CACHE_TAGLOG_GRP_IO_TAGLOG_GRP_NETWORK_TAGLOG_GRP_TA_TAGLOG_GRP_TASENTINEL_TAGLOG_GRP_TASIGNALING_TAGLOG_GRP_TAUPDATE_TAGLOG_GRP_TLS_TAGLOG_GRP_GNUTLS_TAGLOG_GRP_TLSCLIENT_TAGLOG_GRP_XDP_TAGLOG_GRP_DOH_TAGLOG_GRP_DNSSEC_TAGLOG_GRP_HINT_TAGLOG_GRP_PLAN_TAGLOG_GRP_ITERATOR_TAGLOG_GRP_VALIDATOR_TAGLOG_GRP_RESOLVER_TAGLOG_GRP_SELECTION_TAGLOG_GRP_ZCUT_TAGLOG_GRP_COOKIES_TAGLOG_GRP_STATISTICS_TAGLOG_GRP_REBIND_TAGLOG_GRP_WORKER_TAGLOG_GRP_POLICY_TAGLOG_GRP_DAF_TAGLOG_GRP_DETECTTIMEJUMP_TAGLOG_GRP_DETECTTIMESKEW_TAGLOG_GRP_GRAPHITE_TAGLOG_GRP_PREFILL_TAGLOG_GRP_PRIMING_TAGLOG_GRP_SRVSTALE_TAGLOG_GRP_WATCHDOG_TAGLOG_GRP_NSID_TAGLOG_GRP_DNSTAP_TAGLOG_GRP_TESTS_TAGLOG_GRP_DOTAUTH_TAGLOG_GRP_HTTP_TAGLOG_GRP_CONTROL_TAGLOG_GRP_MODULE_TAGLOG_GRP_DEVEL_TAGLOG_GRP_RENUMBER_TAGLOG_GRP_EDE_TAGLOG_GRP_REQDBG_TAGkr_log_debugkr_log_infokr_log_noticeLOG_DEFAULT_LEVELkr_log_warningkr_log_errorkr_log_critkr_log_deprecatekr_logLOG_UNKNOWN_LEVELLOG_GNUTLS_LEVELKR_LOG_LEVEL_ISkr_log_reqkr_log_qkr_log_is_debugkr_log_is_debug_qryKR_LOG_SJM_STRSD_JOURNAL_METADATAkr_log_level_tkr_log_target_tkr_log_groupkr_log_target_set()kr_log_group_is_set()kr_log_group_add()kr_log_group_reset()kr_log_grp2name()kr_log_name2grp()kr_log_level_set()kr_log_level2name()kr_log_name2level()kr_log_req1()kr_log_q1()kr_log_is_debug_fun()kr_log_fmt()kr_log_targetkr_log_level
- DNSSEC, data verification
- Experimental features
- Usage without systemd
Operation
Developers
- Building from sources
- Custom HTTP services
- Knot Resolver library
- Modules API reference
- Worker API reference
worker_init()worker_deinit()worker_submit()worker_end_tcp()worker_resolve_mk_pkt_dname()worker_resolve_mk_pkt()worker_resolve_start()worker_resolve_exec()worker_task_request()worker_task_step()worker_task_numrefs()worker_task_finalize()worker_task_complete()worker_task_ref()worker_task_unref()worker_task_timeout_inc()worker_add_tcp_connected()worker_del_tcp_connected()worker_del_tcp_waiting()worker_find_tcp_waiting()worker_find_tcp_connected()worker_task_get_pktbuf()worker_task_get_request()worker_task_get_transport()worker_request_get_source_session()worker_task_pkt_get_msgid()worker_task_pkt_set_msgid()worker_task_creation_time()worker_task_subreq_finalize()worker_task_finished()qr_task_on_send()the_workerworker_stats