|
» |
|
|
|
To allow a client to boot from your local system or to allow
a bootrequest to be relayed to the appropriate boot server, you
must add information about the client in your /etc/bootptab file. bootpd uses the /etc/bootptab file as the database for two types of entries: Client entries that contain information
that allows the clients to boot from your system. Relay entries that contain information to relay
the bootrequest to one or more BOOTP servers.
Collecting Client Information | |
To make an entry for the client in the /etc/bootptab file, you need to collect the following information
about the client: Host name—the name of the
client's system. Hardware type—the type of network interface. Link level address—the client's
hardware address. IP address—the client's assigned
internet address. Subnet mask—the mask (IP address) that
identifies the network where the client resides. Gateway address—the gateway from the client's
local subnet. Boot file—the name of the file that the
client will retrieve using tftp.
Collecting Relay Information | |
To make a relay entry for the client in the /etc/bootptab file, you need to collect the following information
about the client: Host name—the name of the
client's system. Hardware type—the type of network interface
(IEEE 802.3 or Ethernet). Link level address—the client's
hardware address. Subnet mask—the mask that is used to identify
the network address where the client resides. Gateway address—the address of the gateway
that connects the client's local subnet to the BOOTP server's
subnet. Boot server(s) for client—the boot servers
to which the local system will relay the client's bootrequest. Threshold value—the number of seconds since
the client sent its first request. Maximum hops—the maximum number of hops
that the client's bootrequest can be forwarded.
Understanding Boot File Configurations | |
A configuration entry is a single line with the following
format: hostname:tag=value:tag=value:...tag=value
|
Each client parameter is defined with a two-character case-sensitive
tag followed by the equals sign (=) and the tag's client-specific
value. A colon separates each tag=value parameter definition. bootpd uses these tags and values to recognize a client's
bootrequest, supply parameters in the bootreply to the client, or
relay the bootrequest. For example, parameters for the BOOTP client xterm01 are represented with the following entry in /etc/bootptab: xterm01: ht=ether: ha=080009030166: ip=15.19.8.2:\ sm=255.255.248.0: gw=15.19.8.1: bf=/xterm01
|
This entry tells bootpd the following information about xterm01: Hardware type is an Ethernet network
interface. Hardware address is 080009030166. Subnet mask is 255.255.248.0. The address of the gateway is 15.19.8.1. The file /xterm01 should be retrieved with TFTP.
You may enter tags in any order, with the following exceptions: The client's hostname must
be the first field of an entry. The ht (hardware type) tag, if specified, must precede
the ha (hardware address) and hm (hardware mask) tags. If the gw (gateway IP address) tag is specified, the sm (subnet mask) tag must also be specified.
Other points to know when adding an entry in /etc/bootptab include the following: IP addresses listed for a single tag
must be separated by a space. A single client entry can be extended over multiple
lines if you use a backslash (\) at the end of each line. Blank lines and lines that begin with the pound
sign (#) are ignored.
Parameter Tags and Descriptions | |
Table 5-1 “Tags for Defining Client Options in bootptab” lists the tags most commonly used
to define the client parameters. For more information on these and
the other tags available, type man 1M bootpd. Table 5-1 Tags for Defining Client Options in bootptab ba | Forces bootpd to broadcast the bootreply to the client's
network. This tag should be used only when troubleshooting with
the bootpquery program. | bf | Boot file
name that the client downloads with TFTP. | bs | Boot file
size in 512-byte blocks. If this tag is specified with no equal
sign or value, the server automatically calculates the boot file
size at each request. | ds | IP address(es)
of the BIND name server(s). | gw | IP address(es)
of the gateway(s) for the client's subnet. | ha | Client's
hardware address. | hd | Directory
to which the boot file is appended (see bf tag). The directory specified must end with /.
The default is /. | hn | Send the
host name in the bootreply. This tag is strictly Boolean; it does
not need an equals sign or an assigned value. | ht | Client's
hardware type. May be assigned the value ieee or ether. If used, this tag must precede the ha tag. | ip | BOOTP client's
IP address. This tag takes only one IP address. This tag distinguishes
a boot entry from a relay entry. | sm | The subnet
mask for the client's network. | tc | Specifies
previously-listed entry that contains tag values that are shared
by several client entries. | vm | The format
of the vendor extensions on the bootrequest and bootreply. Possible
values are auto (the bootreply uses the format used in the bootrequest), rfc1048 (the most commonly used format, described in RFC 1048),
and cmu (another format used by some BOOTP clients). If
you do not specify the vm tag, the bootreply will use the format sent by
the client in the bootrequest. |
Table 5-2 “Tags for Defining Relay Options in bootptab” lists the tags most commonly used
to define the relay parameters. For more information on these and
the other tags available, type man 1M bootpd. Table 5-2 Tags for Defining Relay Options in bootptab bp | List of
boot servers to which the client's bootrequests will be
forwarded. The list can contain individual IP addresses, hostnames,
or network broadcast addresses. | ha | Client's
hardware address. | hm | Mask for
the link level address. This value is ANDed with the ha value to determine a match for a group relay entry.
If this tag is specified, the ha and ht tags must also be specified. | hp | Maximum
number of hops for the entry. Default is 4. | ht | Client's
hardware type. See the bootp man page for supported hardware types and the
corresponding values. If used, this tag must precede the ha tag. | tc | Specifies
previously-listed entry that contains tag values that are shared
by several client entries. |
A relay entry can contain relay parameters for an individual
system or for a group of systems. If a BOOTP client does not have
an individual entry in the BOOTP server's /etc/bootptab file, the group relay entries are searched. The
first group relay entry that matches the BOOTP client is used. Examples of Adding BOOTP Clients | |
This section shows examples of adding entries to the /etc/bootptab file. The first example shows how to configure
a BOOTP server for an HP 700/X terminal. The second example
shows how to configure a BOOTP server to relay a client's
bootrequest to another server. Example 1: Adding an HP 700/X Terminal as
a ClientFigure 5-3 “Example Configuration:
HP 700/X Terminal as Client” shows the network configuration
for this example. The following information is added to the /etc/bootptab file on the BOOTP server (hpserver): xterm01: hn: ht=ether: ha=080009030165: \ ip=15.19.8.37: sm=255.255.248.0: \ gw=15.19.8.1: ds=15.19.8.119: bf=/xterminal
|
To verify the new /etc/bootptab entry, do the following on the BOOTP server: Add the ba (broadcast address) tag to the entry so that the
bootreply is not sent directly to xterm01. This allows the bootpquery diagnostic tool to intercept any bootreply packets
for xterm01. xterm01: hn: ht=ether: ha=080009030165: \ ip=15.19.8.37: sm=255.255.248.0: \ gw=15.19.8.1: ds=15.19.8.119: bf=/xterminal: ba
|
Run the bootpquery tool to see how bootpd on your local system responds to a request from xterm01. For the example configuration, the following
would be entered (as superuser): /usr/sbin/bootpquery 080009030165 -s hpserver
|
The following output is displayed: Received BOOTREPLY from hpserver.hp.com (15.19.8.119) Hardware Address: 08:00:09:03:01:65 Hardware Type: ethernet IP Address: 15.19.8.37 Boot file: /xterminal RFC 1048 Vendor Information: Subnet Mask: 255.255.248.0 Gateway: 15.19.8.1 Domain Name Server: 15.19.8.119 Host Name: term01.hp.com
|
This shows that the BOOTP server responded with information
that corresponds to the entry in the /etc/bootptab file. Remove the ba tag entry from the /etc/bootptab file.
Example 2: Adding a Relay EntryFigure 5-4 “Example Configuration:
Relay Entry” shows the network configuration
for this example. In this example, the network contains HP workstations
and other vendors' systems. Server B is the BOOTP server
that contains boot information for the HP workstations. When server
A receives a bootrequest, it relays requests from HP workstations
to server B. Bootrequests for other vendors' systems are
relayed to server C. In this example, Server A (the BOOTP relay
agent) is also the gateway between the client's network and
the server's network. The following information is added to the /etc/bootptab file on BOOTP server A: defaults: ht=ether all_hp:\ tc=defaults:\ ha=080009000000:\ hm=FFFFFF000000:\ bp=15.4.3.136 others:\ tc=defaults:\ ha=000000000000:\ hm=000000000000:\ bp=15.4.3.142
|
The all_hp entry causes bootrequests from HP workstations
(machines with hardware addresses that begin with 080009) to be
relayed to IP address 15.4.3.136 (server B). Bootrequests from other
hardware addresses (presumed to be non-HP machines) are relayed
to IP address 15.4.3.142 (server C). The following information is added to the /etc/bootptab file on BOOTP server B: xterm02: hn: ht=ether: ha=08000902CA00: \ ip=15.19.8.39: sm=255.255.248.0: \ gw=15.19.8.1: ds=15.19.8.119: bf=/xterminal:
|
The gateway address (gw=15.19.8.1) is passed back to the client in the bootreply
and allows the client to send a TFTP request to the BOOTP server
to get its boot file. To verify the new /etc/bootptab entry, do the following: Add the ba (broadcast address) tag to the xterm02 entry on the BOOTP server that contains the client's
boot entry (server B) so that the bootreply is not sent directly
to xterm02. This allows the bootpquery diagnostic tool to intercept any bootreply packets
for xterm02: xterm02: ht=ether: ha=08000902CA00: \ ip=15.19.8.39: sm=255.255.248.0:\ gw=15.19.8.1: ds=15.19.8.119: bf=/xterminal ba
|
If you can boot the client in standalone mode, run
the bootpquery tool on the client to see how bootpd on the server responds to a request from xterm02. For the example configuration, the following would
be entered (as superuser): /usr/sbin/bootpquery 08000902CA00
|
You can also run bootpquery from another machine that is up and running on
the same subnet as the client. Output like the following is displayed: Received BOOTREPLY from hpserver.hp.com (15.4.3.136) Hardware Address: 08:00:09:02:CA:00 Hardware Type: ethernet IP Address: 15.19.8.39 Boot file: /xterminal RFC 1048 Vendor Information: Subnet Mask: 255.255.248.0 Gateway: 15.19.8.1 Domain Name Server: 15.19.8.119 Host Name: xterm02.hp.com
|
This shows that the BOOTP server responded with information
that corresponds to the client entry in the /etc/bootptab file. You can also conclude that the bootrequest
was correctly relayed to the BOOTP server that contains the client's
boot information. Remove the ba tag entry from the /etc/bootptab file.
|