]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/ipfilter/man/ipf.8
This commit was generated by cvs2svn to compensate for changes in r169942,
[FreeBSD/FreeBSD.git] / contrib / ipfilter / man / ipf.8
1 .\" $FreeBSD$
2 .TH IPF 8
3 .SH NAME
4 ipf \- alters packet filtering lists for IP packet input and output
5 .SH SYNOPSIS
6 .B ipf
7 [
8 .B \-6AcdDEInoPrsvVyzZ
9 ] [
10 .B \-l
11 <block|pass|nomatch>
12 ] [
13 .B \-T
14 <optionlist>
15 ] [
16 .B \-F
17 <i|o|a|s|S>
18 ]
19 .B \-f
20 <\fIfilename\fP>
21 [
22 .B \-f
23 <\fIfilename\fP>
24 [...]]
25 .SH DESCRIPTION
26 .PP
27 \fBipf\fP opens the filenames listed (treating "\-" as stdin) and parses the
28 file for a set of rules which are to be added or removed from the packet
29 filter rule set.
30 .PP
31 Each rule processed by \fBipf\fP
32 is added to the kernel's internal lists if there are no parsing problems.
33 Rules are added to the end of the internal lists, matching the order in
34 which they appear when given to \fBipf\fP.
35 .SH OPTIONS
36 .TP
37 .B \-6
38 This option is required to parse IPv6 rules and to have them loaded.
39 .TP
40 .B \-A
41 Set the list to make changes to the active list (default).
42 .TP
43 .B \-c <language>
44 This option causes \fBipf\fP to generate output files for a compiler that
45 supports \fBlanguage\fI.  At present, the only target language supported is
46 \fBC\fB (-cc) for which two files - \fBip_rules.c\fP
47 and \fBip_rules.h\fP are generated in the \fBCURRENT DIRECTORY\fP when
48 \fBipf\fP is being run.  These files can be used with the
49 \fBIPFILTER_COMPILED\fP kernel option to build filter rules staticly into
50 the kernel.
51 .TP
52 .B \-d
53 Turn debug mode on.  Causes a hexdump of filter rules to be generated as
54 it processes each one.
55 .TP
56 .B \-D
57 Disable the filter (if enabled).  Not effective for loadable kernel versions.
58 .TP
59 .B \-E
60 Enable the filter (if disabled).  Not effective for loadable kernel versions.
61 .TP
62 .BR \-F \0<i|o|a>
63 This option specifies which filter list to flush.  The parameter should
64 either be "i" (input), "o" (output) or "a" (remove all filter rules).
65 Either a single letter or an entire word starting with the appropriate
66 letter maybe used.  This option maybe before, or after, any other with
67 the order on the command line being that used to execute options.
68 .TP
69 .BR \-F \0<s|S>
70 To flush entries from the state table, the \fB-F\fP option is used in
71 conjunction with either "s" (removes state information about any non-fully
72 established connections) or "S" (deletes the entire state table).  Only
73 one of the two options may be given.  A fully established connection
74 will show up in \fBipfstat -s\fP output as 5/5, with deviations either
75 way indicating it is not fully established any more.
76 .TP
77 .BR \-f \0<filename>
78 This option specifies which files
79 \fBipf\fP should use to get input from for modifying the packet filter rule
80 lists.
81 .TP
82 .B \-I
83 Set the list to make changes to the inactive list.
84 .TP
85 .B \-l \0<pass|block|nomatch>
86 Use of the \fB-l\fP flag toggles default logging of packets.  Valid
87 arguments to this option are \fBpass\fP, \fBblock\fP and \fBnomatch\fP.
88 When an option is set, any packet which exits filtering and matches the
89 set category is logged.  This is most useful for causing all packets
90 which don't match any of the loaded rules to be logged.
91 .TP
92 .B \-n
93 This flag (no-change) prevents \fBipf\fP from actually making any ioctl
94 calls or doing anything which would alter the currently running kernel.
95 .TP
96 .B \-o
97 Force rules by default to be added/deleted to/from the output list, rather
98 than the (default) input list.
99 .TP
100 .B \-P
101 Add rules as temporary entries in the authentication rule table.
102 .TP
103 .B \-r
104 Remove matching filter rules rather than add them to the internal lists
105 .TP
106 .B \-s
107 Swap the active filter list in use to be the "other" one.
108 .B \-T <optionlist>
109 This option allows run-time changing of IPFilter kernel variables.  Some
110 variables require IPFilter to be in a disabled state (\fB-D\fP) for changing,
111 others do not.  The optionlist parameter is a comma separated list of tuning
112 commands.  A tuning command is either "list" (retrieve a list of all variables
113 in the kernel, their maximum, minimum and current value), a single variable
114 name (retrieve its current value) and a variable name with a following
115 assignment to set a new value.  Some examples follow.
116 .nf
117 # Print out all IPFilter kernel tunable parameters
118 ipf -T list
119 # Display the current TCP idle timeout and then set it to 3600
120 ipf -D -T fr_tcpidletimeout,fr_tcpidletimeout=3600 -E
121 # Display current values for fr_pass and fr_chksrc, then set fr_chksrc to 1.
122 ipf -T fr_pass,fr_chksrc,fr_chksrc=1
123 .fi
124 .TP
125 .B \-v
126 Turn verbose mode on.  Displays information relating to rule processing.
127 .TP
128 .B \-V
129 Show version information.  This will display the version information compiled
130 into the ipf binary and retrieve it from the kernel code (if running/present).
131 If it is present in the kernel, information about its current state will be
132 displayed (whether logging is active, default filtering, etc).
133 .TP
134 .B \-y
135 Manually resync the in-kernel interface list maintained by IP Filter with
136 the current interface status list.
137 .TP
138 .B \-z
139 For each rule in the input file, reset the statistics for it to zero and
140 display the statistics prior to them being zeroed.
141 .TP
142 .B \-Z
143 Zero global statistics held in the kernel for filtering only (this doesn't
144 affect fragment or state statistics).
145 .DT
146 .SH FILES
147 /dev/ipauth
148 .br
149 /dev/ipl
150 .br
151 /dev/ipstate
152 .SH SEE ALSO
153 ipftest(1), mkfilters(1), ipf(4), ipl(4), ipf(5), ipfstat(8), ipmon(8), ipnat(8)
154 .SH DIAGNOSTICS
155 .PP
156 Needs to be run as root for the packet filtering lists to actually
157 be affected inside the kernel.
158 .SH BUGS
159 .PP
160 If you find any, please send email to me at darrenr@pobox.com