blob: f781405f5d65930d9a337f9c1cf8505a6dd12f5a [file] [log] [blame]
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -08001menu "Core Netfilter Configuration"
2 depends on NET && NETFILTER
3
Harald Weltef9e815b2005-08-09 19:30:24 -07004config NETFILTER_NETLINK
5 tristate "Netfilter netlink interface"
6 help
7 If this option is enabled, the kernel will include support
8 for the new netfilter netlink interface.
Harald Welte7af4cc32005-08-09 19:44:15 -07009
10config NETFILTER_NETLINK_QUEUE
11 tristate "Netfilter NFQUEUE over NFNETLINK interface"
12 depends on NETFILTER_NETLINK
13 help
Thomas Vögtle50b521a2006-03-22 13:53:48 -080014 If this option is enabled, the kernel will include support
Harald Welte7af4cc32005-08-09 19:44:15 -070015 for queueing packets via NFNETLINK.
16
Harald Welte0597f262005-08-09 19:58:39 -070017config NETFILTER_NETLINK_LOG
18 tristate "Netfilter LOG over NFNETLINK interface"
19 depends on NETFILTER_NETLINK
20 help
21 If this option is enabled, the kernel will include support
22 for logging packets via NFNETLINK.
23
24 This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
25 and is also scheduled to replace the old syslog-based ipt_LOG
26 and ip6t_LOG modules.
27
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080028config NF_CONNTRACK
29 tristate "Layer 3 Independent Connection tracking (EXPERIMENTAL)"
30 depends on EXPERIMENTAL && IP_NF_CONNTRACK=n
31 default n
32 ---help---
33 Connection tracking keeps a record of what packets have passed
34 through your machine, in order to figure out how they are related
35 into connections.
36
37 Layer 3 independent connection tracking is experimental scheme
38 which generalize ip_conntrack to support other layer 3 protocols.
39
40 To compile it as a module, choose M here. If unsure, say N.
41
42config NF_CT_ACCT
43 bool "Connection tracking flow accounting"
44 depends on NF_CONNTRACK
45 help
46 If this option is enabled, the connection tracking code will
47 keep per-flow packet and byte counters.
48
49 Those counters can be used for flow-based accounting or the
50 `connbytes' match.
51
52 If unsure, say `N'.
53
54config NF_CONNTRACK_MARK
55 bool 'Connection mark tracking support'
56 depends on NF_CONNTRACK
57 help
58 This option enables support for connection marks, used by the
59 `CONNMARK' target and `connmark' match. Similar to the mark value
60 of packets, but this mark value is kept in the conntrack session
61 instead of the individual packets.
62
James Morris7c9728c2006-06-09 00:31:46 -070063config NF_CONNTRACK_SECMARK
64 bool 'Connection tracking security mark support'
65 depends on NF_CONNTRACK && NETWORK_SECMARK
66 help
67 This option enables security markings to be applied to
68 connections. Typically they are copied to connections from
69 packets using the CONNSECMARK target and copied back from
70 connections to packets with the same target, with the packets
71 being originally labeled via SECMARK.
72
73 If unsure, say 'N'.
74
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080075config NF_CONNTRACK_EVENTS
Patrick McHardya7957562005-12-05 13:36:25 -080076 bool "Connection tracking events (EXPERIMENTAL)"
77 depends on EXPERIMENTAL && NF_CONNTRACK
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080078 help
79 If this option is enabled, the connection tracking code will
80 provide a notifier chain that can be used by other kernel code
Thomas Vögtle50b521a2006-03-22 13:53:48 -080081 to get notified about changes in the connection tracking state.
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080082
83 If unsure, say `N'.
84
85config NF_CT_PROTO_SCTP
86 tristate 'SCTP protocol on new connection tracking support (EXPERIMENTAL)'
87 depends on EXPERIMENTAL && NF_CONNTRACK
88 default n
89 help
90 With this option enabled, the layer 3 independent connection
91 tracking code will be able to do state tracking on SCTP connections.
92
93 If you want to compile it as a module, say M here and read
94 Documentation/modules.txt. If unsure, say `N'.
95
96config NF_CONNTRACK_FTP
97 tristate "FTP support on new connection tracking (EXPERIMENTAL)"
98 depends on EXPERIMENTAL && NF_CONNTRACK
99 help
100 Tracking FTP connections is problematic: special helpers are
101 required for tracking them, and doing masquerading and other forms
102 of Network Address Translation on them.
103
104 This is FTP support on Layer 3 independent connection tracking.
105 Layer 3 independent connection tracking is experimental scheme
106 which generalize ip_conntrack to support other layer 3 protocols.
107
108 To compile it as a module, choose M here. If unsure, say N.
109
Pablo Neira Ayusoc1d10ad2006-01-05 12:19:05 -0800110config NF_CT_NETLINK
111 tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
112 depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
113 depends on NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
114 help
115 This option enables support for a netlink-based userspace interface
116
Harald Welte2e4e6a12006-01-12 13:30:04 -0800117config NETFILTER_XTABLES
118 tristate "Netfilter Xtables support (required for ip_tables)"
119 help
120 This is required if you intend to use any of ip_tables,
121 ip6_tables or arp_tables.
122
123# alphabetically ordered list of targets
124
125config NETFILTER_XT_TARGET_CLASSIFY
126 tristate '"CLASSIFY" target support'
127 depends on NETFILTER_XTABLES
128 help
129 This option adds a `CLASSIFY' target, which enables the user to set
130 the priority of a packet. Some qdiscs can use this value for
131 classification, among these are:
132
133 atm, cbq, dsmark, pfifo_fast, htb, prio
134
135 To compile it as a module, choose M here. If unsure, say N.
136
137config NETFILTER_XT_TARGET_CONNMARK
138 tristate '"CONNMARK" target support'
139 depends on NETFILTER_XTABLES
140 depends on IP_NF_MANGLE || IP6_NF_MANGLE
Yasuyuki Kozakaideac0cc2006-02-15 15:21:31 -0800141 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
Harald Welte2e4e6a12006-01-12 13:30:04 -0800142 help
143 This option adds a `CONNMARK' target, which allows one to manipulate
144 the connection mark value. Similar to the MARK target, but
145 affects the connection mark value rather than the packet mark value.
146
147 If you want to compile it as a module, say M here and read
148 <file:Documentation/modules.txt>. The module will be called
149 ipt_CONNMARK.o. If unsure, say `N'.
150
151config NETFILTER_XT_TARGET_MARK
152 tristate '"MARK" target support'
153 depends on NETFILTER_XTABLES
154 help
155 This option adds a `MARK' target, which allows you to create rules
156 in the `mangle' table which alter the netfilter mark (nfmark) field
157 associated with the packet prior to routing. This can change
158 the routing method (see `Use netfilter MARK value as routing
159 key') and can also be used by other subsystems to change their
160 behavior.
161
162 To compile it as a module, choose M here. If unsure, say N.
163
164config NETFILTER_XT_TARGET_NFQUEUE
165 tristate '"NFQUEUE" target Support'
166 depends on NETFILTER_XTABLES
167 help
Thomas Vögtle50b521a2006-03-22 13:53:48 -0800168 This target replaced the old obsolete QUEUE target.
Harald Welte2e4e6a12006-01-12 13:30:04 -0800169
170 As opposed to QUEUE, it supports 65535 different queues,
171 not just one.
172
173 To compile it as a module, choose M here. If unsure, say N.
174
175config NETFILTER_XT_TARGET_NOTRACK
176 tristate '"NOTRACK" target support'
177 depends on NETFILTER_XTABLES
178 depends on IP_NF_RAW || IP6_NF_RAW
179 depends on IP_NF_CONNTRACK || NF_CONNTRACK
180 help
181 The NOTRACK target allows a select rule to specify
182 which packets *not* to enter the conntrack/NAT
183 subsystem with all the consequences (no ICMP error tracking,
184 no protocol helpers for the selected packets).
185
186 If you want to compile it as a module, say M here and read
187 <file:Documentation/modules.txt>. If unsure, say `N'.
188
James Morris5e6874cd2006-06-09 00:30:57 -0700189config NETFILTER_XT_TARGET_SECMARK
190 tristate '"SECMARK" target support'
191 depends on NETFILTER_XTABLES && NETWORK_SECMARK
192 help
193 The SECMARK target allows security marking of network
194 packets, for use with security subsystems.
195
196 To compile it as a module, choose M here. If unsure, say N.
197
James Morris100468e2006-06-09 00:32:39 -0700198config NETFILTER_XT_TARGET_CONNSECMARK
199 tristate '"CONNSECMARK" target support'
200 depends on NETFILTER_XTABLES && (NF_CONNTRACK_SECMARK || IP_NF_CONNTRACK_SECMARK)
201 help
202 The CONNSECMARK target copies security markings from packets
203 to connections, and restores security markings from connections
204 to packets (if the packets are not already marked). This would
205 normally be used in conjunction with the SECMARK target.
206
207 To compile it as a module, choose M here. If unsure, say N.
208
Harald Welte2e4e6a12006-01-12 13:30:04 -0800209config NETFILTER_XT_MATCH_COMMENT
210 tristate '"comment" match support'
211 depends on NETFILTER_XTABLES
212 help
213 This option adds a `comment' dummy-match, which allows you to put
214 comments in your iptables ruleset.
215
216 If you want to compile it as a module, say M here and read
217 <file:Documentation/modules.txt>. If unsure, say `N'.
218
219config NETFILTER_XT_MATCH_CONNBYTES
220 tristate '"connbytes" per-connection counter match support'
221 depends on NETFILTER_XTABLES
Yasuyuki Kozakaideac0cc2006-02-15 15:21:31 -0800222 depends on (IP_NF_CONNTRACK && IP_NF_CT_ACCT) || (NF_CT_ACCT && NF_CONNTRACK)
Harald Welte2e4e6a12006-01-12 13:30:04 -0800223 help
224 This option adds a `connbytes' match, which allows you to match the
225 number of bytes and/or packets for each direction within a connection.
226
227 If you want to compile it as a module, say M here and read
228 <file:Documentation/modules.txt>. If unsure, say `N'.
229
230config NETFILTER_XT_MATCH_CONNMARK
231 tristate '"connmark" connection mark match support'
232 depends on NETFILTER_XTABLES
Yasuyuki Kozakaideac0cc2006-02-15 15:21:31 -0800233 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
Harald Welte2e4e6a12006-01-12 13:30:04 -0800234 help
235 This option adds a `connmark' match, which allows you to match the
236 connection mark value previously set for the session by `CONNMARK'.
237
238 If you want to compile it as a module, say M here and read
239 <file:Documentation/modules.txt>. The module will be called
240 ipt_connmark.o. If unsure, say `N'.
241
242config NETFILTER_XT_MATCH_CONNTRACK
243 tristate '"conntrack" connection tracking match support'
244 depends on NETFILTER_XTABLES
245 depends on IP_NF_CONNTRACK || NF_CONNTRACK
246 help
247 This is a general conntrack match module, a superset of the state match.
248
249 It allows matching on additional conntrack information, which is
250 useful in complex configurations, such as NAT gateways with multiple
251 internet links or tunnels.
252
253 To compile it as a module, choose M here. If unsure, say N.
254
255config NETFILTER_XT_MATCH_DCCP
256 tristate '"DCCP" protocol match support'
257 depends on NETFILTER_XTABLES
258 help
259 With this option enabled, you will be able to use the iptables
260 `dccp' match in order to match on DCCP source/destination ports
261 and DCCP flags.
262
263 If you want to compile it as a module, say M here and read
264 <file:Documentation/modules.txt>. If unsure, say `N'.
265
Yasuyuki Kozakai9ba16272006-08-22 00:29:37 -0700266config NETFILTER_XT_MATCH_DSCP
267 tristate '"DSCP" match support'
268 depends on NETFILTER_XTABLES
269 help
270 This option adds a `DSCP' match, which allows you to match against
271 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
272
273 The DSCP field can have any value between 0x0 and 0x3f inclusive.
274
275 To compile it as a module, choose M here. If unsure, say N.
276
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -0800277config NETFILTER_XT_MATCH_ESP
278 tristate '"ESP" match support'
279 depends on NETFILTER_XTABLES
280 help
281 This match extension allows you to match a range of SPIs
282 inside ESP header of IPSec packets.
283
284 To compile it as a module, choose M here. If unsure, say N.
285
Harald Welte2e4e6a12006-01-12 13:30:04 -0800286config NETFILTER_XT_MATCH_HELPER
287 tristate '"helper" match support'
288 depends on NETFILTER_XTABLES
289 depends on IP_NF_CONNTRACK || NF_CONNTRACK
290 help
291 Helper matching allows you to match packets in dynamic connections
292 tracked by a conntrack-helper, ie. ip_conntrack_ftp
293
294 To compile it as a module, choose M here. If unsure, say Y.
295
296config NETFILTER_XT_MATCH_LENGTH
297 tristate '"length" match support'
298 depends on NETFILTER_XTABLES
299 help
300 This option allows you to match the length of a packet against a
301 specific value or range of values.
302
303 To compile it as a module, choose M here. If unsure, say N.
304
305config NETFILTER_XT_MATCH_LIMIT
306 tristate '"limit" match support'
307 depends on NETFILTER_XTABLES
308 help
309 limit matching allows you to control the rate at which a rule can be
310 matched: mainly useful in combination with the LOG target ("LOG
311 target support", below) and to avoid some Denial of Service attacks.
312
313 To compile it as a module, choose M here. If unsure, say N.
314
315config NETFILTER_XT_MATCH_MAC
316 tristate '"mac" address match support'
317 depends on NETFILTER_XTABLES
318 help
319 MAC matching allows you to match packets based on the source
320 Ethernet address of the packet.
321
322 To compile it as a module, choose M here. If unsure, say N.
323
324config NETFILTER_XT_MATCH_MARK
325 tristate '"mark" match support'
326 depends on NETFILTER_XTABLES
327 help
328 Netfilter mark matching allows you to match packets based on the
329 `nfmark' value in the packet. This can be set by the MARK target
330 (see below).
331
332 To compile it as a module, choose M here. If unsure, say N.
333
Patrick McHardyc4b88512006-03-20 18:03:40 -0800334config NETFILTER_XT_MATCH_POLICY
335 tristate 'IPsec "policy" match support'
336 depends on NETFILTER_XTABLES && XFRM
337 help
338 Policy matching allows you to match packets based on the
339 IPsec policy that was used during decapsulation/will
340 be used during encapsulation.
341
342 To compile it as a module, choose M here. If unsure, say N.
343
Yasuyuki Kozakaia89ecb62006-04-01 02:22:54 -0800344config NETFILTER_XT_MATCH_MULTIPORT
345 tristate "Multiple port match support"
346 depends on NETFILTER_XTABLES
347 help
348 Multiport matching allows you to match TCP or UDP packets based on
349 a series of source or destination ports: normally a rule can only
350 match a single range of ports.
351
352 To compile it as a module, choose M here. If unsure, say N.
353
Harald Welte2e4e6a12006-01-12 13:30:04 -0800354config NETFILTER_XT_MATCH_PHYSDEV
355 tristate '"physdev" match support'
356 depends on NETFILTER_XTABLES && BRIDGE_NETFILTER
357 help
358 Physdev packet matching matches against the physical bridge ports
359 the IP packet arrived on or will leave by.
360
361 To compile it as a module, choose M here. If unsure, say N.
362
363config NETFILTER_XT_MATCH_PKTTYPE
364 tristate '"pkttype" packet type match support'
365 depends on NETFILTER_XTABLES
366 help
367 Packet type matching allows you to match a packet by
368 its "class", eg. BROADCAST, MULTICAST, ...
369
370 Typical usage:
371 iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
372
373 To compile it as a module, choose M here. If unsure, say N.
374
Patrick McHardy62b77432006-05-29 18:20:32 -0700375config NETFILTER_XT_MATCH_QUOTA
376 tristate '"quota" match support'
377 depends on NETFILTER_XTABLES
378 help
379 This option adds a `quota' match, which allows to match on a
380 byte counter.
381
382 If you want to compile it as a module, say M here and read
383 <file:Documentation/modules.txt>. If unsure, say `N'.
384
Harald Welte2e4e6a12006-01-12 13:30:04 -0800385config NETFILTER_XT_MATCH_REALM
386 tristate '"realm" match support'
387 depends on NETFILTER_XTABLES
388 select NET_CLS_ROUTE
389 help
390 This option adds a `realm' match, which allows you to use the realm
391 key from the routing subsystem inside iptables.
392
393 This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
394 in tc world.
395
396 If you want to compile it as a module, say M here and read
397 <file:Documentation/modules.txt>. If unsure, say `N'.
398
399config NETFILTER_XT_MATCH_SCTP
Patrick McHardyd5af9812006-07-24 22:55:29 -0700400 tristate '"sctp" protocol match support (EXPERIMENTAL)'
401 depends on NETFILTER_XTABLES && EXPERIMENTAL
Harald Welte2e4e6a12006-01-12 13:30:04 -0800402 help
403 With this option enabled, you will be able to use the
404 `sctp' match in order to match on SCTP source/destination ports
405 and SCTP chunk types.
406
407 If you want to compile it as a module, say M here and read
408 <file:Documentation/modules.txt>. If unsure, say `N'.
409
410config NETFILTER_XT_MATCH_STATE
411 tristate '"state" match support'
412 depends on NETFILTER_XTABLES
413 depends on IP_NF_CONNTRACK || NF_CONNTRACK
414 help
415 Connection state matching allows you to match packets based on their
416 relationship to a tracked connection (ie. previous packets). This
417 is a powerful tool for packet classification.
418
419 To compile it as a module, choose M here. If unsure, say N.
420
Patrick McHardyf3389802006-05-29 18:21:00 -0700421config NETFILTER_XT_MATCH_STATISTIC
422 tristate '"statistic" match support'
423 depends on NETFILTER_XTABLES
424 help
Patrick McHardy68c16922006-06-27 03:02:14 -0700425 This option adds a `statistic' match, which allows you to match
426 on packets periodically or randomly with a given percentage.
427
428 To compile it as a module, choose M here. If unsure, say N.
Patrick McHardyf3389802006-05-29 18:21:00 -0700429
Harald Welte2e4e6a12006-01-12 13:30:04 -0800430config NETFILTER_XT_MATCH_STRING
431 tristate '"string" match support'
432 depends on NETFILTER_XTABLES
433 select TEXTSEARCH
434 select TEXTSEARCH_KMP
435 select TEXTSEARCH_BM
436 select TEXTSEARCH_FSM
437 help
438 This option adds a `string' match, which allows you to look for
439 pattern matchings in packets.
440
441 To compile it as a module, choose M here. If unsure, say N.
442
443config NETFILTER_XT_MATCH_TCPMSS
444 tristate '"tcpmss" match support'
445 depends on NETFILTER_XTABLES
446 help
447 This option adds a `tcpmss' match, which allows you to examine the
448 MSS value of TCP SYN packets, which control the maximum packet size
449 for that connection.
450
451 To compile it as a module, choose M here. If unsure, say N.
452
Harald Weltea6c1cd572006-02-13 15:42:48 -0800453endmenu
454