AdGuardHome/internal/dhcpd/README.md

97 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

2023-06-07 18:04:01 +01:00
# Testing DHCP Server
Contents:
2023-06-07 18:04:01 +01:00
* [Test setup with Virtual Box](#vbox)
* [Quick test with DHCPTest](#dhcptest)
2023-06-07 18:04:01 +01:00
## <a href="#vbox" id="vbox" name="vbox">Test setup with Virtual Box</a>
2023-06-07 18:04:01 +01:00
### Prerequisites
2023-06-07 18:04:01 +01:00
To set up a test environment for DHCP server you will need:
2023-06-07 18:04:01 +01:00
* Linux AG Home host machine (Virtual).
* Virtual Box.
* Virtual machine (guest OS doesn't matter).
2023-06-07 18:04:01 +01:00
### Configure Virtual Box
2023-09-07 15:13:48 +01:00
1. Install Virtual Box and run the following command to create a Host-Only
2023-06-07 18:04:01 +01:00
network:
2023-06-07 18:04:01 +01:00
```sh
$ VBoxManage hostonlyif create
```
2023-09-07 15:13:48 +01:00
You can check its status by `ip a` command.
You can also set up Host-Only network using Virtual Box menu:
2023-06-07 18:04:01 +01:00
```
File -> Host Network Manager...
```
2023-06-07 18:04:01 +01:00
2. Create your virtual machine and set up its network:
2023-06-07 18:04:01 +01:00
```
VM Settings -> Network -> Host-only Adapter
```
2023-06-07 18:04:01 +01:00
3. Start your VM, install an OS. Configure your network interface to use
DHCP and the OS should ask for a IP address from our DHCP server.
2023-06-07 18:04:01 +01:00
4. To see the current IP addresses on client OS you can use `ip a` command on
Linux or `ipconfig` on Windows.
2023-06-07 18:04:01 +01:00
5. To force the client OS to request an IP from DHCP server again, you can
use `dhclient` on Linux or `ipconfig /release` on Windows.
2023-06-07 18:04:01 +01:00
### Configure server
2023-06-07 18:04:01 +01:00
1. Edit server configuration file `AdGuardHome.yaml`, for example:
2023-06-07 18:04:01 +01:00
```yaml
dhcp:
enabled: true
interface_name: vboxnet0
2023-06-07 18:04:01 +01:00
local_domain_name: lan
dhcpv4:
gateway_ip: 192.168.56.1
subnet_mask: 255.255.255.0
range_start: 192.168.56.2
range_end: 192.168.56.2
lease_duration: 86400
icmp_timeout_msec: 1000
options: []
dhcpv6:
range_start: 2001::1
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
2023-06-07 18:04:01 +01:00
```
2. Start the server
```sh
./AdGuardHome -v
```
There should be a message in log which shows that DHCP server is ready:
```
[info] DHCP: listening on 0.0.0.0:67
```
## <a href="#dhcptest" id="dhcptest" name="dhcptest">Quick test with DHCPTest utility</a>
### Prerequisites
2023-06-07 18:04:01 +01:00
* [DHCP test utility][dhcptest-gh].
2023-06-07 18:04:01 +01:00
### Quick test
2023-06-07 18:04:01 +01:00
The DHCP server could be tested for DISCOVER-OFFER packets with in
interactive mode.
2023-06-07 18:04:01 +01:00
[dhcptest-gh]: https://github.com/CyberShadow/dhcptest