NetBSD/etc/rc.d/ipnat
grant 117844eb75 change behaviour of 'reload' to only reload the NAT rules and NOT flush
the state table, making it much more useful.

The behaviour of 'restart' is unchanged (flush state table and reload
rules), but is now done slightly more elegantly.

ok'd by lukem.
2003-02-16 22:18:46 +00:00

40 lines
825 B
Bash
Executable File

#!/bin/sh
#
# $NetBSD: ipnat,v 1.9 2003/02/16 22:18:46 grant Exp $
#
# PROVIDE: ipnat
# REQUIRE: ipfilter mountcritremote
# BEFORE: DAEMON
. /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"