erldns_query_throttle (erldns v7.0.0-rc3)

View Source

Stateful query throttling. Currently only throttles ANY queries.

We should_throttle ANY 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

See segmented_cache for telemetry events under this module name.

Also emits the following telemetry events:

  • [erldns, pipeline, throttle] with host in the metadata.

Summary

Functions

call/2

clear()

-spec clear() -> any().

Clear the cache

prepare(Opts)

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