HOSTNAME.IF(5) OpenBSD Programmer's Manual HOSTNAME.IF(5)NAMEhostname.if - interface-specific configuration files
DESCRIPTION
The hostname.* files contain information regarding the configuration of
each network interface. One file should exist for each interface that is
to be configured, such as hostname.fxp0 or hostname.bridge0. A
configuration file is not needed for lo0.
The configuration information is expressed in a line-by-line packed
format which makes the most common cases simpler; those dense formats are
described below. Any lines not matching these packed formats are passed
directly to ifconfig(8). The packed formats are converted using a
somewhat inflexible parser and the administrator should not expect magic
-- if in doubt study ifconfig(8) and the per-driver manual pages to see
what arguments are permitted.
Arguments containing either whitespace or single quote characters must be
double quoted. For example:
inet 10.0.0.1 255.255.255.0 10.0.0.255 description "Bob's uplink"
STATIC ADDRESS CONFIGURATION
The following packed formats are valid for configuring network interfaces
with static addresses:
Regular IPv4 network setup:
inet [alias] addr netmask broadcast_addr options
dest dest_addr
Regular IPv6 network setup:
inet6 [alias] addr prefixlen options
dest dest_addr
Other network setup:
addr_family options
A typical file contains only one line, but more extensive files are
possible, for example:
inet 10.0.1.12 255.255.255.0 10.0.1.255 media 100baseTX description Uplink
inet alias 10.0.1.13 255.255.255.255 10.0.1.13
inet alias 10.0.1.14 255.255.255.255 NONE
inet alias 10.0.1.15 255.255.255.255
inet alias 10.0.1.16 0xffffffff
# This is an example comment line.
inet6 alias fec0::1 64
inet6 alias fec0::2 64 anycast
!route add 65.65.65.65 10.0.1.13
up
The above formats have the following field values:
addr_family
The address family of the interface, generally ``inet'' or
``inet6''.
alias The literal string ``alias'' if this is an additional
network address for the interface.
addr The optional address that belongs to the interface, such as
190.191.192.1 or fe80:2::1. It is also feasible to use a
hostname as specified in /etc/hosts. It is recommended
that an address be used instead of symbolic information,
since the latter might activate resolver(3) library
routines.
If no address is specified, the netmask, broadcast_addr,
dest, and dest_addr options are invalid and will be
ignored.
netmask
The optional network mask for the interface, e.g.,
255.255.255.0. If addr is specified but netmask is not,
the classful mask based on addr is used.
broadcast_addr
The optional broadcast address for the interface, e.g.,
190.191.192.255. The word ``NONE'' can also be specified
in order to configure the broadcast address based on the
netmask. The netmask option must be present in order to
use this option.
options
Miscellaneous options to set on the interface, e.g.,
``media 100baseTX mediaopt full-duplex''. Valid options
for a particular interface type can be found in
ifconfig(8). When used, the netmask and broadcast_addr
options must also be present.
dest If the interface needs a destination address set, this is
the literal text ``dest''. As shown in the example, this
declaration should start on a separate line.
dest_addr
The destination address to be set on the interface, such as
190.191.192.2. It is also feasible to use a hostname as
specified in /etc/hosts. It is recommended that an address
be used instead of symbolic information which might
activate resolver(3) library routines.
prefixlen
The prefixlen number, or number of bits in the netmask, to
be set on the interface, such as 64.
# Comments are allowed. Anything following a comment
character is treated as a comment.
!command-line
Arbitrary shell commands can be executed using this
directive. Useful for doing interface-specific
configuration such as setting up custom routes using
route(8) or establishing tunnels using ifconfig(8). It is
worth noting that ``\$if'' in a command line will be
replaced by the interface name.
DYNAMIC ADDRESS CONFIGURATION
The following packed formats are valid for configuring network interfaces
with dynamic addresses:
A DHCP-configured network interface setup consists of
dhcp options
The above format has the following field values:
dhcp The literal string ``dhcp'' if the interface is to be
configured using DHCP. See dhclient(8) and
dhclient.conf(5) for more details.
options
Miscellaneous options to set on the interface, e.g.,
``media 100baseTX mediaopt full-duplex''. Valid options
for a particular interface type can be found in
ifconfig(8). The OpenBSD installation script will create
hostname.if with options of ``NONE NONE NONE'' when DHCP
configuration is chosen. This is the same as specifying
just ``dhcp''.
IPv6 stateless address autoconfiguration:
rtsol options
The above format has the following field values:
rtsol The literal string ``rtsol'' if the interface is to be
configured using IPv6 stateless address autoconfiguration.
This should be used on single interface hosts only, since
the IPv6 specifications are silent about the behavior on
multi-interface hosts. Also note that the kernel must be
configured to accept IPv6 router advertisement, and
configured as a host (i.e. non-router). Add the following
lines into sysctl.conf(5):
net.inet6.ip6.forwarding=0
net.inet6.ip6.accept_rtadv=1
options
Miscellaneous options to set on the interface, e.g.,
``media 100baseTX mediaopt full-duplex''. Valid options
for a particular interface type can be found in
ifconfig(8).
BRIDGE INTERFACE CONFIGURATION
If the network interface is a bridge, the options described in the bridge
section of the ifconfig(8) manual page apply.
For example:
add fxp0
add ep1
-learn fxp0
#
!ipsecctl -F
#
static fxp0 8:0:20:1e:2f:2b
up # and finally enable it
SEE ALSOhosts(5), dhcp(8), ifconfig(8), lmccontrol(8), netstart(8), rc(8)OpenBSD 4.9 December 10, 2009 OpenBSD 4.9