117844eb75
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.
40 lines
825 B
Bash
Executable File
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"
|