wiki:Internal/Infrastructure/SystemServices/DHCPService

Version 3 (modified by msherman, 9 years ago) ( diff )

DHCP Service

The Dynamic Host Configuration Protocol (DHCP) provides a way to automate and manage the network configurations of all ORBIT attached devices. It has two main functions:

1.) Assigning networking (IP) configuration 2.) Support for PXE booting

Configuration

authoritative;
use-host-decl-names on;
ping-check false;
ping-timeout 0;
default-lease-time 86400;
max-lease-time 86400;

subnet 10.11.0.0 netmask 255.255.0.0 {
        range  10.11.50.100 10.11.50.255;
        option routers 10.11.0.1;
        option domain-name-servers 10.0.0.9;
        option domain-name "sb1.orbit-lab.org";
        option log-servers 10.11.0.10;
        option ntp-servers 10.11.0.10;
        ddns-updates off;
        ddns-domainname "sb1.orbit-lab.org";
        next-server 10.11.0.40;

        host consolec.sb1.orbit-lab.org {hardware ethernet 00:40:63:D4:09:62; fixed-address consolec.sb1.orbit-lab.org;}
        host repository2.sb1.orbit-lab.org {hardware ethernet 00:04:23:9E:DF:58; fixed-address repository2.sb1.orbit-lab.org;}
        host node1-1.sb1.orbit-lab.org {hardware ethernet 00:0f:ea:4A:8B:5F; fixed-address node1-1.sb1.orbit-lab.org;}
        host node1-2.sb1.orbit-lab.org {hardware ethernet 00:0F:EA:84:C8:01; fixed-address node1-2.sb1.orbit-lab.org;}
}

PXE Support

The PXE protocol uses a very complex set of extensions to DHCP and/or BOOTP but most of the newer implementations seem to be able to boot with standard DHCP configuration.

A DHCP configuration for PXE support is:

        allow booting;
        allow bootp;

	# Standard DHCP configuration directives...

	# Needed for PXE
	filename "/pxelinux.bin";
        option option-150 code 150 = text;
          
        # tftp server
        next-server 10.11.0.40;

Configuration As of 10/14/2015

  • Main file is dhcpd.conf, includes each orbit subnet as separate file, e.g. include "/etc/dhcp/grid.conf";
  • dhcpd Header is as follows
    #ddns-update-style interim;
    authoritative;
    use-host-decl-names on;
    get-lease-hostnames true;
    ping-check false;
    ping-timeout 0;
    log-facility local7;
    default-lease-time 86400;
    max-lease-time 86400;
    ddns-updates off;
    #allow booting;
    #allow bootp;
    # Ivan/James  on dhcp1 if you want the log to do dhcplog enable this below and modify syslog.conf  
    
    option ntp-servers dhcp1.orbit-lab.org,dhcp2.orbit-lab.org;
    
    filename "/pxelinux.bin";
    option option-150 code 150 = text;
    
  • Header for each sandbox is:
    #Sandbox Config
    subnet 10.11.0.0 netmask 255.255.0.0 {
    	option routers 10.11.0.1; # Router
    	option domain-name-servers 10.11.0.9, 10.11.0.8; #DNS
    	option domain-name "sb1.orbit-lab.org"; #current domain
            option log-servers 10.11.0.10; # log set per subnet
            option ntp-servers 10.11.0.10; #ntp set per subnet
    	ddns-updates off; #no ddns
    	ddns-domainname "sb1.orbit-lab.org";
    	next-server 10.11.0.42; #for pxe
    
  • Files included are:
    • inside.conf
    • instrument.conf
    • network.conf
    • cm.conf
    • dmz.conf
    • grid.conf
    • outdoor.conf
    • failover.conf
    • sandbox1.conf
    • sandbox2.conf
    • sandbox3.conf
    • sandbox4.conf
    • sandbox5.conf
    • sandbox6.conf
    • sandbox7.conf
    • sandbox8.conf
    • sandbox9.conf
    • aruba.conf
Note: See TracWiki for help on using the wiki.