HOSTNAME.IF(5) BSD Reference Manual HOSTNAME.IF(5)
NAME
hostname.if, bridgename.if - interface-specific configuration files
DESCRIPTION
The hostname.* and bridgename.* 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
bridgename.bridge0. However, a configuration file is not needed for lo0.
Note that multiple entries can be used per configuration file.
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 three hostname.* formats are valid for configuring network
interfaces with static addresses:
Regular IPv4 network setup:
addr_family [alias] addr netmask broadcast_addr options
dest dest_addr
route [+n] options
Regular IPv6 network setup:
addr_family [alias] addr prefixlen options
route [+n] options
Other network setup:
addr_family options
A typical file contains only one line, but more extensive files are pos-
sible, 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
inet6 alias fec0::1 64
inet6 alias fec0::2 64 anycast
route add default 10.0.1.254
route +n add -inet6 default myrouter.mydomain.com
# This is an example comment line.
!wicontrol \$if -t 2 # Set to 2Mbps
The above formats have the following field values:
addr_family
The address family of the interface, generally "inet" or
"inet6".
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 ig-
nored.
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 par-
ticular 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 de-
claration 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 ac-
tivate resolver(3) library routines.
prefixlen
The prefixlen number, or number of bits in the netmask, to
be set on the interface, such as 64.
route [+n]
This command starts the route(8) command with -n, unless +n
is given as second word, and the options as parameters.
# Comments are allowed. Anything following a comment charac-
ter is treated as a comment.
!command-line
Arbitrary shell commands can be executed using this direc-
tive. Useful for doing interface specific configuration us-
ing commands like wicontrol(8), 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 hostname.* formats are valid for configuring network inter-
faces with dynamic addresses:
A DHCP-configured network interface setup consists of
dhcp options
For example:
dhcp media 100baseTX mediaopt full-duplex
The above format has the following field values:
dhcp The literal string "dhcp" if the interface is to be config-
ured 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 par-
ticular 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 con-
figured 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 config-
ured as a host (ie. 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 par-
ticular interface type can be found in ifconfig(8).
ADDRESS-LESS CONFIGURATION
A network interface that does not require an IP address (such as
bridge(4) member interfaces and interfaces to be used with ppp(8) and
pppoe(8)) consists of
state options
The above format has the following field values:
state The administrative state in which to put the interface, ei-
ther "up" or "down".
options
Miscellaneous options to set on the interface, e.g., "media
100baseTX mediaopt full-duplex". Valid options for a par-
ticular interface type can be found in ifconfig(8).
BRIDGE INTERFACE CONFIGURATION
The final file format only applies to bridgename.bridge* files. A bridge
interface setup consists of
brconfig-arguments
brconfig-arguments
...
For example:
add fxp0
add ep1
-learn fxp0
#
!ipsecadm flush
#
static fxp0 8:0:20:1e:2f:2b
up # and finally enable it
The options are as follows:
brconfig-arguments
brconfig(8) is called for each successive line. Comments
starting with '#' and commands to be executed prefixed by
'!' are permitted.
SEE ALSO
hosts(5), ancontrol(8), brconfig(8), dhcp(8), ifconfig(8), lmccontrol(8),
netstart(8), rc(8), spppcontrol(8), wicontrol(8)
CAVEATS
The file /etc/hostname.local is a shell script, no hostname.if(5) file.
MirBSD #10-current September 2, 1999 3