#!/bin/sh # # $FreeBSD: src/etc/rc.d/natd,v 1.3.2.1 2006/12/20 12:23:57 yar Exp $ # Edited by KMN 04.08.09 # PROVIDE: natd # KEYWORD: nostart nojail . /etc/rc.subr . /etc/network.subr name="natd2" #KMN rcvar=`set_rcvar` command="/sbin/natd" #KMN pidfile="/var/run/${name}.pid" start_precmd="natd2_precmd" #KMN natd2_precmd() #KMN { if ! ${SYSCTL} net.inet.divert > /dev/null 2>&1; then if ! kldload ipdivert; then warn unable to load IPDIVERT module. return 1 fi fi if [ -n "${natd2_interface}" ]; then #KMN dhcp_list="`list_net_interfaces dhcp`" for ifn in ${dhcp_list}; do case "${natd2_interface}" in #KMN ${ifn}) rc_flags="$rc_flags -dynamic" ;; esac done #KMN if echo "${natd2_interface}" | \ grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then rc_flags="$rc_flags -a ${natd2_interface}" #KMN else rc_flags="$rc_flags -n ${natd2_interface}" #KMN fi fi rc_flags="$rc_flags -P ${pidfile}" #KMN return 0 } load_rc_config $name run_rc_command "$1"