badguardhome/dhcpd
Simon Zolin c5ed6da5bd - /control/dhcp/find_active_dhcp: fix DHCP server detection
Before this patch we couldn't receive incoming DHCP packets.
Now we bind() to 0.0.0.0 and set the required network interface
 using SO_BINDTODEVICE option.

As an improvement, we now wait until a reply to our request is
 received and skip all unknown packets.
2019-04-23 12:26:14 +03:00
..
standalone * use new logger - AdguardTeam/golibs/log 2019-02-27 15:02:11 +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 - /control/dhcp/find_active_dhcp: fix DHCP server detection 2019-04-23 12:26:14 +03:00
db.go + DHCP: On-disk database for lease table 2019-03-15 13:56:45 +03:00
dhcpd.go Merge with master 2019-03-22 10:36:48 +03:00
dhcpd_test.go * DHCP: fix and update tests 2019-03-20 14:19:19 +03:00
filter_conn.go gometalinter 2019-01-25 20:13:57 +03:00
helpers.go * use new logger - AdguardTeam/golibs/log 2019-02-27 15:02:11 +03:00
os_unix.go - /control/dhcp/find_active_dhcp: fix DHCP server detection 2019-04-23 12:26:14 +03:00
os_windows.go - /control/dhcp/find_active_dhcp: fix DHCP server detection 2019-04-23 12:26:14 +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