Allow rc.conf to setup resolv.conf via resolvconf(8).
This allows all static network config to be in rc.conf rather than spread across files.
This commit is contained in:
parent
726d0d156a
commit
eb279c7f26
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# $NetBSD: network,v 1.74 2018/06/29 12:34:15 roy Exp $
|
||||
# $NetBSD: network,v 1.75 2018/07/27 15:31:02 roy Exp $
|
||||
#
|
||||
|
||||
# PROVIDE: network
|
||||
|
@ -52,6 +52,7 @@ network_start()
|
|||
have_inet6 &&
|
||||
network_start_ipv6_autoconf
|
||||
network_wait_dad
|
||||
network_start_resolv
|
||||
network_start_local
|
||||
}
|
||||
|
||||
|
@ -454,6 +455,32 @@ network_wait_dad()
|
|||
fi
|
||||
}
|
||||
|
||||
network_start_resolv()
|
||||
{
|
||||
resconf=
|
||||
|
||||
if [ -n "$dns_domain" ]; then
|
||||
resconf="${resconf}domain $dns_domain$nl"
|
||||
fi
|
||||
if [ -n "$dns_search" ]; then
|
||||
resconf="${resconf}search $dns_search$nl"
|
||||
fi
|
||||
for n in $dns_nameservers; do
|
||||
resconf="${resconf}nameserver $n$nl"
|
||||
done
|
||||
if [ -n "$dns_sortlist" ]; then
|
||||
resconf="${resconf}sortlist $dns_sortlist$nl"
|
||||
fi
|
||||
if [ -n "$dns_options" ]; then
|
||||
resconf="${resconf}options $dns_options$nl"
|
||||
fi
|
||||
if [ -n "$resconf" ]; then
|
||||
resconf="# Generated by /etc/rc.d/network$nl$resconf"
|
||||
echo 'Configuring resolv.conf'
|
||||
printf %s "$resconf" | resolvconf -m "${dns_metric:-0}" -a network
|
||||
fi
|
||||
}
|
||||
|
||||
network_start_local()
|
||||
{
|
||||
# XXX this must die
|
||||
|
@ -467,6 +494,7 @@ network_stop()
|
|||
echo "Stopping network."
|
||||
|
||||
network_stop_local
|
||||
network_stop_resolv
|
||||
network_stop_aliases
|
||||
[ "$net_interfaces" != NO ] &&
|
||||
network_stop_interfaces
|
||||
|
@ -481,6 +509,11 @@ network_stop_local()
|
|||
fi
|
||||
}
|
||||
|
||||
network_stop_resolv()
|
||||
{
|
||||
resolvconf -f -d network
|
||||
}
|
||||
|
||||
network_stop_aliases()
|
||||
{
|
||||
echo "Deleting aliases."
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: rc.conf.5,v 1.171 2018/07/13 21:46:58 maya Exp $
|
||||
.\" $NetBSD: rc.conf.5,v 1.172 2018/07/27 15:31:02 roy Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1996 Matthew R. Green
|
||||
.\" All rights reserved.
|
||||
|
@ -55,7 +55,7 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd July 14, 2018
|
||||
.Dd July 27, 2018
|
||||
.Dt RC.CONF 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -248,6 +248,30 @@ If empty or not set, then the contents of
|
|||
A space separated list of interface names.
|
||||
These interfaces will be configured down when going from multiuser to single-user
|
||||
mode or on system shutdown.
|
||||
.It Sy dns_domain
|
||||
A string.
|
||||
Sets domain in
|
||||
.Pa /etc/resolv.conf .
|
||||
.It Sy dns_search
|
||||
A string.
|
||||
Sets search in
|
||||
.Pa /etc/resolv.conf .
|
||||
.It Sy dns_nameservers
|
||||
A string of space seperated domain name servers.
|
||||
Sets nameserver for each value in
|
||||
.Pa /etc/resolv.conf .
|
||||
.It Sy dns_sortlist
|
||||
A string.
|
||||
Sets sortlist in
|
||||
.Pa /etc/resolv.conf .
|
||||
.It Sy dns_options
|
||||
A string.
|
||||
Sets options in
|
||||
.Pa /etc/resolv.conf .
|
||||
.It Sy dns_metric
|
||||
An unsigned integer.
|
||||
Sets the priority of the above DNS to other sources, lowest wins.
|
||||
Defaults to 0.
|
||||
.Pp
|
||||
This is important for some stateful interfaces, for example PPP over ISDN
|
||||
connections that cost money by connection time or PPPoE interfaces which
|
||||
|
|
Loading…
Reference in New Issue