[BACK]Return to ipnat CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / etc / rc.d

File: [cvs.NetBSD.org] / src / etc / rc.d / ipnat (download)

Revision 1.7.2.3, Wed Aug 27 10:56:26 2003 UTC (20 years, 7 months ago) by tron
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002
Changes since 1.7.2.2: +2 -2 lines

Pull up revision 1.10 (requested by martti in ticket #1442):
ipnat needs to be before SERVERS - one may need NAT for servers to work
(eg, ntpdate).

#!/bin/sh
#
# $NetBSD: ipnat,v 1.7.2.3 2003/08/27 10:56:26 tron Exp $
#

# PROVIDE: ipnat
# REQUIRE: ipfilter mountcritremote
# BEFORE:  SERVERS

. /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
run_rc_command "$1"