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