mirror of
https://github.com/rsmarples/dhcpcd.git
synced 2024-11-27 20:14:15 +08:00
bf80d52682
This only allows packets from the addresses listed and overrides blacklist if set.
268 lines
8.4 KiB
Groff
268 lines
8.4 KiB
Groff
.\" Copyright (c) 2006-2009 Roy Marples
|
|
.\" All rights reserved
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.Dd July 5, 2009
|
|
.Dt DHCPCD.CONF 5 SMM
|
|
.Os
|
|
.Sh NAME
|
|
.Nm dhcpcd.conf
|
|
.Nd dhcpcd configuration file
|
|
.Sh DESCRIPTION
|
|
Although
|
|
.Nm dhcpcd
|
|
can do everything from the command line, there are cases where it's just easier
|
|
to do it once in a configuration file.
|
|
Most of the options found in
|
|
.Xr dhcpcd 8
|
|
can be used here.
|
|
The first word on the line is the option and the rest of the line is the value.
|
|
Leading and trailing whitespace for the option and value are trimmed.
|
|
You can escape characters in the value using the \\ character.
|
|
.Pp
|
|
Blank lines and lines starting with # are ignored.
|
|
.Pp
|
|
Here's a list of available options:
|
|
.Bl -tag -width indent
|
|
.It Ic allowinterfaces Ar pattern
|
|
When discovering interfaces, the interface name must match
|
|
.Ar pattern
|
|
which is a space or comma separated list of patterns passed to
|
|
.Xr fnmatch 3 .
|
|
If the same interface is matched in
|
|
.Ic denyinterfaces
|
|
then it is still denied.
|
|
.It Ic denyinterfaces Ar pattern
|
|
When discovering interfaces, the interface name must not match
|
|
.Ar pattern
|
|
which is a space or comma separated list of patterns passed to
|
|
.Xr fnmatch 3 .
|
|
.It Ic arping Ar address Op address
|
|
.Nm dhcpcd
|
|
will arping each address in order before attempting DHCP.
|
|
If an address is found, we will select the replying hardware address as the
|
|
profile, otherwise the ip address.
|
|
Example:
|
|
.Pp
|
|
.D1 interface bge0
|
|
.D1 arping 192.168.0.1
|
|
.Pp
|
|
.D1 profile 192.168.0.1
|
|
.D1 static ip_address=192.168.0.10/24
|
|
.It Ic background
|
|
Background immediately.
|
|
This is useful for startup scripts which don't disable link messages for
|
|
carrier status.
|
|
.It Ic blacklist Ar address Ns Op /cidr
|
|
Ignores all packets from
|
|
.Ar address Ns Op /cidr .
|
|
.It Ic whitelist Ar address Ns Op /cidr
|
|
Only accept packets from
|
|
.Ar address Ns Op /cidr .
|
|
.Ic blacklist
|
|
is ignored if
|
|
.Ic whitelist
|
|
is set.
|
|
.It Ic clientid Ar string
|
|
Send the
|
|
.Ar clientid .
|
|
If the string is of the format 01:02:03 then it is encoded as hex.
|
|
For interfaces whose hardware address is longer than 8 bytes, or if the
|
|
.Ar clientid
|
|
is an empty string then
|
|
.Nm dhcpcd
|
|
sends a default
|
|
.Ar clientid
|
|
of the hardware family and the hardware address.
|
|
.It Ic duid
|
|
Generate an
|
|
.Rs
|
|
.%T "RFC 4361"
|
|
.Re
|
|
compliant clientid.
|
|
This requires persistent storage and not all DHCP servers work with it so it's
|
|
not enabled by default.
|
|
The duid generated will be held in
|
|
.Pa @SYSCONFDIR@/dhcpcd.duid
|
|
and should not be copied to other hosts.
|
|
.It Ic fallback Ar profile
|
|
Fallback to using this profile if DHCP fails.
|
|
This allows you to configure a static profile instead of using ZeroConf.
|
|
.It Ic hostname Ar name
|
|
Sends specified
|
|
.Ar hostname
|
|
to the DHCP server so it can be registered in DNS. If
|
|
.Ar hostname
|
|
if a FQDN (ie, contains a .) then it will be encoded as such.
|
|
.It Ic fqdn Op none | ptr | both
|
|
none disables FQDN encoding, ptr just asks the DHCP server to update the PTR
|
|
record of the host in DNS whereas both also updates the A record.
|
|
.Nm dhcpcd
|
|
itself never does any DNS updates.
|
|
.Nm dhcpcd
|
|
encodes the FQDN hostname as specified in
|
|
.Li RFC1035 .
|
|
.It Ic interface Ar interface
|
|
Subsequent options are only parsed for this
|
|
.Ar interface .
|
|
.It Ic leasetime Ar seconds
|
|
Request a leasetime of
|
|
.Ar seconds .
|
|
.It Ic metric Ar metric
|
|
Metrics are used to prefer an interface over another one, lowest wins.
|
|
.Nm dhcpcd
|
|
will supply a default metic of 200 +
|
|
.Xr if_nametoindex 3 .
|
|
An extra 100 will be added for wireless interfaces.
|
|
.It Ic noarp
|
|
Don't send any ARP requests.
|
|
This also disables IPv4LL.
|
|
.It Ic nogateway
|
|
Don't install any default routes.
|
|
.It Ic nohook Ar script
|
|
Don't run this hook script.
|
|
Matches full name, or prefixed with 2 numbers optionally ending with
|
|
.Pa .sh .
|
|
.Pp
|
|
So to stop
|
|
.Nm dhcpcd
|
|
from touching your DNS or MTU settings you would do:-
|
|
.D1 nohook resolv.conf, mtu
|
|
.It Ic noipv4ll
|
|
Don't attempt to obtain an IPv4LL address if we failed to get one via DHCP.
|
|
See
|
|
.Rs
|
|
.%T "RFC 3927"
|
|
.Re
|
|
.It Ic nolink
|
|
Don't receive link messages about carrier status.
|
|
You should only set this for buggy interface drivers.
|
|
.It Ic option Ar option
|
|
Requests the
|
|
.Ar option
|
|
from the server.
|
|
It can be a variable to be used in
|
|
.Xr dhcpcd-run-hooks 8
|
|
or the numerical value.
|
|
You can specify more options seperated by commas, spaces or more option lines.
|
|
.It Ic nooption Ar option
|
|
Remove the option from the DHCP message.
|
|
This should only be used when a DHCP server sends a non requested option
|
|
that should not be processed.
|
|
.It Ic destination Ar option
|
|
If
|
|
.Nm
|
|
detects an address added to a point to point interface (PPP, TUN, etc) then
|
|
it will set the listed DHCP options to the destination address of the
|
|
interface.
|
|
.It Ic profile Ar name
|
|
Subsequent options are only parsed for this profile
|
|
.Ar name .
|
|
.It Ic quiet
|
|
Supress any dhcpcd output to the console, except for errors.
|
|
.It Ic reboot Ar seconds
|
|
Allow
|
|
.Ar reboot
|
|
seconds before moving to the discover phase if we have an old lease to use.
|
|
The default is 10 seconds.
|
|
A setting if 0 seconds causes
|
|
.Nm dhcpcd
|
|
to skip the reboot phase and go straight into discover.
|
|
.It Ic release
|
|
.Nm dhcpcd
|
|
will release the lease prior to stopping the interface.
|
|
.It Ic require Ar option
|
|
Requires the
|
|
.Ar option
|
|
to be present in all DHCP messages, otherwise the message is ignored.
|
|
It can be a variable to be used in
|
|
.Xr dhcpcd-run-hooks 8
|
|
or the numerical value.
|
|
You can specify more options seperated by commas, spaces or more require lines.
|
|
To enforce that
|
|
.Nm dhcpcd
|
|
only responds to DHCP servers and not BOOTP servers, you can
|
|
.Ic require
|
|
.Ar dhcp_message_type .
|
|
.It Ic script Ar script
|
|
Use
|
|
.Ar script
|
|
instead of the default
|
|
.Pa @SCRIPT@ .
|
|
.It Ic ssid Ar ssid
|
|
Subsequent options are only parsed for this wireless
|
|
.Ar ssid .
|
|
.It Ic static Ar value
|
|
Configures a static
|
|
.Ar value .
|
|
If you set
|
|
.Ic ip_address
|
|
then
|
|
.Nm dhcpcd
|
|
will not attempt to obtain a lease and just use the value for the address with
|
|
an infinite lease time.
|
|
.Pp
|
|
Here is an example which configures a static address, routes and dns.
|
|
.D1 interface eth0
|
|
.D1 static ip_address=192.168.0.10/24
|
|
.D1 static routers=192.168.0.1
|
|
.D1 static domain_name_servers=192.168.0.1
|
|
.Pp
|
|
Here is an example for PPP which gives the destination a default route.
|
|
It uses the special destination keyword to insert the destination address
|
|
into the value.
|
|
.D1 interface ppp0
|
|
.D1 static ip_address=
|
|
.D1 destination routers
|
|
.It Ic timeout Ar seconds
|
|
The default timeout for waiting for a DHCP response is 30 seconds which may
|
|
be too long or too short and can be changed here.
|
|
.It Ic userclass Ar string
|
|
Tag the DHCP messages with the userclass.
|
|
You can specify more than one.
|
|
.It Ic vendor Ar code , Ns Ar value
|
|
Add an enscapulated vendor option.
|
|
.Ar code
|
|
should be between 1 and 254 inclusive.
|
|
Examples.
|
|
.Pp
|
|
Set the vendor option 01 with an IP address.
|
|
.D1 vendor 01,192.168.0.2
|
|
Set the vendor option 02 with a hex code.
|
|
.D1 vendor 02,01:02:03:04:05
|
|
Set the vendor option 03 with an IP address as a string.
|
|
.D1 vendor 03,\e"192.168.0.2\e"
|
|
.It Ic vendorclassid Ar string
|
|
Change the default vendorclassid sent from dhcpcd-version.
|
|
If not set then none is sent.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr dhcpcd-run-hooks 8 ,
|
|
.Xr dhcpcd 8 ,
|
|
.Xr if_nametoindex 3 ,
|
|
.Xr fnmatch 3
|
|
.Sh AUTHORS
|
|
.An Roy Marples Aq roy@marples.name
|
|
.Sh BUGS
|
|
Please report them to http://roy.marples.name/projects/dhcpcd
|