coredns/plugin/bufsize
Kohei Yoshida e23a34abb4 Add bufsize plugin for preparing the DNS Flag Day and avoiding IP fragmentation (#3401)
* add bufsize plugin

Signed-off-by: ykhr53 <yukihira.lab@gmail.com>

* add docstring and comment

Signed-off-by: ykhr53 <yukihira.lab@gmail.com>

* delete stdout messages when get an error

Signed-off-by: ykhr53 <yukihira.lab@gmail.com>

* change to context.Background from TODO

Signed-off-by: ykhr53 <yukihira.lab@gmail.com>

* define default bufsize as defaultBufSize constant

Signed-off-by: ykhr53 <yukihira.lab@gmail.com>

* fix some comments

Signed-off-by: ykhr53 <yukihira.lab@gmail.com>

* function name change: parse

Signed-off-by: ykhr53 <yukihira.lab@gmail.com>

* function name change: parse

Signed-off-by: ykhr53 <yukihira.lab@gmail.com>
2019-11-10 08:10:12 +00:00
..
bufsize.go Add bufsize plugin for preparing the DNS Flag Day and avoiding IP fragmentation (#3401) 2019-11-10 08:10:12 +00:00
bufsize_test.go Add bufsize plugin for preparing the DNS Flag Day and avoiding IP fragmentation (#3401) 2019-11-10 08:10:12 +00:00
README.md Add bufsize plugin for preparing the DNS Flag Day and avoiding IP fragmentation (#3401) 2019-11-10 08:10:12 +00:00
setup.go Add bufsize plugin for preparing the DNS Flag Day and avoiding IP fragmentation (#3401) 2019-11-10 08:10:12 +00:00
setup_test.go Add bufsize plugin for preparing the DNS Flag Day and avoiding IP fragmentation (#3401) 2019-11-10 08:10:12 +00:00

bufsize

Name

bufsize - sizes EDNS0 buffer size to prevent IP fragmentation.

Description

bufsize limits a requester's UDP payload size.
It prevents IP fragmentation so that to deal with DNS vulnerability.

Syntax

bufsize [SIZE]

[SIZE] is an int value for setting the buffer size.
The default value is 512, and the value must be within 512 - 4096.
Only one argument is acceptable, and it covers both IPv4 and IPv6.

Examples

. {
    bufsize 512
    forward . 172.31.0.10
    log
}

If you run a resolver on 172.31.0.10, the buffer size of incoming query on the resolver will be set to 512 bytes.

Considerations

For now, if a client does not use EDNS, this plugin adds OPT RR.