Vyatta Network OS Documentation

Learn how to install, configure and operate the Vyatta NOS, which helps drive our virtual networking & physical platforms portfolio.

Set up a third party DHCP server

How to configure a third party DHCP server to allow the PXE client to locate the ISO image.

You must configure a DHCP server to allow the PXE client to locate the ISO image. You can use any DHCP server.

The following steps describe how to set up a third-party DHCP server. The examples use the ISC DHCP server.

  1. Install the ISC DHCP server (you can download the server at https://www.isc.org/downloads/dhcp/.)
    ~$ sudo apt-get install isc-dhcp-server
  2. Configure the DHCP server NIC with a static IP address.
    ~$ sudo vi /etc/network/interfaces 
    # This file describes the network interfaces available on your system 
    # and how to activate them. For more information, see interfaces(5). 
    # The loopback network interface auto lo iface lo inet loopback 
    # The primary network interface 
    auto eth0 
       iface eth0 inet static 
       address 192.168.100.10 
       netmask 255.255.255.0 
       gateway 192.168.100.1
  3. Set up the configuration file for the DHCP server (/etc/dhcp/dhcpd.conf), replacing the addresses with appropriate settings for your installation.
    The allow booting, allow bootp, next-server, filename, and range parameters are specific to PXE. The other settings are generic.
    allow booting;
    allow bootp;
    
    subnet 192.168.100.0 netmask 255.255.255.0 {
        option routers 192.168.100.10;
        option broadcast-address 192.168.100.255;
        next-server 192.168.100.10;
        filename "gpxelinux.0";
       
    	pool {
            max-lease-time 600;
            range dynamic-bootp 192.168.100.100 192.168.100.110;
            allow unknown-clients;
        }
    }
  4. Boot the DHCP server and confirm that it is running.
    ~$ sudo service isc-dhcp-server restart 
    isc-dhcp-server stop/waiting 
    isc-dhcp-server start/running, process 1380 
    
    ~$ sudo netstat -uap 
    Active Internet connections (servers and established) 
    Proto Recv-Q Send-Q    Local Address Foreign Address State PID/Program name 
    udp        0      0    *:bootps      *:*                   1380/dhcpd 
    udp        0      0    *:31830       *:*                   1380/dhcpd 
    udp6       0      0    [::]:32859    [::]:*                1380/dhcpd 
    ~$
If you are using a test host for DHCP, verify that is it getting an IP address from the DHCP server's range.