|
|
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.
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.
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.
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.
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.
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 3000 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. |
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.
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
#
|