NetBSD-5.0.2/etc/rc.d/ipnat

#!/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"