All Projects → CZ-NIC → Knot Resolver

CZ-NIC / Knot Resolver

Licence: gpl-3.0
Knot Resolver - resolve DNS names like it's 2021

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Knot Resolver

Dank Selfhosted
Automated solution for hosting email, web, DNS, XMPP, and ZNC on OpenBSD.
Stars: ✭ 800 (+300%)
Mutual labels:  dns, dnssec
Nsd
The NLnet Labs Name Server Daemon (NSD) is an authoritative, RFC compliant DNS nameserver.
Stars: ✭ 197 (-1.5%)
Mutual labels:  dns, dnssec
Dnssecjava
A DNSSEC validating stub resolver for Java.
Stars: ✭ 33 (-83.5%)
Mutual labels:  dns, dnssec
Bugcrowd Levelup Subdomain Enumeration
This repository contains all the material from the talk "Esoteric sub-domain enumeration techniques" given at Bugcrowd LevelUp 2017 virtual conference
Stars: ✭ 513 (+156.5%)
Mutual labels:  dns, dnssec
Dnspython
a powerful DNS toolkit for python
Stars: ✭ 1,838 (+819%)
Mutual labels:  dns, dnssec
Dns
DNS library in Go
Stars: ✭ 5,944 (+2872%)
Mutual labels:  dns, dnssec
Getdns Node
Node.js bindings of getdns, a modern asynchronous DNS API.
Stars: ✭ 59 (-70.5%)
Mutual labels:  dns, dnssec
dns-resolver-infra
Privacy DNS infrastructure
Stars: ✭ 39 (-80.5%)
Mutual labels:  dns, dnssec
Desec Stack
Backbone of the deSEC.io Free Secure DNS Hosting Service
Stars: ✭ 130 (-35%)
Mutual labels:  dns, dnssec
Ldns
LDNS is a DNS library that facilitates DNS tool programming
Stars: ✭ 127 (-36.5%)
Mutual labels:  dns, dnssec
Dnscrypt Server Docker
A Docker image for a non-censoring, non-logging, DNSSEC-capable, DNSCrypt-enabled DNS resolver
Stars: ✭ 483 (+141.5%)
Mutual labels:  dns, dnssec
Trust Dns
A Rust based DNS client, server, and resolver
Stars: ✭ 2,155 (+977.5%)
Mutual labels:  dns, dnssec
Dt
DNS tool - display information about your domain
Stars: ✭ 313 (+56.5%)
Mutual labels:  dns, dnssec
Sdns
Privacy important, fast, recursive dns resolver server with dnssec support
Stars: ✭ 658 (+229%)
Mutual labels:  dns, dnssec
Zonemaster
The Zonemaster Project
Stars: ✭ 282 (+41%)
Mutual labels:  dns, dnssec
Statzone
DNS zone file analyzer targeted at TLD zones
Stars: ✭ 38 (-81%)
Mutual labels:  dns, dnssec
solvere
A validating recursive DNS resolver library and standalone server with DNSSEC support
Stars: ✭ 32 (-84%)
Mutual labels:  dns, dnssec
resolve
Command line iterative DNS resolution testing program
Stars: ✭ 17 (-91.5%)
Mutual labels:  dns, dnssec
Unbound
Unbound is a validating, recursive, and caching DNS resolver.
Stars: ✭ 1,103 (+451.5%)
Mutual labels:  dns, dnssec
Knot
A mirrored repository
Stars: ✭ 138 (-31%)
Mutual labels:  dns, dnssec

Knot Resolver

Build Status Coverage Status Documentation Status

Knot Resolver is a caching full resolver implementation written in C and LuaJIT, both a resolver library and a daemon. The core architecture is tiny and efficient, and provides a foundation and a state-machine like API for extensions. There are three modules built-in - iterator, validator, cache, and a few more are loaded by default. Most of the rich features are written in Lua(JIT) and C. Batteries are included, but optional.

The LuaJIT modules, support DNS privacy and DNSSEC, and persistent cache with low memory footprint make it a great personal DNS resolver or a research tool to tap into DNS data. TL;DR it's the OpenResty of DNS.

Strong filtering rules, and auto-configuration with etcd make it a great large-scale resolver solution.

The server adopts a different scaling strategy than the rest of the DNS recursors - no threading, shared-nothing architecture (except MVCC cache that may be shared) that allows you to pin instances on available CPU cores and grow by self-replication. You can start and stop additional nodes depending on the contention without downtime.

It also has strong support for DNS over TCP, notably TCP Fast-Open, query pipelining and deduplication, and response reordering.

Packages

The latest stable packages for various distributions are available in our upstream repository. Follow the installation instructions to add this repository to your system.

Knot Resolver is also available from the following distributions' repositories.

Building from sources

Knot Resolver mainly depends on Knot DNS libraries, LuaJIT and libuv. See the Building project documentation page for more information.

Docker image

This is simple and doesn't require any dependencies or system modifications, just run:

$ docker run -Pit cznic/knot-resolver

The images are meant as an easy way to try knot-resolver, and they're not designed for production use.

Running

The project builds a resolver library in the lib directory, and a daemon in the daemon directory. It requires no configuration or parameters to run a server on localhost.

$ kresd

See the documentation at knot-resolver.readthedocs.io for more options.

Contacting us

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].