Archive for DHCP

Jumpstart/JET and DHCP

This week I decided to try out JET with DHCP mode to jumpstart a client. JET by default uses Sun shipped dhcp server (/usr/lib/inet/in.dhcpd, dhcpconfig, dhtadm, pntadm etc) for this purpose. Here is the steps we followed to configure the DHCP with JET:

  1. Copy out the make_dhcp from JET to a temporary place:
  2. 
    # cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp
    
  3. Modify /var/tmp/make_dhcp and change variables NETWORK, NETMASK and ROUTER to suit our environment:
  4. 
    NETWORK=192.168.1.0
    NETMASK=255.255.255.0
    ROUTER=192.168.1.1
    
  5. Run /var/tmp/make_dhcp

Then we run "make_client transam" to configure a jumpstart client transam:

# /opt/SUNWjet/bin/make_client -f transam
Gathering network information..
        Client: 192.168.1.205 (192.168.1.0/255.255.255.0)
        Server: 192.168.1.244 (192.168.1.0/255.255.255.0, SunOS)
Solaris: client_prevalidate
         Clean up /etc/ethers
Solaris: client_build
Creating sysidcfg
Creating profile
Adding base_config specifics to client configuration
Adding sds specifics to client configuration
SDS: Configuring preferred metadevice numbers
Adding flash specifics to client configuration
FLASH: Modifying client profile for flash install
FLASH: Removing package/cluster/usedisk entries from profile
Solaris: Configuring JumpStart boot for transam
         Starting SMF services for JumpStart
Solaris: Configure DHCP build
         Adding install client
         Supporting VENDOR=SUNW.Sun-Blade-1500 SUNW.Sun-Blade-1500-S SUNW.Sun-Blade-100 SUNW.Ultra-5_10 SUNW.Ultra-30
         Configuring transam macro
         Using local dhcp server
         Setting up Network on dhcp server
         Macro: 192.168.1.0 Netmask: 255.255.255.0 Default Router: 192.168.1.1
Added network macro to dhcptab - 192.168.1.0.
Created network table.
         DHCP configuration complete
Running '/opt/SUNWjet/bin/check_client  transam'
        Client: 192.168.1.205 (192.168.1.0/255.255.255.0)
        Server: 192.168.1.244 (192.168.1.0/255.255.255.0, SunOS)
Checking product base_config/solaris
Checking product custom
Checking product sds
Checking product flash
FLASH: Checking nfs://192.168.1.244/export/flasharchives/umuc-solaris10.flar
Checking product san
--------------------------------------------------------------
Check of client transam
-> Passed....

And that's it. Easy, isn't it?

I also tried out ISC's dhcpd with JET and it worked fine too. But the downside is that JET won't be able to automatically configure the DHCP settings like it does with Sun's dhcpd when you run make_client. So I had to hand craft the dhcpd.conf for the ISC dhcpd. Here is a working copy of my configuration:


default-lease-time 6000;
max-lease-time 6000;
min-lease-time 6000;
ddns-update-style ad-hoc;

option space SUNW;
option SUNW.root-mount-options code 1 = text;
option SUNW.root-server-ip-address code 2 = ip-address;
option SUNW.root-server-hostname code 3 = text;
option SUNW.root-path-name code 4 = text;
option SUNW.swap-server-ip-address code 5 = ip-address;
option SUNW.swap-file-path code 6 = text;
option SUNW.boot-file-path code 7 = text;
option SUNW.posix-timezone-string code 8 = text;
option SUNW.boot-read-size code 9 = unsigned integer 16;
option SUNW.install-server-ip-address code 10 = ip-address;
option SUNW.install-server-hostname code 11 = text;
option SUNW.install-path code 12 = text;
option SUNW.sysid-config-file-server code 13 = text;
option SUNW.JumpStart-server code 14 = text;
option SUNW.terminal-name code 15 = text;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.1;
        option subnet-mask 255.255.255.0;
        option domain-name "mydom.org";
        option domain-name-servers 192.168.1.3;
        ddns-updates off;

host transam {
                hardware ethernet 0:3:ba:c4:d8:ea;
                fixed-address 192.168.1.205;
                option host-name "transam";
		vendor-option-space SUNW;                
		option SUNW.sysid-config-file-server "confucius:/opt/SUNWjet/Clients/transam";
                option SUNW.JumpStart-server "confucius:/opt/SUNWjet";
                option SUNW.install-server-hostname "confucius.mydom.org";
                option SUNW.install-server-ip-address 192.168.1.244;
                option SUNW.install-path "/dhcp/OS_10";
                option SUNW.root-server-hostname "confucius.mydom.org";
                option SUNW.root-server-ip-address 192.168.1.244;
                option SUNW.root-path-name "/dhcp/OS_10/Solaris_10/Tools/Boot";
                next-server 192.168.1.244;
        }
}

Leave a Comment