Home | History | Annotate | Line # | Download | only in rc.d
      1 #!/bin/sh
      2 #
      3 # $NetBSD: ipnat,v 1.13 2004/10/12 14:51:03 lukem Exp $
      4 #
      5 
      6 # PROVIDE: ipnat
      7 # REQUIRE: ipfilter mountcritremote
      8 # BEFORE:  SERVERS
      9 
     10 $_rc_subr_loaded . /etc/rc.subr
     11 
     12 name="ipnat"
     13 rcvar=$name
     14 config="/etc/ipnat.conf"
     15 start_cmd="ipnat_start"
     16 stop_cmd="/usr/sbin/ipnat -F -C"
     17 reload_cmd="/usr/sbin/ipnat -C -f ${config}"
     18 restart_cmd="/usr/sbin/ipnat -F -C -f ${config}"
     19 extra_commands="reload"
     20 
     21 ipnat_start()
     22 {
     23 	if [ ! -f ${config} ]; then
     24 		return 0
     25 	fi
     26 	if [ "$(/sbin/sysctl -n net.inet.ip.forwarding)" = "0" ]; then
     27 		logger -s -p daemon.warning -t ipnat \
     28 			"WARNING: net.inet.ip.forwarding is 0"
     29 	fi
     30 	if ! checkyesno ipfilter || [ ! -f /etc/ipf.conf ]; then
     31 		echo "Enabling ipfilter for NAT."
     32 		/sbin/ipf -E -Fa
     33 	fi
     34 	echo -n "Installing NAT rules ... "
     35 	/usr/sbin/ipnat -F -f ${config}
     36 }
     37 
     38 load_rc_config $name
     39 load_rc_config_var ipfilter ipfilter
     40 run_rc_command "$1"
     41