AdGuardHome/dhcpd
Simon Zolin dcc575402b Merge: * clients: update runtime clients of type DHCP by event from DHCP module
Close #1378

Squashed commit of the following:

commit e45e2d0e2768fe0677eee43538d381b3eaba39ca
Merge: bea8f79d 5e9c21b0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 20:08:20 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1378-dhcp-clients

commit bea8f79dd6f8f3eae87649d853917b503df29616
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 20:08:06 2020 +0300

    minor

commit 6f1da9c6ea9db5bf80acf234ffe322a4cd2d8d92
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 19:31:08 2020 +0300

    fix

commit a88b46c1ded2b460ef7f0bfbcf1b80a066edf1c1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 12:53:22 2020 +0300

    minor

commit d2897fe0a9b726fcd97a04906e3be3d21f6b42d7
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:55:10 2020 +0300

    * clients: update runtime clients of type DHCP by event from DHCP module

commit 3aa352ed2372141617d77363b2f2aeaf3a7e47a0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:52:08 2020 +0300

    * minor

commit f5c2291e39df4d13b9baf9aa773284890494bb0a
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:08:23 2020 +0300

    * clients: remove old entries of source type /etc/hosts or ARP
2020-01-30 10:25:02 +03:00
..
standalone - fix tests and linter issues 2019-05-31 12:27:13 +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 Merge: * clients: update runtime clients of type DHCP by event from DHCP module 2020-01-30 10:25:02 +03:00
dhcpd_test.go Merge: * clients: update runtime clients of type DHCP by event from DHCP module 2020-01-30 10:25:02 +03:00
dhcpd.go Merge: * clients: update runtime clients of type DHCP by event from DHCP module 2020-01-30 10:25:02 +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
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: step-by-step guide for test setup with Virtual Box 2019-03-15 14:00:32 +03:00

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