AdGuardHome/dhcpd
Simon Zolin 49a92605b8 + dns: respond to PTR requests for internal IP addresses from DHCP
Close #1682

Squashed commit of the following:

commit 2fad3544bf8853b1f8f19ad8b7bc8a490c96e533
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 22 17:32:45 2020 +0300

    minor

commit 7c17992424702d95e6de91f30e8ae2dfcd8de257
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 22 16:09:34 2020 +0300

    build

commit 16a52e11a015a97d3cbf30362482a4abd052192b
Merge: 7b6a73c8 2c47053c
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 22 16:08:32 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1682-dhcp-resolve

commit 7b6a73c84b5cb9a073a9dfb7d7bdecd22e1e1318
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 22 16:01:34 2020 +0300

    tests

commit c2654abb2e5e7b7e3a04e4ddb8e1064b37613929
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jun 1 15:15:13 2020 +0300

    + dnsforward: respond to PTR requests for internal IP addresses

    {[IP] => "host"} <- DNSforward <-(leases)-- DHCP
2020-06-23 12:13:13 +03:00
..
standalone *: fix golangci-lint warnings 2020-04-05 18:34:43 +03:00
README.md + DHCP: step-by-step guide for test setup with Virtual Box 2019-03-15 14:00:32 +03:00
check_other_dhcp.go -(dnsforward): fixed sigsegv when protection is disabled 2019-08-20 00:55:32 +03:00
db.go Merge: * clients: update runtime clients of type DHCP by event from DHCP module 2020-01-30 10:25:02 +03:00
dhcp_http.go Fix #1069 install: check static ip 2020-02-13 18:42:07 +03:00
dhcpd.go + dns: respond to PTR requests for internal IP addresses from DHCP 2020-06-23 12:13:13 +03:00
dhcpd_test.go - DHCP: when adding a new static lease: remove dynamic lease with the same MAC 2020-04-08 11:55:58 +03:00
filter_conn.go gometalinter 2019-01-25 20:13:57 +03:00
helpers.go * dhcpd: check if subnet mask is correct 2019-07-17 11:55:21 +03:00
network_utils.go *: fix golangci-lint warnings 2020-04-05 18:34:43 +03:00
network_utils_test.go Fix #1069 install: check static ip 2020-02-13 18:42:07 +03:00
os_linux.go - dhcp: fix build on macos #704 2019-04-23 15:14:26 +03:00
os_unix.go - dhcp: fix build on macos #704 2019-04-23 15:14:26 +03:00
os_windows.go - dhcp: fix build on macos #704 2019-04-23 15:14:26 +03:00

README.md

DHCP server

Contents:

Test setup with Virtual Box

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

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

Configure client

  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:

     File -> Host Network Manager...
    
  2. Create your virtual machine and set up its network:

     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.

Configure server

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

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

     ./AdGuardHome
    

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

     [info] DHCP: listening on 0.0.0.0:67