mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-02-03 22:18:39 +00:00
all: implement split upstreams
This commit introduces split upstreams feature, allowing to configure what ip stack that ctrld will use to connect to upstream.
This commit is contained in:
committed by
Cuong Manh Le
parent
5cad0d6be1
commit
b267572b38
@@ -227,9 +227,27 @@ Value `0` means no timeout.
|
||||
The protocol that `ctrld` will use to send DNS requests to upstream.
|
||||
|
||||
- Type: string
|
||||
- required: yes
|
||||
- Required: yes
|
||||
- Valid values: `doh`, `doh3`, `dot`, `doq`, `legacy`, `os`
|
||||
|
||||
### ip_stack
|
||||
Specifying what kind of ip stack that `ctrld` will use to connect to upstream.
|
||||
|
||||
- Type: string
|
||||
- Required: no
|
||||
- Valid values:
|
||||
- `both`: using either ipv4 or ipv6.
|
||||
- `v4`: only dial upstream via IPv4, never dial IPv6.
|
||||
- `v6`: only dial upstream via IPv6, never dial IPv4.
|
||||
- `split`:
|
||||
- If `A` record is requested -> dial via ipv4.
|
||||
- If `AAAA` or any other record is requested -> dial ipv6 (if available, otherwise ipv4)
|
||||
|
||||
If `ip_stack` is empty, or undefined:
|
||||
|
||||
- Default value is `both` for non-Control D resolvers.
|
||||
- Default value is `split` for Control D resolvers.
|
||||
|
||||
## Network
|
||||
The `[network]` section defines networks from which DNS queries can originate from. These are used in policies. You can define multiple networks, and each one can have multiple cidrs.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user