PXE help, bad subnet IP range

I have been trying to get a DHCP PXE server up for a few days now, this is what I got so far…

I am following this how-to

here are some outputs and what-nots, go to the last one to see the problem I am having.

the host network

:~> /sbin/ifconfig
br0       Link encap:Ethernet  HWaddr 00:19:DB:62:97:20  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::219:dbff:fe62:9720/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:998918 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1161558 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:695623678 (663.3 Mb)  TX bytes:501225142 (478.0 Mb)

eth0      Link encap:Ethernet  HWaddr 00:19:DB:62:97:20  
          inet addr:192.168.1.2  Bcast:0.0.0.0  Mask:255.255.255.255
          inet6 addr: fe80::219:dbff:fe62:9720/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1095032 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1237991 errors:0 dropped:0 overruns:0 carrier:0
          collisions:25272 txqueuelen:1000 
          RX bytes:715447404 (682.3 Mb)  TX bytes:506282637 (482.8 Mb)
          Memory:fdce0000-fdd00000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:29359 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29359 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4036410 (3.8 Mb)  TX bytes:4036410 (3.8 Mb)

Here is my /etc/dhcpd.conf

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
## option definitions common to all supported networks...
#
# All of this happens behind the firewall, and the whole domain
# is made-up anwyay, so this is mostly fluff.
#
option domain-name "li18nxboy.net";
 
# We don't have Nameservers... so let's just forget this item
#option domain-name-servers ns1.networkboot.org, ns2.networkboot.org;
 
default-lease-time 600;
max-lease-time 7200;
 
# if you do not use dynamical DNS updates:
#
# this statement is needed by dhcpd-3 needs at least this statement.
# you have to delete it for dhcpd-2, because it does not know it.
#
# if you want to use dynamical DNS updates, you should first read
# read /usr/share/doc/packages/dhcp-server/DDNS-howto.txt
ddns-update-style none; ddns-updates off;
 
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
 
# 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;
 
#  We only want to respond to PXE DHCP requests
 
allow booting;
 
# define rules to identify DHCP Requests from PXE and Etherboot clients.
 
class "pxe" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
}
class "etherboot" {
match if substring (option vendor-class-identifier, 0, 9) = "Etherboot";
}
 
# This is our subnet for PXE boot/installation.
 
subnet 192.168.1.2 netmask 255.255.255.255 {
option broadcast-address 192.168.2.255;
pool {
range 192.168.1.101,255.255.255.255 192.168.1.150,255,255,255,255; # only need a few addresses
default-lease-time 180; # no long lease time required for booting
max-lease-time 360;     # booted system does its own dhcp request
server-name "192.168.1.2"; # This happens to be the IP of this server too
next-server 192.168.1.2; # Address of the TFTP server
filename "pxelinux.0";
allow members of "pxe"; # only respond to PXE requests
allow members of "etherboot"; # allow etherboot, too
}
}
}

I get this error when restarting the server

service dhcpd restart
Shutting down ISC DHCPv4 4.x Server                                  done
Starting ISC DHCPv4 4.x Server Internet Systems Consortium DHCP Server 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
/var/lib/dhcp//etc/dhcpd.conf line 52: expecting numeric value.
range 192.168.1.101,
                    ^
/var/lib/dhcp//etc/dhcpd.conf line 60: Pool declaration with no address range.
}
^
Pool declarations must always contain at least
one range statement.
Configuration file errors encountered -- exiting


I admittedly dont know much about sub-netting, could someone please explain why this would not be a proper configuration?

Ok I got the client to recognize the host

I had
subnet 192.168.1.2 netmask 255.255.255.255

wrong netmask

255.255.255.0

go figure

i got a error of the client

trying to load: pxelinux.cfg/default
could not find: gfxboot

I am trying to work it out with google

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

First, I’ve never setup dhcpd specifically but…

Your network and address notation looks to be wrong. A broadcast address
may be something like 192.168.1.255 or 255.255.255.255 but a netmask
almost certainly will not be. Where you have ‘netmask’ make it
255.255.255.0 and where you have your subnet define it as 192.168.1.0 to
see if that helps. This is probably telling dhcpd that you are giving out
IPs on the 192.168.1.x network. You’ll need to change the range portions
too to be 255.255.255.0 rather than 255.255.255.255 if I’m guessing correctly.

Good luck.

On 12/26/2010 06:06 PM, Li18nxBoy wrote:
>
> I have been trying to get a DHCP PXE server up for a few days now, this
> is what I got so far…
>
> I am following ‘this how-to’ (http://tinyurl.com/2469ssa)
>
> here are some outputs and what-nots, go to the last one to see the
> problem I am having.
>
>
>
> the host network
>
>
> Code:
> --------------------
> :~> /sbin/ifconfig
> br0 Link encap:Ethernet HWaddr 00:19:DB:62:97:20
> inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
> inet6 addr: fe80::219:dbff:fe62:9720/64 Scope:Link
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:998918 errors:0 dropped:0 overruns:0 frame:0
> TX packets:1161558 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:695623678 (663.3 Mb) TX bytes:501225142 (478.0 Mb)
>
> eth0 Link encap:Ethernet HWaddr 00:19:DB:62:97:20
> inet addr:192.168.1.2 Bcast:0.0.0.0 Mask:255.255.255.255
> inet6 addr: fe80::219:dbff:fe62:9720/64 Scope:Link
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:1095032 errors:0 dropped:0 overruns:0 frame:0
> TX packets:1237991 errors:0 dropped:0 overruns:0 carrier:0
> collisions:25272 txqueuelen:1000
> RX bytes:715447404 (682.3 Mb) TX bytes:506282637 (482.8 Mb)
> Memory:fdce0000-fdd00000
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> inet6 addr: ::1/128 Scope:Host
> UP LOOPBACK RUNNING MTU:16436 Metric:1
> RX packets:29359 errors:0 dropped:0 overruns:0 frame:0
> TX packets:29359 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:4036410 (3.8 Mb) TX bytes:4036410 (3.8 Mb)
>
> --------------------
>
>
>
>
> Here is my /etc/dhcpd.conf
>
>
> Code:
> --------------------
> # dhcpd.conf
> #
> # Sample configuration file for ISC dhcpd
> ## option definitions common to all supported networks…
> #
> # All of this happens behind the firewall, and the whole domain
> # is made-up anwyay, so this is mostly fluff.
> #
> option domain-name “li18nxboy.net”;
>
> # We don’t have Nameservers… so let’s just forget this item
> #option domain-name-servers ns1.networkboot.org, ns2.networkboot.org;
>
> default-lease-time 600;
> max-lease-time 7200;
>
> # if you do not use dynamical DNS updates:
> #
> # this statement is needed by dhcpd-3 needs at least this statement.
> # you have to delete it for dhcpd-2, because it does not know it.
> #
> # if you want to use dynamical DNS updates, you should first read
> # read /usr/share/doc/packages/dhcp-server/DDNS-howto.txt
> ddns-update-style none; ddns-updates off;
>
> # If this DHCP server is the official DHCP server for the local
> # network, the authoritative directive should be uncommented.
> #authoritative;
>
> # 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;
>
> # We only want to respond to PXE DHCP requests
>
> allow booting;
>
> # define rules to identify DHCP Requests from PXE and Etherboot clients.
>
> class “pxe” {
> match if substring (option vendor-class-identifier, 0, 9) = “PXEClient”;
> }
> class “etherboot” {
> match if substring (option vendor-class-identifier, 0, 9) = “Etherboot”;
> }
>
> # This is our subnet for PXE boot/installation.
>
> subnet 192.168.1.2 netmask 255.255.255.255 {
> option broadcast-address 192.168.2.255;
> pool {
> range 192.168.1.101,255.255.255.255 192.168.1.150,255,255,255,255; # only need a few addresses
> default-lease-time 180; # no long lease time required for booting
> max-lease-time 360; # booted system does its own dhcp request
> server-name “192.168.1.2”; # This happens to be the IP of this server too
> next-server 192.168.1.2; # Address of the TFTP server
> filename “pxelinux.0”;
> allow members of “pxe”; # only respond to PXE requests
> allow members of “etherboot”; # allow etherboot, too
> }
> }
> }
> --------------------
>
>
> I get this error when restarting the server
>
>
> Code:
> --------------------
> service dhcpd restart
> Shutting down ISC DHCPv4 4.x Server done
> Starting ISC DHCPv4 4.x Server Internet Systems Consortium DHCP Server 4.1.1-P1
> Copyright 2004-2010 Internet Systems Consortium.
> All rights reserved.
> For info, please visit https://www.isc.org/software/dhcp/
> /var/lib/dhcp//etc/dhcpd.conf line 52: expecting numeric value.
> range 192.168.1.101,
> ^
> /var/lib/dhcp//etc/dhcpd.conf line 60: Pool declaration with no address range.
> }
> ^
> Pool declarations must always contain at least
> one range statement.
> Configuration file errors encountered – exiting
>
>
> --------------------
>
>
> I admittedly dont know much about sub-netting, could someone please
> explain why this would not be a proper configuration?
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJNF+xSAAoJEF+XTK08PnB50qMQAIHR33qxz79118SeRkdQ4yUW
cg8X1K2XS2DIFio+pRgPLRTRA4ObdIGLdsz9kuKK2QhT+3/awVegG187wUhm0eFV
kCZJSsX6IUAMKH6jGPofTIXPOyAs69TmDj4kWJdwwtcs0Z5qVbrx/eWkJ39CoL6O
8zH2w37Cz5WG/Hr+9Drrc/vHuFnhMkKkWTCVtVgAte4PRHYdXDrJb28cY8pUieG+
9yGgx8kyCv7WYkToEIcrItr8FWFFTFa3VKrN+vHVlNtqCNlHfRW0e38LCzxX/YOt
UEoRkMjoZzW8/5scjhzTx2U5APlEb/4gNIyqMbFIQPGUl+UrnBpfGfvXTP2qKjjs
8ZvB/29WAd7aTGtFEayunYkFuXeQXefDzh+uFRAgafz5lsCQfne9DqxYlLsS+Hw7
qdxiHv4r3ETzXUBRADuZ+dzNMTeuiteSaibwxRyz/X3E7UhJtD6BrOU1Tea3I00g
egRFwdRJbEWVvKjz5HMNUoc4GmsAdI0WKJEqOwVNm610bQi+7LyI08UQ0a3DgCRO
Cc1zSkszA/bHNxLz3wInS2kVt2Wya9b4H6TQaRvXMs69TKN68fcFwHamqEDDN6sP
w3gZZ7DXQjf803oPmUANGnG0xfpHZiXQgDMJnrlHooa5U4WsuUHAmxczex02ULaH
8n3EHYUlOWShbliAHyUl
=rE6k
-----END PGP SIGNATURE-----

typo on that error

could not find kernel image: gfxboot

Hi,

As mentioned on the error message, you may resolve the problem by simply copying gfxboot on the /boot folder within mounted ISO DVD into pxelinux.cfg folder.

AFAIK, gfxboot isn’t mandatory on previous openSUSE version so we may boot into text mode as written on the article but it seems that the gfxboot is the default boot option on latest openSUSE version

you got it

was a netmask typo

Thanks for the reply

I tried that but got the same error

been searching around google and I can’t tell what the problems is, almost every article uses the same technique as what I have done.

Do you know what version they started useing it?

Im useing 11.3

got past the error by editing /tftpboot/pxelinux.cfg/default as follows

default linux
label linux
kernel linux
append initrd=initrd install=nfs://192.168.2.1//media/openSUSE Live CD GNOME
implicit 0
display message
prompt 1
timeout 1

Hello Li18nxBoy,
Your subnet should be
192.168.1.0
“subnet” refers to a network, not just a mask
eg
subnet = 192.168.1.0
subnet mask = 255.255.255.0
I highly recommend IP Calculator / IP Subnetting when you’re working out subnets.

Corrections below in red (you had some commas that should be fullstops too)

# This is our subnet for PXE boot/installation.
 
subnet 192.168.1.**0** netmask 255.255.255.**0** {
option broadcast-address 192.168.**1**.255;
pool {
range 192.168.1.101,255.255.255.**0** 192.168.1.150,255**.**255**.**255**.0**; # only need a few addresses
default-lease-time 180; # no long lease time required for booting
max-lease-time 360;     # booted system does its own dhcp request
server-name "192.168.1.2"; # This happens to be the IP of this server too
next-server 192.168.1.2; # Address of the TFTP server
filename "pxelinux.0";
allow members of "pxe"; # only respond to PXE requests
allow members of "etherboot"; # allow etherboot, too