.\" Copyright 1999 Red Hat Software, Inc. .\" August 2004: Updated by Thomas Hood .\" July 2005: Updated by Roy Marples .\" .\" This man page is free documentation; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this man page; if not, write to the Free Software .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .\" .TH PUMP 8 "26 August 2004" "Linux" "Linux Administrator's Manual" .SH NAME pump \- configure network interface via BOOTP or DHCP protocol .SH SYNOPSIS .B pump .BR "" [ \-krRsd ] .BR "" [ \-c | \-\-config\-file .IR FILE ] .BR "" [ \-h | \-\-hostname .IR HOSTNAME ] .BR "" [ \-i | \-\-interface .IR IFACE ] .BR "" [ \-l | \-\-lease .IR HOURS ] .BR "" [ \-m | \-\-route\-metric .IR METRIC ] .BR "" [ \-\-lookup\-hostname ] .BR "" [ \-\-no\-dns "] [" \-\-no\-gateway "] [" \-\- no\-ntp "] [" \-\-no\-setup "] .BR "" [ \-\-release "] [" \-\-renew "] [" \-\-script = .IR ISCRIPT ] .BR "" [ \-\-status ] .BR "" [ \-\-win\-client\-ident ] .P .B pump .BR "" [ \-? | \-\-help "] [" \-\-usage ] .SH DESCRIPTION .B pump is a daemon that manages network interfaces that are controlled by either the DHCP or BOOTP protocol. While .B pump may be started manually, it is normally started automatically by .BR ifup (8) for devices configured via BOOTP or DHCP. If .B pump is managing an interface, you can run it again to query the status of that interface. For example, .br \f(CWpump \-i eth0 \-\-status\fR .br will print the current status of device eth0. .SH "COMMAND LINE OPTIONS" .TS lB lB lB lfCW lfCW l. switch long option description \-? \-\-help Show this help message \-c \-\-config\-file=\fIFILE\fR Get configuration from \fIFILE\fR instead of /etc/pump.conf \-d \-\-no\-dns Don't update DNS resolver configuration \-h \-\-hostname=\fIHOSTNAME\fR Request \fIHOSTNAME\fR \-i \-\-interface=\fIIFACE\fR Manage \fIIFACE\fR rather than eth0 \-\-keep\-up Keep the interface up when released \-k \-\-kill Kill daemon (and disable all interfaces) \-l \-\-lease=\fIHOURS\fR Request least time of \fIHOURS\fR \-\-lookup\-hostname Look up hostname in DNS \-R \-\-renew Renew lease immediately \-r \-\-release Release interface \-m \-\-route-metric=\fIMETRIC\fR Metric to use on routes (normally 0) \-\-no\-gateway Don't configure a default route for this interface \-\-no\-resolvconf Don't use the \fBresolvconf\fR program to update resolv.conf \-\-no\-ntp Don't update ntp.conf \-\-no\-setup Don't set up anything \-\-script=\fISCRIPT\fR Call \fISCRIPT\fR (or null string to disable) \-s \-\-status Display interface status \-\-usage Display a brief usage message \-\-win\-client\-ident Specify a Windows(tm)-like client identifier .TE .SH "OPTION NOTES" The .B \-\-lookup\-hostname option causes .B pump to ignore the host and domain names returned by the server and instead to look these up in DNS using the IP address of the interface. The name that is looked up is used in forming the .B search line in the resolv.conf file. Thus, if either the .B \-\-no\-dns or .B domainsearch option is used then .B \-\-lookup\-hostname has no effect. .P Note that .B pump itself never sets the computer's hostname. .SH "CONFIGURATION FILE" You can tune the behavior of .B pump using a configuration file. By default .B pump reads \fI/etc/pump.conf\fR but you can change this using the \fB\-\-config\-file\fR option. The configuration file is line-oriented. Most lines contain a directive followed by zero or more arguments. Arguments are handled similarly to how shells handle command arguments, allowing the use of quotes and backslash escapes. Comments are allowed, and must begin with a # character. Spaces and tabs are ignored. Directives may be specified at two levels: global and specific. Global directives change .BR pump 's behavior for all of the devices that it manages whereas specific directives change .BR pump 's behavior for a single device. Later directives always override earlier ones. Here is an example configuration file: .nf .ta +3i # sample /etc/pump.conf file domainsearch "my.own.org own.org at.work.com" retries 3 device eth1 { nodns } .fi .pp This configuration file tells .B pump to use a specific DNS search path rather than deriving one from the DHCP or BOOTP server response, to retry each request 3 times (for a total of 4 tries), and not to change the DNS configuration file when it's configuring the eth1 device. Here is a complete list of directives: .TP \fBdevice\fR \fIDEVICE\fR Specify specific directives for \fIDEVICE\fR. This directive must be followed by a {, and the list of specific directives must end with a } on its own line. These directives may not be nested. .TP \fBdomainsearch\fR \fISEARCHPATH\fR Use \fISEARCHPATH\fR as the DNS search path instead of the domain name returned by the server or the domain part of the fully qualified hostname. .TP \fBkeepup\fR Keep the interface up when released. Normally \fBpump\fR brings the interface down when it releases its lease, but some daemons such as ifplugd or wpa_supplicant still need the interface to be up so that they can still work. .TP \fBnonisdomain\fR Don't set the NIS domain. Normally \fBpump\fR sets the system's NIS domain if an NIS domain is specified by the DHCP server and the current NIS domain is empty or \fBlocaldomain\fR. .TP \fBnodns\fR Don't update /etc/resolv.conf when the interface is configured. .TP \fBnogateway\fR Ignore any default gateway suggested by the DHCP server for this device. This can be useful on machines with multiple devices. .TP \fBnontp\fR Don't update /etc/ntp.conf when the interface is configured. .TP \fBnosetup\fR Don't set up anything on the local machine as a result of DHCP operations. This implies \fBnodns\fR, \fBnonisdomain\fR, \fBnogateway\fR and \fBnontp\fR. This option is useful, for example, if you want to perform setup in customised scripts. .TP \fBnoresolvconf\fR Don't use the resolvconf program to update /etc/resolv.conf; instead, update /etc/resolv.conf directly. (This option is only relevant if .B \-\-nodns is not used.) .TP \fBretries\fR \fICOUNT\fR Retry each phase of the DHCP process \fICOUNT\fR times. .TP \fBtimeout\fR \fICOUNT\fR Don't let any one step of the DHCP process take more then \fICOUNT\fR seconds. .TP \fBscript\fR \fIFILE\fR .TS lB lB lB lB lB lfCW lfCW lfCW. Condition arg1 arg2 arg3 lease up eth0 1.2.3.4 renewal renewal eth0 2.3.4.5 release down eth0 .TE When events occur in negotiation with the server, call the executable \fIFILE\fR. Scripts are called when a lease is granted, when a renewal is negotiated, and when the interface is brought down and the address released. The script is called with two or three arguments, depending on the condition, as documented in the table above. .SH LOGGING The program logs a good deal of information to syslog, much of it at the DEBUG level. If you're having trouble, it's a good idea to turn up syslog's logging level. .SH BUGS At startup .B pump tries to detect whether another instance of itself is running. If the UNIX domain socket (normally \fI/var/run/pump.sock\fR) does not exist, .B pump tries to connect to tcp/127.0.0.1:68. If it is also unreachable (possibly due to packet filtering), .B pump will issue a warning to stderr and assume that there is no instance of itself running. Probably limited to Ethernet, might work on PLIP, probably not ARCnet and Token Ring. The configuration file should let you do more things. Submit bug reports at the Bug Track link at http://developer.redhat.com/ .SH QUIBBLE A pump, like a boot[p], is something you wear on your foot. Some of us like the name (I know, hard to believe)!