1ecb0d140f
variables that may be set in /etc/rc.conf.d/CMD instead of /etc/rc.conf. Fixes PR 20768 from Pavel Cahyna.
41 lines
882 B
Bash
Executable File
41 lines
882 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $NetBSD: ipnat,v 1.13 2004/10/12 14:51:03 lukem Exp $
|
|
#
|
|
|
|
# PROVIDE: ipnat
|
|
# REQUIRE: ipfilter mountcritremote
|
|
# BEFORE: SERVERS
|
|
|
|
$_rc_subr_loaded . /etc/rc.subr
|
|
|
|
name="ipnat"
|
|
rcvar=$name
|
|
config="/etc/ipnat.conf"
|
|
start_cmd="ipnat_start"
|
|
stop_cmd="/usr/sbin/ipnat -F -C"
|
|
reload_cmd="/usr/sbin/ipnat -C -f ${config}"
|
|
restart_cmd="/usr/sbin/ipnat -F -C -f ${config}"
|
|
extra_commands="reload"
|
|
|
|
ipnat_start()
|
|
{
|
|
if [ ! -f ${config} ]; then
|
|
return 0
|
|
fi
|
|
if [ "$(/sbin/sysctl -n net.inet.ip.forwarding)" = "0" ]; then
|
|
logger -s -p daemon.warning -t ipnat \
|
|
"WARNING: net.inet.ip.forwarding is 0"
|
|
fi
|
|
if ! checkyesno ipfilter || [ ! -f /etc/ipf.conf ]; then
|
|
echo "Enabling ipfilter for NAT."
|
|
/sbin/ipf -E -Fa
|
|
fi
|
|
echo -n "Installing NAT rules ... "
|
|
/usr/sbin/ipnat -F -f ${config}
|
|
}
|
|
|
|
load_rc_config $name
|
|
load_rc_config_var ipfilter ipfilter
|
|
run_rc_command "$1"
|