aboutsummaryrefslogtreecommitdiff
path: root/man/coredns-erratic.7
blob: c8515365810f7ffb696e38c61c0df17c5ac492c6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
.\" Generated by Mmark Markdown Processer - mmark.miek.nl
.TH "COREDNS-ERRATIC" 7 "March 2021" "CoreDNS" "CoreDNS Plugins"

.SH "NAME"
.PP
\fIerratic\fP - a plugin useful for testing client behavior.

.SH "DESCRIPTION"
.PP
\fIerratic\fP returns a static response to all queries, but the responses can be delayed,
dropped or truncated. The \fIerratic\fP plugin will respond to every A or AAAA query. For
any other type it will return a SERVFAIL response (except AXFR). The reply for A will return
192.0.2.53 (RFC 5737
\[la]https://tools.ietf.org/html/rfc5737\[ra]), for AAAA it returns 2001:DB8::53 (RFC
3849
\[la]https://tools.ietf.org/html/rfc3849\[ra]). For an AXFR request it will respond with a small
zone transfer.

.SH "SYNTAX"
.PP
.RS

.nf
erratic {
    drop [AMOUNT]
    truncate [AMOUNT]
    delay [AMOUNT [DURATION]]
}

.fi
.RE

.IP \(bu 4
\fB\fCdrop\fR: drop 1 per \fBAMOUNT\fP of queries, the default is 2.
.IP \(bu 4
\fB\fCtruncate\fR: truncate 1 per \fBAMOUNT\fP of queries, the default is 2.
.IP \(bu 4
\fB\fCdelay\fR: delay 1 per \fBAMOUNT\fP of queries for \fBDURATION\fP, the default for \fBAMOUNT\fP is 2 and
the default for \fBDURATION\fP is 100ms.


.PP
In case of a zone transfer and truncate the final SOA record \fIisn't\fP added to the response.

.SH "READY"
.PP
This plugin reports readiness to the ready plugin.

.SH "EXAMPLES"
.PP
.RS

.nf
example.org {
    erratic {
        drop 3
    }
}

.fi
.RE

.PP
Or even shorter if the defaults suit you. Note this only drops queries, it does not delay them.

.PP
.RS

.nf
example.org {
    erratic
}

.fi
.RE

.PP
Delay 1 in 3 queries for 50ms

.PP
.RS

.nf
example.org {
    erratic {
        delay 3 50ms
    }
}

.fi
.RE

.PP
Delay 1 in 3 and truncate 1 in 5.

.PP
.RS

.nf
example.org {
    erratic {
        delay 3 5ms
        truncate 5
    }
}

.fi
.RE

.PP
Drop every second query.

.PP
.RS

.nf
example.org {
    erratic {
        drop 2
        truncate 2
    }
}

.fi
.RE

.SH "SEE ALSO"
.PP
RFC 3849
\[la]https://tools.ietf.org/html/rfc3849\[ra] and RFC 5737
\[la]https://tools.ietf.org/html/rfc5737\[ra].