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