2019-11-10 08:10:12 +00:00
# bufsize
## Name
2023-07-10 16:49:52 +02:00
*bufsize* - limits EDNS0 buffer size to prevent IP fragmentation.
2019-11-10 08:10:12 +00:00
## Description
2023-07-10 16:49:52 +02:00
*bufsize* limits a requester's UDP payload size to within a maximum value.
If a request with an OPT RR has a bufsize greater than the limit, the bufsize
of the request will be reduced. Otherwise the request is unaffected.
2020-05-04 10:02:58 -04:00
It prevents IP fragmentation, mitigating certain DNS vulnerabilities.
2023-07-10 16:49:52 +02:00
It cannot increase UDP size requested by the client, it can be reduced only.
This will only affect queries that have
an OPT RR ([EDNS(0) ](https://www.rfc-editor.org/rfc/rfc6891 )).
2019-11-10 08:10:12 +00:00
## Syntax
```txt
bufsize [SIZE]
```
2019-11-14 11:13:49 -05:00
**[SIZE]** is an int value for setting the buffer size.
2023-07-10 16:49:52 +02:00
The default value is 1232, and the value must be within 512 - 4096.
2019-11-10 08:10:12 +00:00
Only one argument is acceptable, and it covers both IPv4 and IPv6.
## Examples
2019-11-14 07:37:45 +00:00
Enable limiting the buffer size of outgoing query to the resolver (172.31.0.10):
2019-11-10 08:10:12 +00:00
```corefile
. {
2023-07-10 16:49:52 +02:00
bufsize 1100
2019-11-10 08:10:12 +00:00
forward . 172.31.0.10
log
}
```
2019-11-14 07:37:45 +00:00
Enable limiting the buffer size as an authoritative nameserver:
```corefile
. {
2023-07-10 16:49:52 +02:00
bufsize 1220
2019-11-14 07:37:45 +00:00
file db.example.org
log
}
```
2019-11-10 08:10:12 +00:00
## Considerations
2019-11-14 07:37:45 +00:00
- Setting 1232 bytes to bufsize may avoid fragmentation on the majority of networks in use today, but it depends on the MTU of the physical network links.