HPlogo Installing and Administering Internet Services: HP 9000 Networking > Chapter 5 Configuring TFTP and BOOTP Servers

Adding Client or Relay Information

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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.

  • IP address is 15.19.8.2.

  • 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 Client

Figure 5-3 “Example Configuration: HP 700/X Terminal as Client” shows the network configuration for this example.

Figure 5-3 Example Configuration: HP 700/X Terminal as Client

Example Configuration: HP 700/X Terminal as Client

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:

  1. 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

  2. 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.

  3. Remove the ba tag entry from the /etc/bootptab file.

Example 2: Adding a Relay Entry

Figure 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.

Figure 5-4 Example Configuration: Relay Entry

Example Configuration: Relay Entry

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:

  1. 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

  2. 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.

  3. Remove the ba tag entry from the /etc/bootptab file.

© 2000 Hewlett-Packard Development Company, L.P.