#!/bin/sh # # $NetBSD: ipnat,v 1.6 2000/09/19 13:04:38 lukem Exp $ # $FreeBSD: src/etc/rc.d/ipnat,v 1.8 2003/04/30 02:54:17 mtm Exp $ # $DragonFly: src/etc/rc.d/ipnat,v 1.3 2005/11/19 21:47:32 swildner Exp $ # # PROVIDE: ipnat # REQUIRE: ipfilter # BEFORE: DAEMON netif . /etc/rc.subr name="ipnat" rcvar=`set_rcvar` load_rc_config $name start_precmd="ipnat_precmd" start_cmd="ipnat_start" stop_cmd="${ipnat_program} -F -C" reload_cmd="${ipnat_program} -F -C -f ${ipnat_rules}" extra_commands="reload" ipnat_precmd() { # Make sure ipfilter is loaded before continuing if ! ${SYSCTL} net.inet.ipf.fr_pass >/dev/null 2>&1; then if kldload ipl; then info 'IP-filter module loaded.' else err 1 'IP-filter module failed to load.' fi fi return 0 } ipnat_start() { if [ ! -f ${ipnat_rules} ]; then warn 'NO IPNAT RULES' return 0 fi echo -n "Installing NAT rules." ${ipnat_program} -CF -f ${ipnat_rules} ${ipnat_flags} } run_rc_command "$1"