dhcp_bootp(1M) dhcp_bootp(1M)
dhcp_bootp - proclaim server for Dynamic Host Configuration Protocol
/usr/etc/dhcp_bootp [ -fd ] [ -o dhcp_options_file ]
dhcp_bootp is the server that communicates with other DHCP and
proclaim(1M) clients to provide configuration parameters, including at
least an IP address. The format of DHCP messages is based on bootp
messages (see RFC 951). A detailed protocol specification for DHCP is
contained in RFC 1541, available from the Network Information Center.
The DHCP protocol uses UDP/IP as its transport mechanism. The DHCP
server receives service requests at the UDP port indicated in the bootp
service description contained in the file /etc/services (see
services(4)). The proclaim server can be used together with one or more
proclaim relay-agents (see dhcp_relay(1M)) to enable clients to obtain
address-leases across networks. The dhcp_bootp server responds to
multiple interfaces on a multihomed gateway machine, for dynamic IP
addresses.
dhcp_bootp replaces the standard bootp(1M) server application and serves
both bootp and DHCP clients. If the client sends a non-DHCP request, then
this bootp request is processed as described in the bootp(1M) man page
and the /etc/bootptab configuration file is used to determine the
response to the client.
COMMAND LINE OPTIONS
-f This enables cross network forwarding if the client is requesting
for service from a dhcp server which is reachable via this server
and on a different wire.
-d This enables the dhcp_server into a debug mode in which it logs
messages to /var/adm/SYSLOG.
-o The path of the dhcp_options_file can be mentioned using this
option. The default location is /etc/config/dhcp_bootp.options.
dhcp_bootp execution can be controlled through the following steps.
1) Specify the additional DHCP-related options in the
/etc/config/dhcp_bootp.options file as follows:
-y If you are using NIS to propagate the hosts and ethers map, this
system is required to be the NIS master server for proclaim to
work correctly.
Page 1
dhcp_bootp(1M) dhcp_bootp(1M)
-w hosts_map
Specifies the optional location of the hosts map. The default
is /etc/hosts.
-e ethers_map
Specifies the optional location of the ethers map. The default
is /etc/ethers.
-u sysname
Specifies the name for an optional sysname file. The default is
/unix.
-c proclaim_config_dir
Specifies the optional proclaim server configuration directory.
The default directory is /var/dhcp/config.
-t seconds
A timeout period for the dhcp_bootp server can be set else the
default period will be used.If a timeout period of 0 seconds is
used then the dhcp_bootp server will become a persistent daemon.
-x This option is used in conjunction with a Domain Name Server
that provides the IP address to hostname mapping for the initial
assignment of IP addresses to hosts by the DHCP server. The
option has been found to be particularly useful in an Internet
Service Provider type of setup where the IP address to hostname
mapping may be required to remain fixed. Once an IP address is
assigned it is written to the etherToIP.pag file. When this
option is in effect, etherToIP.pag is the only file consulted to
determine whether a particular IP address or hostname is already
assigned.
-n Specifies that the server should return a netmask with its reply
regardless of whether a client requested it or not.
-m options
Specifies additional options to be sent by the server to clients
irrespective of whether the client requests them or not. The
additional options are specified as a comma or colon separated
list with no spaces.
-r script_file_path
Specifies an optional script file to execute when the server
changes the etherToIP database. The complete path to the script
must be specified as an a argument. The server calls the script
with several command-line arguments: -c client_identifier -m
physical_address -i ip_address -h hostname -l lease -o operation
-t dhcp_message_type. The script is executed in the background.
The value of the operation argument is 0 if it was a record
creation, 1 if it was a deletion, and 2 if the lease was
updated. The dhcp_message_type is the same as defined message
types in the DHCP literature. If a message is sent to the client
Page 2
dhcp_bootp(1M) dhcp_bootp(1M)
that message type is passed as an argument, otherwise the
message type received from the client is passed. This script may
be used to perform other functions such as dynamic DNS updates.
-W Specifies that the the hosts map file or /etc/hosts file should
not be updated when leases are added or removed.
-E Specifies that the ethers map file or/etc/ethers file should not
be updated when leases are added or removed.
-pn Specifies that a ping be sent before an address is leased to
check if a host is using the IP address. If a reply is received
then a message is logged in the SYSLOG indicating that "Address
<addr> appears to be STOLEN" and a record is added into the
database with a lease time of -2 for this IP address. The DHCP
administrator should investigate the occurrence and remove the
entry in the database with the dhcpdb command once it has been
resolved. The DHCP server tries to give out another address to
the requesting client. The server attempts to recycle stolen
addresses when it runs out of addresses and at a frequency
specified by the lease time in the configuration files.
-pt ping_timeout
Specifies the timeout for the ping. If a reply to a ping is not
received in ping_timeout seconds the address is considered to be
not taken. The default value for the timeout is 1 second. Note
that the server processes requests from other DHCP clients while
waiting for the timeout to expire. The server does not block
waiting for a reply to a ping request. If blocking pings are
required for some reason use the -pb option instead of the -pn
option.
-pl number_of_outstanding_pings
This is the maximum number of pings outstanding. Once this value
is reached the server automatically stops sending ping to check
if an IP address is taken. The server begins to send ping
request once the number of outstanding ping requests falls below
this value. It is set to 16 by default.
-pd This option is available for backward compatibility
with earlier versions. In prior versions (if -x was not
specified) while assigning a new address the server would make a
gethostbyaddr(3N) call to check if it could assign an IP address
to a client for which it had no prior binding. If a binding was
found in DNS maps then the particular address was not assigned.
In the new version of the server to obtain this older behavior
it is necessary to specify the -pd option. If this is not
specified the server will not perform a gethostbyaddr(3N) call
to check if an IP address is available.
Page 3
dhcp_bootp(1M) dhcp_bootp(1M)
The following options (-dx,-l) can be set only with
the Enhanced DHCP server product.
-dn Specifies that dynamic DNS updates are on. The
behavior of DNS updates are modified by the following
(-da-db-dc-ds-dt) additional options. Note that if the -x DHCP
server option is specified then the -dn option is silently
ignored. With the -x option DNS maps are pre-populated so it
does not make any sense to update DNS dynamically.
-da Ordinarily the server will perform dynamic DNS updates
(if the -dn option is specified) only if the Dynamic DNS option
is sent by the client (option 81 as per the draft). If this (-
da) option is used the server will update DNS regardless of
whether option 81 was sent by the client or not.
-db If this is specified the DNS updates are performed
before an ACKnowledgement is sent to the client. By default the
dynamic DNS updates are performed after the ACK is sent to the
client.
-dc If this is specified the DNS A RR is also updated
by the server. Otherwise whether the A RR is updated or not
depends on the flags value sent in the dynamic DNS update option
by the client.
-ds Specifies that the security feature should not be
used. By default secure updates are performed using TSIG for
those networks for which a key is specified.
-df filename
Specifies the file that contains the (TSIG) keys for the various
networks served by the DHCP server. The default file name is
/var/dhcp/config/dhcp_ddns.conf. A key must be specified for
each network number for which secured updates are required. Each
line in this file specifies the network number (netnumber)
followed by the keyname, algorithm, and the base 64 encoded
secret key. Fields are separated with spaces or tabs. The
keyname and algorithm-name are the same as that used in the BIND
8.2 configuration file.
-dt time_to_live
Specifies the time to live (ttl in seconds) for records that are
added to the DNS. The ttl specified by the DHCP server in the
DNS update is the minimum of this value and the lease duration.
-l /var/dhcp/config/dhcp_ldap.conf
This option specifies that the ldap related options should be
picked from the /var/dhcp/ldap/dhcp_ldap.conf file. See the file
/var/dhcp/ldap/dhcp_ldap.conf to see various options and what
may need to be specified in order to use the DHCP server with an
LDAP server to store configuration and leases.
Page 4
dhcp_bootp(1M) dhcp_bootp(1M)
2) Create one or more network configuration files based on the network
numbers this server is responsible for. A default configuration file
is provided: /var/dhcp/config/config.Default. The new file(s) should
be named config.<netnumber> in the same directory. For example, if
this server is serving clients on the 192.26.61 network, the
configuration file should be named config.192.26.61.0. See below for
a list of configuration parameters.
3) The DHCP server also provides MAC address based filtering. The
filters are specified in the /var/dhcp/config/dhcpmtab file. MAC
addresses can be specified as either complete addresses or as a
regular expression to specify a set of addresses. The regular
expression syntax is described in the man pages for regcmp(3G).
If a DHCP packet from a client with a matching mac address is
received then the corresponding actions are taken. Regular expression
matching is attempted only if a complete match is not found. The
length and hardware type must also match for non-regular expression
entries. The length may not match for entries that have regular
expressions. Once a match is found the remaining entries are not
searched. An example of the configuration file is as follows
# dhcpmtab - mac address based filtering for DHCP
#len htype mac action
6 1 01:02:03:8a:8b:8c K
0 1 01:02:* L|K
The actions can be specified as a combination of L and K. Each of the
actions L=log request, and K=drop request, is acted upon in that order.
The system log is updated if the L action is requested. If the K action
is specified and an L is not specified then the packet is silently
dropped.
4) The DHCP server can be configured to send specific user defined
options based on the value of the vendor class option sent by the
DHCP client. To define new options for this purpose use the
/var/dhcp/config/dhcp_option_types file. The format of this file is
described as comments within this file. Each line consists of a user
selected name, an option number, and the type of the option. The
value to be returned by the DHCP server can be specified in the
/var/dhcp/config/vendor_options file. See the file for the format.
The vendor class and the network number to which option values apply
can be specified within the file.
4) Enable the proclaim server by giving the command:
chkconfig proclaim_server on
Page 5
dhcp_bootp(1M) dhcp_bootp(1M)
5) Replace the "bootp" entry in /usr/etc/inetd.conf with this line:
bootp dgram udp wait root /usr/etc/dhcp_bootp dhcp_bootp -o \
/etc/config/dhcp_bootp.options
6) Issue this command, to restart inetd with /etc/killall -HUP inetd:
/etc/killall bootp
Configuration Parameters [Toc] [Back]
These parameters can be supplied in the configuration file for each
network. All of the address fields can either be in standard IP address
dot notation, or as a hex number prefixed with a 0x. Most of the fields
can be left blank to render them non-applicable.
pro_address_counter
This integer field specifies the host number for the next IP
address. The next address is constructed using the counter and
checked through the range of the assignable addresses. The first
available address in the range is assigned.
pro_host_pfx_counter
This integer field specifies the starting number appended to the
pro_host_prefix to generate a new hostname. This counter is
incremented and a new hostname generated until a unique unused name
is found.
pro_netmask
This field takes a netmask in address form. For more information on
netmasks, see the IRIX Admin: Networking and Mail guide. This field
specifies the subnetmask used by the client systems.
pro_lease
This unsigned integer field specifies the client address lease time
in seconds. This implementation of the DHCP server assigns 3 year
leases by default, and the leases are expired only when explicitly
surrendered by the client.
pro_host_prefix
This string field specifies the default text prefix for generating
client hostnames. For example, the prefix iris directs proclaim to
generate hostnames of the form iris1, iris2, iris3, and so on.
pro_choose_name
This boolean (true or false) flag specifies whether the client
systems are allowed to choose their own hostname or whether they
must be assigned the name given to them by the server. A value of 1
(true) in this field brings up a dialog box on the client system
giving the user the option of either taking the name offered by the
server or entering a hostname of the user's choice. If the user
selects a name, the server allows this name if it passes basic tests
for syntax and uniqueness, otherwise the server/client dialogue
continues until a mutually acceptable name is submitted. A value of
0 (false) in this field indicates that the user on the client system
Page 6
dhcp_bootp(1M) dhcp_bootp(1M)
must accept the name provided by the server. This option can be used
with SGI DHCP clients and servers only. The client and server
exchange DHCPREQUEST and DHCPOFFER packets until a mutually
acceptable name is chosen. This option is being deprecated; use the
-H host-name option with SGI clients to specify host names.
pro_ipaddress_range
This field takes an entry of integers using standard numeric range
rules. The entry defines the range of host number addresses
assignable by this server. For example, if the value is: 1-3, 5-7,
9. The server issues IP addresses with the base address specified
in the configuration filename (such as config.192.26.61.0).
Each client is issued an IP address matching the name of the
configuration file, suffixed with the numbers 1 through 3, and 5
through 7, and 9, but not 4 or 8. This option can be to restrict
the IP addresses offered by a given server. This is very useful if
the administrator wants to assign only certain block(s) of addresses
using proclaim, or in the absence of a server to server protocol,
wishes to have multiple servers serve clients on the same subnet.
pro_router_addr
This field of comma-separated IP addresses specifies a list of
addresses for network routers on the client's subnet. Routers
should be listed in the order of preference for their use.
pro_bootfile_size
Specifies length in 512-octet blocks of the default boot image for
the client.
pro_time_offset
Specifies offset of the client's subnet from Coordinated Universal
Time (UTC) in seconds.
pro_meritdump_pathname
Specifies a file for dumping a core image in case the client
crashes.
pro_root_pathname
Specifies the directory that contains the client's root disk
partition.
pro_extensions_pathname
Specifies a TFTP file containing vendor extensions for bootp. On
SGI systems the this file has the same format as the
config.netnumber file.
pro_TFTPserver_name
Specifies a TFTP server for the client.
Page 7
dhcp_bootp(1M) dhcp_bootp(1M)
pro_bootfile_name
Specifies the pathname of the default boot image for the client.
pro_dns_domain
This text field specifies the domain name that client should use
when resolving hostnames using DNS.
pro_dnsserver_addr
This field of comma-separated IP addresses specifies a list of
addresses for Domain Name System servers available to the client.
Servers should be listed in the order of preference for their use.
pro_propel_server
This IP address specifies the address of the propel server that
serves the clients on this subnet. Additional information about
propel can be found in Chapter 2, "Software Distribution, User, and
Host Management With propel," of the IRIXpro Administrator's Guide.
pro_timeserver_addr
This field of comma-separated IP addresses specifies a list of
addresses for time servers available to the client. Addresses
should be listed in the order of preference for their use.
pro_logserver_addr
Specifies a list of UDP log servers available to the client.
pro_cookieserver_addr
Specifies a list of RFC 865 cookie servers available to the client.
pro_LPRserver_addr
Specifies a list of RFC 1179 line printer servers available to the
client.
pro_resourceserver_addr
Specifies a list of RFC 887 resource location servers available to
the client.
pro_swapserver_addr
Specifies the IP address of the client's swap server.
pro_nis_domain
This text field specifies the name of the client's NIS domain.
pro_nisserver_addr
This field of comma-separated IP addresses specifies a list of
addresses indicating NIS servers available to the client. Servers
should be listed in the order of preference for their use.
pro_mtu
This unsigned short integer field specifies the MTU (maximum
transmission unit) to use on the network interface configured in
this file. The minimum legal value for the MTU is 68.
Page 8
dhcp_bootp(1M) dhcp_bootp(1M)
pro_allnets_local
This boolean (true/false) field specifies whether or not the client
can assume that all other subnets of the IP network to which the
client is connected use the same MTU as the subnet to which the
client is directly connected. A value of 1 (true) indicates that
all subnets share the same MTU. A value of 0 (false) means that the
client should assume that some other subnets can have smaller MTUs.
pro_broadcast
This IP address field specifies the broadcast address in use on the
client's subnet.
pro_domask_disc
This boolean (true/false) Perform Mask Discovery field specifies
whether or not the client should perform subnet mask discovery using
ICMP. A value of 1 (true) means that the client should perform mask
discovery, while a value of 0 (false) indicates that the client
should not perform mask discovery.
pro_resp_mask_req
This boolean (true/false) Mask Supplier field specifies whether or
not the client should respond to subnet mask requests using ICMP. A
value of 1 (true) means that the client should respond. A value of
0 (false) in this field means that the client should not respond.
pro_static_routes
This field takes a comma-separated list of routes in the following
form:
dest_address - router_address, dest_address2 - router_address2.
The static route field specifies a list of static routes that the
client should install in its routing cache. If multiple routes to
the same destination are specified, they should be listed in
descending order of priority. The routes consist of a list of IP
address pairs. The first address is the destination address; its
counterpart address, separated by a dash (-), is the address of the
router to the destination. The default route (0.0.0.0) is an
illegal destination for a static route.
Serve_This_Network
Toggle DHCP serving of this subnet.
Other Options
The Proclaim server also handles other options listed in RFC 1533.
To set values for these options use of the ProclaimServerMgr(1M)
graphical user interface is recommended. You can view the standard
config.Default file in the /var/dhcp/config directory to see all the
supported options.
The following are the active lines only from a working config.netnumber
configuration file:
Page 9
dhcp_bootp(1M) dhcp_bootp(1M)
Serve_This_Network: 1
pro_address_counter: 1
pro_host_pfx_counter: 1
pro_netmask: 255.255.255.0
pro_lease: 604800
pro_host_prefix: n6634
pro_choose_name: 1
pro_ipaddress_range: 1-254
pro_dns_domain: engr.sgi.com
pro_nis_domain: engr.sgi.com
pro_mtu: 1500
pro_allnets_local: 1
pro_domask_disc: 0
pro_resp_mask_req: 0
Debugging may be enabled by sending a SIGUSR1 signal to the server and
may be disabled by sending SIGUSR2. To increase the level of debugging
send multiple SIGUSR1 signals, for example, killall -USR1 dhcp_bootp.
Sending a SIGHUP signal to the server will cause the server to reload its
configuration files.
The dhcp_bootp server database is maintained in ndbm files with (.dir)
and (.pag) extensions. The dhcpdb(1M) utility may be used to manage the
DHCP database. This utility also allows leases to be imported or exported
from/to text files.
The /usr/sbin/dbmToEthIP utility can be used to view the contents of the
database. It converts the ndbm format to the text format and outputs the
text onto the standard output.In case of situations where it is needed to
generate the ndbm files the /usr/etc/ethIPToDbm utility may be used to
convert a etherToIP file (in text format) to ndbm formatted files.
dbmToEthIP and ethIPToDbm may be discontinued in the future. Use dhcpdb
instead.
To use the bootp server with DHCP style options, specify the options in
the /etc/config/bootp-rfc1533.options file. See this file to check what
options are supported.
/etc/config/dhcp_bootp.options
/etc/config/bootp-rfc1533.options
/etc/hosts
/etc/ethers
/etc/bootptab
/etc/inetd.conf
/var/dhcp/etherToIP
/var/dhcp/etherToIP.pag
/var/dhcp/etherToIP.dir
/var/dhcp/config/config.Default
/var/dhcp/config/dhcpmtab
Page 10
dhcp_bootp(1M) dhcp_bootp(1M)
/var/dhcp/config/dhcp_option_types
/var/dhcp/config/vendor_options
/var/dhcp/config/dhcp_ldap.conf
/var/dhcp/config/dhcp_ddns.conf
bootp(1M), chkconfig(1M), dhcp_relay(1M), dhcpdb(1M), inetd(1M),
proclaim(1M), ProclaimServerMgr(1M), syslogd(1M), ethers(4), hosts(4).
IETF RFCs 1541, 1533, 1534, 1535.
PPPPaaaaggggeeee 11111111 [ Back ]
|