erldns_query_throttle (erldns v8.0.0-rc3)

View Source

Stateful query throttling. Currently only throttles ANY queries.

We should throttle ANY and RRSIG queries to discourage use of our authoritative name servers for reflection/amplification attacks.

Configuration

{erldns, [
    {query_throttle, #{
        enabled := boolean(), %% defaults to true
        limit := non_neg_integer(), %% Number of queries to allow, defaults to 1
        ttl := non_neg_integer(), %% Seconds, defaults to 30
    }}
]}

Telemetry events

  • [erldns, pipeline, throttle] spans with host in the metadata as triggered by segmented_cache.
  • [erldns, pipeline, throttle] with host in the metadata.

Summary

Functions

call/2

erldns_pipeline:call/2 callback.

clear()

-spec clear() -> true.

Clear the cache

prepare(Opts)

-spec prepare(erldns_pipeline:opts()) -> disabled | erldns_pipeline:opts().

erldns_pipeline:prepare/1 callback.