]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - libexec/rc/rc.d/ipmon
Load ipfilter, ipnat, and ippool rules, and start ipmon in a vnet jail.
[FreeBSD/FreeBSD.git] / libexec / rc / rc.d / ipmon
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: ipmon
7 # REQUIRE: FILESYSTEMS hostname sysctl ipfilter
8 # BEFORE:  SERVERS
9 # KEYWORD: nojailvnet
10
11 . /etc/rc.subr
12
13 name="ipmon"
14 desc="Monitors /dev/ipl for logged packets"
15 rcvar="ipmon_enable"
16 command="/sbin/${name}"
17 start_precmd="ipmon_precmd"
18
19 ipmon_precmd()
20 {
21         # Continue only if ipfilter or ipnat is enabled and the
22         # ipfilter module is loaded.
23         #
24         if ! checkyesno ipfilter_enable && ! checkyesno ipnat_enable && ! checkyesno rc_force ; then
25                 err 1  "${name} requires either ipfilter or ipnat enabled"
26         fi
27         if ! ${ipfilter_program:-/sbin/ipf} -V | grep -q 'Running: yes' >/dev/null 2>&1; then
28                 err 1 "ipfilter module is not loaded"
29         fi
30         return 0
31 }
32
33 load_rc_config $name
34 run_rc_command "$1"