|
|
When bootpd is started, it reads a configuration file to find out
information about clients and relays, then listens for boot request
packets. By default, bootpd
uses the configuration file /etc/bootptab, but you may specify another
configuration file.
The BOOTP server will reread its configuration file and update its
information about new, deleted or modified hosts on two occasions other than
startup: when you send it a SIGHUP signal, or when it receives a boot
request packet and detects that the configuration file has been edited.
Creating and Linking bootpd Configuration File
You may already have a configuration file for bootpd installed on your
system. If you know that you have such a file, and it is accessible by the
POSIX file name /etc/bootptab you may skip these steps.
If not, follow the steps below to create the file and link to it. If you have
such a file, but are unsure whether or not it is linked, perform step 2 only.
Create your own configuration file by using the COPY
command to rename the sample file. Enter:
:COPY BPTABSMP.NET.SYS TO BOOTPTAB.NET.SYS
Create a symbolic link from /etc/bootptab in the POSIX
name space to BOOTPTAB.NET.SYS. Enter:
:NEWLINK /etc/bootptab, BOOTPTAB.NET.SYS
Check the security provisions of the file and change them, if
necessary. Hewlett-Packard recommends that only MANAGER.SYS
has write access to BOOTPTAB.NET.SYS, and write and purge
access to /etc/bootptab.
Editing the bootpd Configuration File
Use the following steps to edit the bootpd configuration file:
Open the file with an MPE text editor. You may edit the
/etc/bootptab file from the POSIX shell or the
BOOTPTAB.NET.SYS file from MPE/iX, whichever you prefer.
Both file names should point to the same file.
Add, delete, or change any of the entries in the file. The
following sections give you more information about the contents of
the bootpd configuration file.
Save the file and exit the editor program.
Adding Client and Relay Data to bootpd Configuration File
To allow a client to boot from your local system or to allow a boot request to
be relayed to the appropriate boot server, you must add information about the
client to the bootpd configuration file. This file contains client
entries and relay entries. Client entries provide the information necessary
to allow clients to boot from your system. Relay entries provide the
information necessary to relay a boot request to one or more bootpd
servers.
The information that you need to collect for these types of entries is
explained in the next two sections.
Collecting Client Information
To make an entry for the client in the bootpd configuration file, you
need to collect information about the client such as the following:
Name of the client's system.
Type of network interface hardware (IEEE 802.3 or
Ethernet).
Client's hardware address.
Client's assigned IP address.
IP address mask that identifies the network where the client
resides.
Address of the gateway for the client's local subnet.
Name of the boot file that the client will retrieve using
TFTP.
Collecting Relay Information
To make a relay entry for the client in the bootpd configuration file,
you need to collect information such as the following:
Name of the client's system.
Type of network interface hardware (IEEE 802.3 or
Ethernet).
Client's hardware address.
Subnet mask used to identify the network address where the client
resides.
Address of the gateway that connects the client's local subnet to
the intended BOOTP server's subnet.
IP addresses of the BOOTP servers to which the local
system will relay the client's boot request.
Threshold value, which is the number of elapsed seconds since the
client's first request.
Maximum number of hops that the client's boot request can be
forwarded.
Syntax of bootpd Configuration Entries
An entry in the bootpd configuration file consists of a single line
with the following format:
hostname:tag=value tag=value tag=value
The hostname is the actual name of a BOOTP client and the tag
is a two-character case-sensitive symbol. Most tags are followed by an equal
sign and a value, as shown above, though some tags do not require a value.
The BOOTP daemon uses these tags and values to recognize a client's
boot request, supply parameters in the bootreply to the client, or relay the
boot request. For example, here is an entry for client printer01:
printer01: ht=ether: ha=080009030166: ip=15.19.8.2:\\
sm=255.255.248.0: gw=15.19.8.1: bf=/printer01
This entry tells bootpd that the host printer01 uses an Ethernet
network interface (ht=ether) whose hardware address (ha) is
080009030166. The IP address (ip) is 15.19.8.2,
the Subnet mask (sm) is 255.255.248.0, and the address of the
gateway (gw) is 15.19.8.1. The bootfile that tftpd
will transmit to boot this printer (bf) is /printer01.
Tags Used in bootpd Configuration File
You can use any of the following tags to enter client or relay
data into the bootpd configuration file.
Tag |
Description |
ba or ba=address |
Tells bootpd to broadcast the boot reply to the client. If you
specify no value for ba, bootpd sends the boot reply on the
configured broadcast address of each network interface on the server's
system. If you specify an IP-address for its value, bootpd sends the
boot reply to a specific IP or broadcast address. Use the ba tag
only for diagnostic purposes, for example when debugging boot replies with
BOOTPQRY. |
bf=filename |
Specifies the filename, in Hierarchical File Structure (HFS) syntax, of
the bootfile that the client should download. The client's boot request, and
the values of the hd and bf tags, determine the contents of
the bootfile field in the boot reply packet. |
bs=size or bs |
Specifies the size of the bootfile in 512-octet blocks, expressed as a
decimal, octal, or hexadecimal integer. Or, if you omit the value,
bootpd will automatically calculate the bootfile size at each
request. |
ds=ip address list |
Specifies the IP address of one or more RFC1034 Domain Name
servers. |
gw=ip address list |
Specifies the IP address of one or more gateways for the client's subnet.
If you prefer one of multiple gateways, list it first. |
ha=hardware-address |
Specifies the hardware address of the client in hexadecimal. You may
include periods and/or a leading 0x for readability. The ha
tag must be preceded by the ht tag either explicitly or implicitly;
see tc below. |
hd=home-directory |
Specifies an HFS directory name to which the bootfile is appended (see
bf tag above). The default value is (/). |
hn |
Directs bootpd to send the client's hostname in the boot reply.
The BOOTP daemon attempts to send the entire hostname as it is
specified in the configuration file. If this cannot fit into the reply
packet, it attempts to shorten the name to just the host field (up to the
first period, if present) and send that. In no case will bootpd send
an arbitrarily truncated hostname. If nothing reasonable can fit, it sends
nothing. |
ht=hardware-type |
Specifies the hardware type code. The hardware-type can be an unsigned
decimal, octal, or hexadecimal integer corresponding to one of the ARP
Hardware Type codes specified in RFA1010. The HP e3000 implementation will
support ether for ethernet networks and ieee802 for IEEE
802.3 networks. |
ip=ip address |
Specifies the IP address of the BOOTP client. |
sm=subnet-mask |
Specifies the client's subnet mask as a single IP address. |
Tnnn=generic-data |
A generic tag where nnn is an RFC1048 vendor field tag
number. This allows bootpd to immediately take advantage of future
extensions to RFC1048. The generic-data data can be represented as either a
stream of hexadecimal numbers or as a quoted string of ASCII characters.
The length of the generic data is automatically determined and inserted
into the proper fields of the RFC1048-style boot reply. |
tc=template-host |
Indicates a table continuation. Often many host entries share common
values for certain tags (such as domain servers) and, rather than repeatedly
specifying these tags, a full specification can be listed for one host entry
and shared by others. The template-host is a dummy host
(configuration file entry) for a host that does not actually exist and never
sends boot requests. Information explicitly specified for a host always
overrides information implied by a tc tag symbol, regardless of its
location within the entry. The value of template-host can be the
hostname or IP address of any host entry previously listed in the
configuration file. If it is necessary to delete a specific tag after it has
been inferred via tc, enter tag@. For example, to undo an
RFC1034 domain name server specification, use :ds@: at an
appropriate place in the configuration entry. After canceling the tag this
way, you may set it again. |
to=offset |
Specifies the client's time zone offset in seconds from UTC. The time
offset can be either a signed decimal integer or the keyword auto which uses
the server's time zone offset. |
ts=ip_address_list |
Specifies the IP address of one or more RFC868 Time Protocol
servers. |
vm=magic-cookie |
Specifies the RFC1048 vendor information magic cookie, magic-cookie can
be one of the following keywords: auto, indicating that vendor
information is determined by the client's request, rfc1048, which
always forces an RFC1048-style reply, or cmu, which always forces a
CMU-style reply. |
Editing Tips
When you are updating the bootpd configuration file, keep the
following points in mind:
Client's hostname must be the first field of an entry.
If you specify an ht tag, it must precede the ha
and hm tags.
If you specify the gw tag, you must also specify the
sm tag.
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.
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 bootpd configuration file, bootpd searches the group
relay entries and uses the first group relay entry that matches the
BOOTP client.
Sample bootpd Configuration Files
The two following examples show sample bootpd configuration files.
The first examle shows the configuration for a simple network
without gateways or subnets.
#
#
# The first entry is the template for options common to all of the
# printers.
#
#global.defaults:\\
# hn:\\
# ht=ether:\\
# vm=rfc1048:\\
#
# Now the actual entries for the individual printers are listed.
#
#printer1:\\
# tc=global.defaults:\\
# ha=08000903212F:\\
# ip=10.13.193.72
#
#printer2:\\
# tc=global.defaults:\\
# ha=0800090324AC:\\
# ip=10.13.193.73
#
#
The second example shows the configuration for a network with gateways and
subnets.
#
#
#printer1:\\
# tc=global.defaults:\\
# ha=08000903212F:\\
# gw=10.13.192.2:\\
# sm=255.255.248.0:\\
# ip=10.13.193.72
#
#printer2:\\
# tc=global.defaults:\\
# ha=0800090324AC:\\
# gw=10.13.192.2:\\
# sm=255.255.248.0:\\
# ip=10.13.193.73
#
|