| commit | 75ea9f40ade3ff29fbe3dfca6d93b62e6959ef2b | [log] [tgz] |
|---|---|---|
| author | Jan Schär <jan@monogon.tech> | Mon Jul 29 17:01:41 2024 +0200 |
| committer | Jan Schär <jan@monogon.tech> | Wed Aug 21 11:10:01 2024 +0000 |
| tree | 5bf6680a772227388eca051c8517566e3749c7a3 | |
| parent | 4a18022bda00b3d3b844471e7f5cf16b24455b68 [diff] |
osbase/net/dns/forward: add DNS forward handler This adds a DNS server handler for forwarding queries to upstream DNS resolvers, with a built-in cache. The implementation is partially based on CoreDNS. The proxy, cache and up packages are only lightly modified. The forward package itself however is mostly new code. Unlike CoreDNS, it supports changing upstreams at runtime, and has integrated caching and answer order randomization. Some improvements over CoreDNS: - Concurrent identical queries only result in one upstream query. - In case of errors, Extended DNS Errors are added to replies. - Very large replies are not stored in the cache to avoid using too much memory. Change-Id: I42294ae4997d621a6e55c98e46a04874eab75c99 Reviewed-on: https://review.monogon.dev/c/monogon/+/3258 Reviewed-by: Lorenz Brun <lorenz@monogon.tech> Tested-by: Jenkins CI
This is the main repository containing the source code for the Monogon Platform.
This is pre-release software - take a look, and check back later! In the meantime, join us on Matrix (#monogon-os-community:matrix.org) or Discord.
Our build environment is self-contained and requires only minimal host dependencies:
/dev/kvm (if you want to run tests).Our docs assume that Bazelisk is available as bazel on your PATH.
Refer to SETUP.md for detailed instructions.
The source code lives in //metropolis (Metropolis is the codename of Monogon OS).
See the //metropolis/README.md for a developer quick start guide, or see the Monogon OS Handbook for user documentation.