summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.d/Makefile2
-rw-r--r--etc/rc.d/ipfw29
-rw-r--r--etc/rc.d/natd42
3 files changed, 45 insertions, 28 deletions
diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile
index 852cf12..ab9b83a 100755
--- a/etc/rc.d/Makefile
+++ b/etc/rc.d/Makefile
@@ -21,7 +21,7 @@ FILES= DAEMON LOGIN NETWORKING SERVERS \
ldconfig local localpkg lomac lpd \
mixer motd mountcritlocal mountcritremote \
mountd moused mroute6d mrouted msgs \
- named netif netoptions \
+ named natd netif netoptions \
network_ipv6 nfsclient nfsd \
nfslocking nfsserver nisdomain ntpd ntpdate \
othermta \
diff --git a/etc/rc.d/ipfw b/etc/rc.d/ipfw
index 50b8cf7..990c14e 100644
--- a/etc/rc.d/ipfw
+++ b/etc/rc.d/ipfw
@@ -37,31 +37,7 @@ ipfw_start()
if [ -r "${firewall_script}" ]; then
. "${firewall_script}"
echo -n 'Firewall rules loaded, starting divert daemons:'
-
- # Network Address Translation daemon
- #
- if checkyesno natd_enable; then
- dhcp_list="`list_net_interfaces dhcp`"
- for ifn in ${dhcp_list}; do
- case ${natd_interface} in
- ${ifn})
- natd_flags="$natd_flags -dynamic"
- ;;
- *)
- ;;
- esac
- done
- if [ -n "${natd_interface}" ]; then
- if echo ${natd_interface} | \
- grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then
- natd_flags="$natd_flags -a ${natd_interface}"
- else
- natd_flags="$natd_flags -n ${natd_interface}"
- fi
- fi
- echo -n ' natd'
- ${natd_program:-/sbin/natd} ${natd_flags} ${natd_ifarg}
- fi
+ /etc/rc.d/natd start
elif [ "`ipfw l 65535`" = "65535 deny ip from any to any" ]; then
echo 'Warning: kernel has firewall functionality, but' \
' firewall rules are not enabled.'
@@ -86,8 +62,7 @@ ipfw_stop()
# Disable the firewall
#
${SYSCTL_W} net.inet.ip.fw.enable=0
- killall natd;
- sleep 2;
+ /etc/rc.d/natd stop
}
load_rc_config $name
diff --git a/etc/rc.d/natd b/etc/rc.d/natd
new file mode 100644
index 0000000..53a370d
--- /dev/null
+++ b/etc/rc.d/natd
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: natd
+# KEYWORD: FreeBSD nostart nojail
+
+. /etc/rc.subr
+. /etc/network.subr
+
+name="natd"
+rcvar=`set_rcvar`
+command="/sbin/${name}"
+start_cmd="natd_start"
+
+natd_start()
+{
+ dhcp_list="`list_net_interfaces dhcp`"
+ for ifn in ${dhcp_list}; do
+ case ${natd_interface} in
+ ${ifn})
+ natd_flags="$natd_flags -dynamic"
+ ;;
+ *)
+ ;;
+ esac
+ done
+ if [ -n "${natd_interface}" ]; then
+ if echo ${natd_interface} | \
+ grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then
+ natd_flags="$natd_flags -a ${natd_interface}"
+ else
+ natd_flags="$natd_flags -n ${natd_interface}"
+ fi
+ fi
+ echo -n ' natd'
+ ${natd_program:-/sbin/natd} ${natd_flags} ${natd_ifarg}
+}
+
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud