Pull request: DHCP: imp markup, opt docs
Merge in DNS/adguard-home-wiki from imp-opt to master Squashed commit of the following: commit 9ddad2fb3a1dd72dc0306eb3ef00fed41e813b98 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Fri Oct 8 19:07:27 2021 +0300 DHCP: imp wording commit 1baf136849127585fb7d87ef21ff72224aadd570 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Fri Oct 8 18:51:08 2021 +0300 DHCP: imp markup, opt docs
parent
713163fe91
commit
1a8843345e
|
@ -82,7 +82,7 @@ Examples:
|
|||
|
||||
* `[/example.local/]1.1.1.1`: DNS upstream for specific domains, see below.
|
||||
|
||||
### <a hfer="#upstreams-for-domains" id="upstreams-for-domains" name="upstreams-for-domains">Specifying Upstreams For Domains</a>
|
||||
### <a href="#upstreams-for-domains" id="upstreams-for-domains" name="upstreams-for-domains">Specifying Upstreams For Domains</a>
|
||||
|
||||
You can specify upstreams that will be used for specific domains using the
|
||||
dnsmasq-like syntax (see the documentation for the option `--server`
|
||||
|
|
140
DHCP.md
140
DHCP.md
|
@ -1,4 +1,4 @@
|
|||
# AdGuard Home - DHCP Server
|
||||
# AdGuard Home - DHCP Server
|
||||
|
||||
* [Prerequisites](#prereq)
|
||||
* [Default Options](#default)
|
||||
|
@ -7,96 +7,112 @@
|
|||
* [DHCPv6 Options](#config-6)
|
||||
* [Automatic Hosts](#autohosts)
|
||||
|
||||
*AdGuard Home* can be used as a DHCP server. This page describes how to do that.
|
||||
AdGuard Home can be used as a DHCP server. This page describes how to do that.
|
||||
|
||||
|
||||
|
||||
## <a id="prereq" href="#prereq">Prerequisites</a>
|
||||
|
||||
1. Make sure that you run an OS on which *AdGuard Home* supports DHCP. We
|
||||
currently don't support DHCP on *Windows*.
|
||||
1. Make sure that you run an OS on which AdGuard Home supports DHCP. We
|
||||
currently don't support DHCP on Windows.
|
||||
|
||||
1. Make sure that your machine has a static IP address.
|
||||
|
||||
|
||||
|
||||
## <a id="default" href="#default">Default Options</a>
|
||||
|
||||
By default, *AdGuard Home* will set itself as the DNS server for the DHCP
|
||||
clients. The default lease time is 24 hours.
|
||||
By default, AdGuard Home will set itself as the DNS server for the DHCP clients.
|
||||
The default lease time is 24 hours.
|
||||
|
||||
|
||||
|
||||
## <a id="config" href="#config">Configuration</a>
|
||||
|
||||
See the DHCP section in the [configuration] article for the overview of the DHCP
|
||||
configuration options. There are several configuration parameters for DHCP that
|
||||
can't be set via the *AdGuard Home* administrator dashboard. Those are
|
||||
described below.
|
||||
can't be set via the AdGuard Home administrator dashboard. Those are described
|
||||
below.
|
||||
|
||||
### <a id="config-4" href="#config-4">The `dhcp.dhcpv4.options` Array Field</a>
|
||||
|
||||
The `options` field accepts two types of values: `hex` and `ip`. Both start
|
||||
with the `CODE`, which MUST be an integer in the [1, 255] range.
|
||||
|
||||
See [RFC 2132, sec. 3](https://tools.ietf.org/html/rfc2132#section-3).
|
||||
### <a id="config-4" href="#config-4">The `dhcp.dhcpv4.options` Array Field</a>
|
||||
|
||||
The `hex` format is:
|
||||
The `options` field accepts four types of values: `hex`, `ip`, `ips`, and
|
||||
`text`. They all start with the `CODE`, which MUST be an integer in the [1,
|
||||
255] range. See also [RFC 2132, sec. 3][rfc-2132].
|
||||
|
||||
```
|
||||
CODE hex HEX_VALUE
|
||||
```
|
||||
In accordance with [RFC 2131, sec. 4.3.1][rfc-2131], these options override the
|
||||
default options set by Adguard Home. Which means that if you want to set DNS
|
||||
server addresses using option `6`, you should also add Adguard Home's own
|
||||
addresses there. Otherwise, AdGuard Home's filtering won't work for the DHCP
|
||||
clients who receive these DNS server addresses.
|
||||
|
||||
For example, to set option `6`, the DNS server, to two IP addresses, `1.2.3.4`
|
||||
and `1.2.3.5`, use:
|
||||
* The `hex` format is:
|
||||
|
||||
```yaml
|
||||
# …
|
||||
'dhcp':
|
||||
# …
|
||||
'dhcpv4':
|
||||
```
|
||||
CODE hex HEX_VALUE
|
||||
```
|
||||
|
||||
For example, to set option `6`, the DNS server, to two IP addresses,
|
||||
`1.2.3.4` and `1.2.3.5`, use:
|
||||
|
||||
```yaml
|
||||
# …
|
||||
'options':
|
||||
- '6 hex 0102030401020305'
|
||||
```
|
||||
'dhcp':
|
||||
# …
|
||||
'dhcpv4':
|
||||
# …
|
||||
'options':
|
||||
- '6 hex 0102030401020305'
|
||||
```
|
||||
|
||||
The `ip` format is:
|
||||
* The `ip` format is:
|
||||
|
||||
```
|
||||
CODE ip IPV4_VALUE
|
||||
```
|
||||
```
|
||||
CODE ip IPV4_VALUE
|
||||
```
|
||||
|
||||
For example, to set option `6`, the DNS server, to one IP address, `1.2.3.4`,
|
||||
use:
|
||||
For example, to set option `6`, the DNS server, to one IP address,
|
||||
`1.2.3.4`, use:
|
||||
|
||||
```yaml
|
||||
# …
|
||||
'dhcp':
|
||||
# …
|
||||
'dhcpv4':
|
||||
```yaml
|
||||
# …
|
||||
'options':
|
||||
- '6 ip 1.2.3.4'
|
||||
```
|
||||
'dhcp':
|
||||
# …
|
||||
'dhcpv4':
|
||||
# …
|
||||
'options':
|
||||
- '6 ip 1.2.3.4'
|
||||
```
|
||||
|
||||
The `ips` format (since **v0.106.0**) is the same, but with comma-separated
|
||||
IP-addresses:
|
||||
* The `ips` format (since **v0.106.0**) is the same, but with comma-separated
|
||||
IP-addresses:
|
||||
|
||||
```yaml
|
||||
# …
|
||||
'dhcp':
|
||||
# …
|
||||
'dhcpv4':
|
||||
```yaml
|
||||
# …
|
||||
'options':
|
||||
- '6 ips 1.2.3.4,5.6.7.8'
|
||||
```
|
||||
'dhcp':
|
||||
# …
|
||||
'dhcpv4':
|
||||
# …
|
||||
'options':
|
||||
- '6 ips 1.2.3.4,5.6.7.8'
|
||||
```
|
||||
|
||||
The `text` format (since **v0.106.0**) allows you to put arbitrary UTF-8 text as
|
||||
the option data. For example:
|
||||
* The `text` format (since **v0.106.0**) allows you to put arbitrary UTF-8
|
||||
text as the option data. For example:
|
||||
|
||||
```yaml
|
||||
# …
|
||||
'dhcp':
|
||||
# …
|
||||
'dhcpv4':
|
||||
```yaml
|
||||
# …
|
||||
'options':
|
||||
- '252 text http://example.com'
|
||||
```
|
||||
'dhcp':
|
||||
# …
|
||||
'dhcpv4':
|
||||
# …
|
||||
'options':
|
||||
- '252 text http://example.com'
|
||||
```
|
||||
|
||||
|
||||
|
||||
### <a id="config-6" href="#config-6">DHCPv6 Options</a>
|
||||
|
||||
|
@ -107,6 +123,10 @@ The option `dhcp.dhcpv6.ra_allow_slaac`, if `true`, sends RA packets allowing
|
|||
the clients to choose between SLAAC and DHCPv6.
|
||||
|
||||
[configuration]: https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration
|
||||
[rfc-2131]: https://tools.ietf.org/html/rfc2131#page-29
|
||||
[rfc-2132]: https://tools.ietf.org/html/rfc2132#section-3
|
||||
|
||||
|
||||
|
||||
## <a id="autohosts" href="#autohosts">Automatic Hosts</a>
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ work. -->
|
|||
and alike) for a host is basically the same as blocking that host.
|
||||
|
||||
```none
|
||||
# Returns the IP address 1.2.3.4 for exmaple.org.
|
||||
# Returns the IP address 1.2.3.4 for example.org.
|
||||
1.2.3.4 example.org
|
||||
# Blocks example.com by responding with 0.0.0.0.
|
||||
0.0.0.0 example.com
|
||||
|
|
Loading…
Reference in New Issue