Files
AdGuardHome/internal/dhcpd
Stanislav Chzhen 86de4e75f0 Pull request 2442: AGDNS-3061-config-modifier
Merge in DNS/adguard-home from AGDNS-3061-config-modifier to master

Squashed commit of the following:

commit a0068547bd0209d12e8dbf98ddd5e4ed2545cdd0
Merge: 97b798af6 451255675
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Tue Aug 5 17:39:31 2025 +0300

    Merge branch 'master' into AGDNS-3061-config-modifier

commit 97b798af6a50ee27ee5ed2bcf1c4c3670f5afc5d
Merge: 96d21efc9 b8043e4f0
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Wed Jul 30 20:27:41 2025 +0300

    Merge branch 'master' into AGDNS-3061-config-modifier

commit 96d21efc984073adef5026de8a03b5bf94542648
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Wed Jul 30 20:18:43 2025 +0300

    all: imp code

commit 67c5608b4be3bd712a0ab5980f25ecea1ed21d65
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Tue Jul 29 20:31:19 2025 +0300

    all: imp code

commit 52f45a9f70f57d8e7f7fc0e9e8291ff0dde74343
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Mon Jul 28 20:32:13 2025 +0300

    all: use config modifier

commit d389ffd286460d8ff1964bd2ee8dabdafb832b9b
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Fri Jul 25 14:20:31 2025 +0300

    bamboo-specs: fix ci

commit 3f303ac9131a07e4af5783696b237436fd93d65c
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Fri Jul 25 14:18:42 2025 +0300

    home: config modifier
2025-08-05 18:16:39 +03:00
..
2023-08-15 15:09:08 +03:00
2023-08-15 15:09:08 +03:00
2023-08-15 15:09:08 +03:00
2024-12-12 16:20:13 +03:00
2024-12-19 17:17:40 +03:00
2025-03-07 13:01:34 +03:00
2024-12-04 17:57:37 +03:00

Testing DHCP Server

Contents:

Test setup with Virtual Box

Prerequisites

To set up a test environment for DHCP server you will need:

  • Linux AG Home host machine (Virtual)
  • Virtual Box
  • Virtual machine (guest OS doesn't matter)

Configure Virtual Box

  1. Install Virtual Box and run the following command to create a Host-Only network:

    VBoxManage hostonlyif create
    

    You can check its status by ip a command.

    You can also set up Host-Only network using Virtual Box menu in File → Host Network Manager.

  2. Create your virtual machine and set up its network in VM Settings → Network → Host-only Adapter.

  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.

  4. To see the current IP addresses on client OS you can use ip a command on Linux or ipconfig on Windows.

  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.

Configure server

  1. Edit server configuration file AdGuardHome.yaml, for example:

    dhcp:
        enabled: true
        interface_name: vboxnet0
        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
    
  2. Start the server:

    ./AdGuardHome -v
    

    There should be a message in log which shows that DHCP server is ready:

    [info] dhcpv4: listening
    

Quick test with DHCPTest utility

Prerequisites

Quick test

The DHCP server could be tested for DISCOVER-OFFER packets with in interactive mode.