2000-03-10 14:53:23 +03:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
2004-10-12 18:51:03 +04:00
|
|
|
# $NetBSD: ipnat,v 1.13 2004/10/12 14:51:03 lukem Exp $
|
2000-03-10 14:53:23 +03:00
|
|
|
#
|
|
|
|
|
|
|
|
# PROVIDE: ipnat
|
2000-08-22 03:33:50 +04:00
|
|
|
# REQUIRE: ipfilter mountcritremote
|
2003-08-22 12:43:26 +04:00
|
|
|
# BEFORE: SERVERS
|
2000-03-10 14:53:23 +03:00
|
|
|
|
2004-08-13 22:08:03 +04:00
|
|
|
$_rc_subr_loaded . /etc/rc.subr
|
2000-03-10 14:53:23 +03:00
|
|
|
|
|
|
|
name="ipnat"
|
2000-09-19 17:04:38 +04:00
|
|
|
rcvar=$name
|
2000-03-10 14:53:23 +03:00
|
|
|
config="/etc/ipnat.conf"
|
|
|
|
start_cmd="ipnat_start"
|
|
|
|
stop_cmd="/usr/sbin/ipnat -F -C"
|
2003-02-17 01:18:46 +03:00
|
|
|
reload_cmd="/usr/sbin/ipnat -C -f ${config}"
|
|
|
|
restart_cmd="/usr/sbin/ipnat -F -C -f ${config}"
|
2000-04-30 17:23:04 +04:00
|
|
|
extra_commands="reload"
|
|
|
|
|
2000-03-10 14:53:23 +03:00
|
|
|
ipnat_start()
|
|
|
|
{
|
|
|
|
if [ ! -f ${config} ]; then
|
|
|
|
return 0
|
|
|
|
fi
|
2004-10-11 19:00:51 +04:00
|
|
|
if [ "$(/sbin/sysctl -n net.inet.ip.forwarding)" = "0" ]; then
|
2002-09-24 15:03:53 +04:00
|
|
|
logger -s -p daemon.warning -t ipnat \
|
|
|
|
"WARNING: net.inet.ip.forwarding is 0"
|
|
|
|
fi
|
2000-03-10 14:53:23 +03:00
|
|
|
if ! checkyesno ipfilter || [ ! -f /etc/ipf.conf ]; then
|
2000-03-12 06:49:36 +03:00
|
|
|
echo "Enabling ipfilter for NAT."
|
2000-03-10 14:53:23 +03:00
|
|
|
/sbin/ipf -E -Fa
|
|
|
|
fi
|
2000-03-12 06:49:36 +03:00
|
|
|
echo -n "Installing NAT rules ... "
|
2000-03-10 14:53:23 +03:00
|
|
|
/usr/sbin/ipnat -F -f ${config}
|
|
|
|
}
|
|
|
|
|
2000-05-13 12:45:06 +04:00
|
|
|
load_rc_config $name
|
2004-10-12 18:51:03 +04:00
|
|
|
load_rc_config_var ipfilter ipfilter
|
2000-04-30 17:23:04 +04:00
|
|
|
run_rc_command "$1"
|