How to Install and Configure Multihomed ISC DHCP Server on Debian Linux

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Rob Turner

Rob Turner is an avid Debian user as well as many of the derivatives of Debian such as Devuan, Mint, Ubuntu, and Kali. Rob holds a Masters in Information and Communication Sciences as well as several industry certifications from Cisco, EC-Council, ISC2, Linux Foundation, and LPI.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

4 Responses

  1. Mohammed Hafeezuddin Jeelani says:

    Hello Guys,

    I do remember my first dhcp server I ever set up was a Linux machine 12 years ago. Every time people say windows dhcp server for vlans and I smiled.

    Any way keep in mind, Linux kernel which have support for 802.q will able to serve dhcp service also.

    For example here:

    # yum install dhcpd      (for fedora or rhel /cent)
    # dnf install dhcpd      (for fedora 22+)
    # apt-get install dhcpd  (for Ubuntu or Debian)

    Create virtual interfaces, you do no need more physical interfaces, in example to make 3 vlan 10.10.10.x, 10.10.20.x, and 10.10.30.x

    # nmcli con modify type vlan ifname vlan10 dev ens33 id 10 ip4 gw4
    # nmcli con add type vlan ifname vlan10 dev ens33 id 10 ip4 gw4
    # nmcli con add type vlan ifname vlan20 dev ens33 id 20 ip4 gw4
    # nmcli con add type vlan ifname vlan30 dev ens33 id 30 ip4 gw4

    This for fedora or rhel latest versions.

    For Ubuntu and Debian, command is:

    # vconfig add ens33 10
    # vconfig add ens33 20

    Then, configure the network settings for the VLAN interfaces:

    # ip addr add dev ens33.10

    Bring up the VLAN interface:

    # ip link set eth33.10 up 

    Do for all interfaces in Ubuntu and then check ip address and see virutal interfaces pinging..

    Nex, open dhcpd.conf file and edit as follows.

    # option definitions common to all supported networks...
    option domain-name "";
    option domain-name-servers,;
    default-lease-time 600;
    max-lease-time 7200;
    # Use this to enble / disable dynamic dns updates globally.
    #ddns-update-style none;
    # If this DHCP server is the official DHCP server for the local
    # network, the authoritative directive should be uncommented.
    # Use this to send dhcp log messages to a different log file (you also
    # have to hack syslog.conf to complete the redirection).
    log-facility local7;
    # No service will be given on this subnet, but declaring it helps the 
    # DHCP server to understand the network topology.
    subnet netmask {
    # This is a very basic subnet declaration.
    subnet netmask {
      option routers;
    subnet netmask {
      option routers;
      subnet netmask {
      option routers;

    save the file and start the service and your good to go.

    Connect to trunk port of switch and check it. Any doubts, do let me know.

    my email :[email protected]

  2. add says:

    its not control protokoll ist configuration protokoll

  3. D'jems Markenzy Mortimer says:

    How many NICs are attached to this server exactly? I’m not too keen on the NIC bonding in Linux yet. Can you elucidate?

    • Rob Turner says:


      This particular server only has one NIC. On the network that it was used in, the Cisco router was setup with an ip helper address for other vlans.

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.