natd revision 136791
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/natd 136791 2004-10-22 19:36:03Z andre $ 4# 5 6# PROVIDE: natd 7# KEYWORD: nostart nojail 8 9. /etc/rc.subr 10. /etc/network.subr 11 12name="natd" 13rcvar=`set_rcvar` 14command="/sbin/${name}" 15start_precmd="natd_precmd" 16start_cmd="natd_start" 17 18natd_precmd() 19{ 20 if ! ${SYSCTL} net.inet.divert > /dev/null 2>&1; then 21 if ! kldload ipdivert; then 22 warn unable to load IPDIVERT module. 23 return 1 24 fi 25 fi 26 27 return 0 28} 29 30natd_start() 31{ 32 dhcp_list="`list_net_interfaces dhcp`" 33 for ifn in ${dhcp_list}; do 34 case ${natd_interface} in 35 ${ifn}) 36 natd_flags="$natd_flags -dynamic" 37 ;; 38 *) 39 ;; 40 esac 41 done 42 if [ -n "${natd_interface}" ]; then 43 if echo ${natd_interface} | \ 44 grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then 45 natd_flags="$natd_flags -a ${natd_interface}" 46 else 47 natd_flags="$natd_flags -n ${natd_interface}" 48 fi 49 fi 50 echo -n ' natd' 51 ${natd_program:-/sbin/natd} ${natd_flags} ${natd_ifarg} 52} 53 54load_rc_config $name 55run_rc_command "$1" 56