[K12OSN] LTSP server with 3 NICs?

Terrell Prude' Jr. microman at cmosnetworks.com
Sat Dec 20 02:15:25 UTC 2008


Ah, I think I see the issue.  There was a piece of info I left out.  
Because you now have more than one DHCP scope, you've got to be careful 
with your global options (those not in a "shared-network XXXXXX" 
section).  Basically, you've got to move all those "option" statements 
for 192.168.0.0 into the "shared-network WORKSTATIONS" section, and the 
"option" statements for 192.168.4.0 into the "shared-network 
WORKSTATIONS-2" section.  The reason is that all the global statements 
for 192.168.4.0 just over-rode all your statements for 192.168.0.0, so 
your 192.168.0.0 thin clients would've had problems, too.  Sorry 'bout that.

Here's the tweaked version.  Give this a read and see how it goes.

Also, what types of clients are you using--EtherBoot or PXE-boot?


# Sample configuration file for ISCD dhcpd
#
# Don't forget to set run_dhcpd=1 in /etc/init.d/dhcpd
# once you adjusted this file and copied it to /etc/dhcpd.conf.
#
# File was modified by Joseph Bishay December 19th, 2008 to add a
second subnet for the church 192.168.4.X/24

default-lease-time            21600;
max-lease-time                21600;
ddns-update-style none;
allow booting;
allow bootp;

# "option" statements for 192.168.0.0 moved
# to shared-network WORKSTATIONS{} section

# This part below is duplicated by Joseph

# "option" statements for 192.168.4.0 moved
# to shared-network WORKSTATIONS-2{} section

# End of duplication

shared-network WORKSTATIONS {
  subnet 192.168.0.0 netmask 255.255.255.0 {
     range dynamic-bootp 192.168.0.100 192.168.0.253;
     use-host-decl-names       on;
     option log-servers        192.168.0.254;
# Moved those option statements from global to scope-specific
     option subnet-mask            255.255.255.0;
     option broadcast-address      192.168.0.255;
     option routers                192.168.0.254;
     option domain-name-servers    192.168.0.254;
     next-server                   192.168.0.254;
     option domain-name            "ltsp";
     option root-path              "192.168.0.254:/opt/ltsp/i386";
     option option-128 code 128 = string;
     option option-129 code 129 = text;
     option option-221 code 221 = text;
# End option statements from above for 192.168.0.0

     # trick from Peter Rundle <peter.rundle at au.interpath.net>
     # newer Macs
     if substring (option vendor-class-identifier, 0, 9) = "AAPLBSDPC"
     {
        filename      "yaboot";
        option vendor-class-identifier "AAPLBSDPC";
     }
     # really old iMacs
     elsif substring (option option-221, 0, 5) = "Apple"
     {
        filename      "yaboot";
        option vendor-class-identifier "AAPLBSDPC";
     }
     # Intel PXE
     elsif substring (option vendor-class-identifier, 0, 9) = "PXEClient"
     {
        # NOTE: kernels are specified in /tftpboot/lts/pxe/pxelinux.cfg/
        filename      "/lts/pxe/pxelinux.0";
     }
     # default to an i386 BOOTP image
     else
     {
        filename      "/lts/vmlinuz.ltsp";
     }

     if substring (option vendor-class-identifier, 20, 3) = "ppc" {
        option root-path "192.168.0.254:/opt/ltsp/ppc";
     } else {
        option root-path "192.168.0.254:/opt/ltsp/i386";
     }
  }
}

# example configurations for specifying specific kernels to specific clients
group    {
    use-host-decl-names       on;
    option log-servers        192.168.0.254;

    host ws001 {
        hardware ethernet     00:E0:06:E8:00:84;
        fixed-address         192.168.0.1;
        filename              "/lts/vmlinuz.ltsp";
        option option-128 e4:45:74:68:00:00;
        option option-129 "NIC=3c509";
    }
    host ws002 {
        hardware ethernet     00:D0:09:30:6A:1C;
        fixed-address         192.168.0.2;
        filename              "/lts/vmlinuz.ltsp";
        option option-128 e4:45:74:68:00:00;
        option option-129 "NIC=ne";
    }
    host ws003 {
        hardware ethernet     00:D0:09:30:28:B2;
        fixed-address         192.168.0.3;
        # kernels are specified in /tftpboot/lts/boot/pxe/pxelinux.cfg/
        filename              "/lts/boot/pxe/pxelinux.0";
    }

# Apple Specific Settings
#    host ws007 {
#       hardware ethernet     00:30:65:69:23:60;
#       fixed-address         192.168.0.4;
#       option root-path      "192.168.0.254:/opt/ltsp/ppc";
#       filename              "yaboot";
#       option vendor-class-identifier "AAPLBSDPC";
#    }
}


#####
# Second part of duplication by Joseph Bishay
####

shared-network WORKSTATIONS-2 {
  subnet 192.168.4.0 netmask 255.255.255.0 {
     range dynamic-bootp 192.168.4.100 192.168.4.253;
     use-host-decl-names       on;
     option log-servers        192.168.4.254;
# Moved those option statements from global to scope-specific
     option subnet-mask            255.255.255.0;
     option broadcast-address      192.168.4.255;
     option routers                192.168.4.254;
     option domain-name-servers    192.168.4.254;
     next-server                   192.168.4.254;
     option domain-name            "ltsp";
     option root-path              "192.168.4.254:/opt/ltsp/i386";
     option option-128 code 128 = string;
     option option-129 code 129 = text;
     option option-221 code 221 = text;
# End option statements from above for 192.168.4.0

     # trick from Peter Rundle <peter.rundle at au.interpath.net>
     # newer Macs
     if substring (option vendor-class-identifier, 0, 9) = "AAPLBSDPC"
     {
        filename      "yaboot";
        option vendor-class-identifier "AAPLBSDPC";
     }
     # really old iMacs
     elsif substring (option option-221, 0, 5) = "Apple"
     {
        filename      "yaboot";
        option vendor-class-identifier "AAPLBSDPC";
     }
     # Intel PXE
     elsif substring (option vendor-class-identifier, 0, 9) = "PXEClient"
     {
        # NOTE: kernels are specified in /tftpboot/lts/pxe/pxelinux.cfg/
        filename      "/lts/pxe/pxelinux.0";
     }
     # default to an i386 BOOTP image
     else
     {
        filename      "/lts/vmlinuz.ltsp";
     }

     if substring (option vendor-class-identifier, 20, 3) = "ppc" {
        option root-path "192.168.4.254:/opt/ltsp/ppc";
     } else {
        option root-path "192.168.4.254:/opt/ltsp/i386";
     }
  }
}

#######
# End of second duplication by Joseph Bishay
# with slight mods by Terrell Prude'
#######

--TP


Joseph Bishay wrote:
> Hello,
>
> I followed your steps but something seems to be wrong.
>
> I activated the 3rd NIC, made the changes to hosts and the
> /etc/dhcpd-k12ltsp.conf  (/etc/dhcpd.conf is blank in my k12ltsp FC6
> setup)
>
> I rebooted the server, then turned on one of the clients.  The client
> screen is hanging on:
>
> "Loading 192.168.4.254:/lts/vmlinuz.ltsp"
>
> tail -f /var/log/messages/ shows:
>
> Dec 19 20:25:28 server dhcpd: DHCPDISCOVER from 00:60:b0:57:d2:c8 via eth2
> Dec 19 20:25:29 server dhcpd: DHCPOFFER on 192.168.4.253 to
> 00:60:b0:57:d2:c8 via eth2
> Dec 19 20:25:31 server dhcpd: DHCPREQUEST for 192.168.4.253
> (192.168.4.254) from 00:60:b0:57:d2:c8 via eth2
> Dec 19 20:25:31 server dhcpd: DHCPACK on 192.168.4.253 to
> 00:60:b0:57:d2:c8 via eth2
> Dec 19 20:25:55 server ntpd[2841]: synchronized to LOCAL(0), stratum 10
> Dec 19 20:25:55 server ntpd[2841]: kernel time sync enabled 0001
> Dec 19 20:26:53 server ntpd[2841]: synchronized to 64.247.17.249, stratum 2
>
> My dhcpd-k12ltsp.conf is as follows:
>
> <snipped by TP for brevity>
>   




More information about the K12OSN mailing list