/etc/rc.d/network
at system boot time.
For each interface
(nnX)
that is to be configured, there should be either an
ifconfig_nnX
variable in
rc.conf(5),
or an
/etc/ifconfig.nnX
file
(such as the
ifconfig_fxp0
variable or the
/etc/ifconfig.fxp0
file for the
fxp0
interface).
The variable or file will get evaluated only if the interface exists on
the system.
Multiple lines can be placed in a variable or file, and will be
evaluated sequentially.
In the case of a variable, semicolons may be used instead of
newlines, as described in
rc.conf(5).
Normally, a line will be evaluated as command line arguments to
ifconfig(8).
``ifconfig
nnX''
will be prepended on evaluation.
Arguments with embedded shell metacharacters should be quoted in
sh(1)
style.
If the line is equal to ``dhcp'', dhcpcd(8) will be started for the interface.
If a line is empty, or starts with `#', the line will be ignored as comment.
If a line starts with
`!',
the rest of line will get evaluated as shell script fragment.
Shell variables declared in
/etc/rc.d/network
are accessible but may not be modified.
The most useful variable is
$int
,
as it will be bound to the interface being configured with the file.
For example, the following illustrates static interface configuration:
# IPv4, with an alias
inet 10.0.1.12 netmask 255.255.255.0 media 100baseTX
inet 10.0.1.13 netmask 255.255.255.255 alias
# let us have IPv6 address on this interface
inet6 2001:db8::1 prefixlen 64 alias
# have subnet router anycast address too
inet6 2001:db8:: prefixlen 64 alias anycast
The following illustrates dynamic configuration setup with dhclient(8) and rtsol(8):
up
# autoconfigure IPv4 address
!dhclient $int
# autoconfigure IPv6 address. Be sure to set $ip6mode to autohost.
!rtsol $int
The following example sets a network name for a wireless interface (using quotes to protect special characters in the name), and starts dhcpcd(8):
ssid 'my network'
dhcp
The following example is for dynamically-created pseudo interfaces like
gif(4).
Earlier versions of
/etc/rc.d/network
required an explicit
`create'
command for such interfaces,
but creation is now handled automatically.
up
# configure IPv6 default route toward the interface
!route add -inet6 default ::1
!route change -inet6 default -ifp $int
/etc/rc.d/network