blob: f619c6527266255427cacff4c0acb89025c82755 [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
Yasuyuki Kozakaia4687012006-08-22 00:30:26 -0700151config NETFILTER_XT_TARGET_DSCP
152 tristate '"DSCP" target support'
153 depends on NETFILTER_XTABLES
154 depends on IP_NF_MANGLE || IP6_NF_MANGLE
155 help
156 This option adds a `DSCP' target, which allows you to manipulate
157 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
158
159 The DSCP field can have any value between 0x0 and 0x3f inclusive.
160
161 To compile it as a module, choose M here. If unsure, say N.
162
Harald Welte2e4e6a12006-01-12 13:30:04 -0800163config NETFILTER_XT_TARGET_MARK
164 tristate '"MARK" target support'
165 depends on NETFILTER_XTABLES
166 help
167 This option adds a `MARK' target, which allows you to create rules
168 in the `mangle' table which alter the netfilter mark (nfmark) field
169 associated with the packet prior to routing. This can change
170 the routing method (see `Use netfilter MARK value as routing
171 key') and can also be used by other subsystems to change their
172 behavior.
173
174 To compile it as a module, choose M here. If unsure, say N.
175
176config NETFILTER_XT_TARGET_NFQUEUE
177 tristate '"NFQUEUE" target Support'
178 depends on NETFILTER_XTABLES
179 help
Thomas Vögtle50b521a2006-03-22 13:53:48 -0800180 This target replaced the old obsolete QUEUE target.
Harald Welte2e4e6a12006-01-12 13:30:04 -0800181
182 As opposed to QUEUE, it supports 65535 different queues,
183 not just one.
184
185 To compile it as a module, choose M here. If unsure, say N.
186
187config NETFILTER_XT_TARGET_NOTRACK
188 tristate '"NOTRACK" target support'
189 depends on NETFILTER_XTABLES
190 depends on IP_NF_RAW || IP6_NF_RAW
191 depends on IP_NF_CONNTRACK || NF_CONNTRACK
192 help
193 The NOTRACK target allows a select rule to specify
194 which packets *not* to enter the conntrack/NAT
195 subsystem with all the consequences (no ICMP error tracking,
196 no protocol helpers for the selected packets).
197
198 If you want to compile it as a module, say M here and read
199 <file:Documentation/modules.txt>. If unsure, say `N'.
200
James Morris5e6874c2006-06-09 00:30:57 -0700201config NETFILTER_XT_TARGET_SECMARK
202 tristate '"SECMARK" target support'
203 depends on NETFILTER_XTABLES && NETWORK_SECMARK
204 help
205 The SECMARK target allows security marking of network
206 packets, for use with security subsystems.
207
208 To compile it as a module, choose M here. If unsure, say N.
209
James Morris100468e2006-06-09 00:32:39 -0700210config NETFILTER_XT_TARGET_CONNSECMARK
211 tristate '"CONNSECMARK" target support'
Patrick McHardyc08de5d2006-10-12 14:08:41 -0700212 depends on NETFILTER_XTABLES && \
213 ((NF_CONNTRACK && NF_CONNTRACK_SECMARK) || \
214 (IP_NF_CONNTRACK && IP_NF_CONNTRACK_SECMARK))
James Morris100468e2006-06-09 00:32:39 -0700215 help
216 The CONNSECMARK target copies security markings from packets
217 to connections, and restores security markings from connections
218 to packets (if the packets are not already marked). This would
219 normally be used in conjunction with the SECMARK target.
220
221 To compile it as a module, choose M here. If unsure, say N.
222
Harald Welte2e4e6a12006-01-12 13:30:04 -0800223config NETFILTER_XT_MATCH_COMMENT
224 tristate '"comment" match support'
225 depends on NETFILTER_XTABLES
226 help
227 This option adds a `comment' dummy-match, which allows you to put
228 comments in your iptables ruleset.
229
230 If you want to compile it as a module, say M here and read
231 <file:Documentation/modules.txt>. If unsure, say `N'.
232
233config NETFILTER_XT_MATCH_CONNBYTES
234 tristate '"connbytes" per-connection counter match support'
235 depends on NETFILTER_XTABLES
Yasuyuki Kozakaideac0cc2006-02-15 15:21:31 -0800236 depends on (IP_NF_CONNTRACK && IP_NF_CT_ACCT) || (NF_CT_ACCT && NF_CONNTRACK)
Harald Welte2e4e6a12006-01-12 13:30:04 -0800237 help
238 This option adds a `connbytes' match, which allows you to match the
239 number of bytes and/or packets for each direction within a connection.
240
241 If you want to compile it as a module, say M here and read
242 <file:Documentation/modules.txt>. If unsure, say `N'.
243
244config NETFILTER_XT_MATCH_CONNMARK
245 tristate '"connmark" connection mark match support'
246 depends on NETFILTER_XTABLES
Yasuyuki Kozakaideac0cc2006-02-15 15:21:31 -0800247 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
Harald Welte2e4e6a12006-01-12 13:30:04 -0800248 help
249 This option adds a `connmark' match, which allows you to match the
250 connection mark value previously set for the session by `CONNMARK'.
251
252 If you want to compile it as a module, say M here and read
253 <file:Documentation/modules.txt>. The module will be called
254 ipt_connmark.o. If unsure, say `N'.
255
256config NETFILTER_XT_MATCH_CONNTRACK
257 tristate '"conntrack" connection tracking match support'
258 depends on NETFILTER_XTABLES
259 depends on IP_NF_CONNTRACK || NF_CONNTRACK
260 help
261 This is a general conntrack match module, a superset of the state match.
262
263 It allows matching on additional conntrack information, which is
264 useful in complex configurations, such as NAT gateways with multiple
265 internet links or tunnels.
266
267 To compile it as a module, choose M here. If unsure, say N.
268
269config NETFILTER_XT_MATCH_DCCP
270 tristate '"DCCP" protocol match support'
271 depends on NETFILTER_XTABLES
272 help
273 With this option enabled, you will be able to use the iptables
274 `dccp' match in order to match on DCCP source/destination ports
275 and DCCP flags.
276
277 If you want to compile it as a module, say M here and read
278 <file:Documentation/modules.txt>. If unsure, say `N'.
279
Yasuyuki Kozakai9ba16272006-08-22 00:29:37 -0700280config NETFILTER_XT_MATCH_DSCP
281 tristate '"DSCP" match support'
282 depends on NETFILTER_XTABLES
283 help
284 This option adds a `DSCP' match, which allows you to match against
285 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
286
287 The DSCP field can have any value between 0x0 and 0x3f inclusive.
288
289 To compile it as a module, choose M here. If unsure, say N.
290
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -0800291config NETFILTER_XT_MATCH_ESP
292 tristate '"ESP" match support'
293 depends on NETFILTER_XTABLES
294 help
295 This match extension allows you to match a range of SPIs
296 inside ESP header of IPSec packets.
297
298 To compile it as a module, choose M here. If unsure, say N.
299
Harald Welte2e4e6a12006-01-12 13:30:04 -0800300config NETFILTER_XT_MATCH_HELPER
301 tristate '"helper" match support'
302 depends on NETFILTER_XTABLES
303 depends on IP_NF_CONNTRACK || NF_CONNTRACK
304 help
305 Helper matching allows you to match packets in dynamic connections
306 tracked by a conntrack-helper, ie. ip_conntrack_ftp
307
308 To compile it as a module, choose M here. If unsure, say Y.
309
310config NETFILTER_XT_MATCH_LENGTH
311 tristate '"length" match support'
312 depends on NETFILTER_XTABLES
313 help
314 This option allows you to match the length of a packet against a
315 specific value or range of values.
316
317 To compile it as a module, choose M here. If unsure, say N.
318
319config NETFILTER_XT_MATCH_LIMIT
320 tristate '"limit" match support'
321 depends on NETFILTER_XTABLES
322 help
323 limit matching allows you to control the rate at which a rule can be
324 matched: mainly useful in combination with the LOG target ("LOG
325 target support", below) and to avoid some Denial of Service attacks.
326
327 To compile it as a module, choose M here. If unsure, say N.
328
329config NETFILTER_XT_MATCH_MAC
330 tristate '"mac" address match support'
331 depends on NETFILTER_XTABLES
332 help
333 MAC matching allows you to match packets based on the source
334 Ethernet address of the packet.
335
336 To compile it as a module, choose M here. If unsure, say N.
337
338config NETFILTER_XT_MATCH_MARK
339 tristate '"mark" match support'
340 depends on NETFILTER_XTABLES
341 help
342 Netfilter mark matching allows you to match packets based on the
343 `nfmark' value in the packet. This can be set by the MARK target
344 (see below).
345
346 To compile it as a module, choose M here. If unsure, say N.
347
Patrick McHardyc4b88512006-03-20 18:03:40 -0800348config NETFILTER_XT_MATCH_POLICY
349 tristate 'IPsec "policy" match support'
350 depends on NETFILTER_XTABLES && XFRM
351 help
352 Policy matching allows you to match packets based on the
353 IPsec policy that was used during decapsulation/will
354 be used during encapsulation.
355
356 To compile it as a module, choose M here. If unsure, say N.
357
Yasuyuki Kozakaia89ecb62006-04-01 02:22:54 -0800358config NETFILTER_XT_MATCH_MULTIPORT
359 tristate "Multiple port match support"
360 depends on NETFILTER_XTABLES
361 help
362 Multiport matching allows you to match TCP or UDP packets based on
363 a series of source or destination ports: normally a rule can only
364 match a single range of ports.
365
366 To compile it as a module, choose M here. If unsure, say N.
367
Harald Welte2e4e6a12006-01-12 13:30:04 -0800368config NETFILTER_XT_MATCH_PHYSDEV
369 tristate '"physdev" match support'
Patrick McHardyf1da7062006-10-02 16:10:47 -0700370 depends on NETFILTER_XTABLES && BRIDGE && BRIDGE_NETFILTER
Harald Welte2e4e6a12006-01-12 13:30:04 -0800371 help
372 Physdev packet matching matches against the physical bridge ports
373 the IP packet arrived on or will leave by.
374
375 To compile it as a module, choose M here. If unsure, say N.
376
377config NETFILTER_XT_MATCH_PKTTYPE
378 tristate '"pkttype" packet type match support'
379 depends on NETFILTER_XTABLES
380 help
381 Packet type matching allows you to match a packet by
382 its "class", eg. BROADCAST, MULTICAST, ...
383
384 Typical usage:
385 iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
386
387 To compile it as a module, choose M here. If unsure, say N.
388
Patrick McHardy62b77432006-05-29 18:20:32 -0700389config NETFILTER_XT_MATCH_QUOTA
390 tristate '"quota" match support'
391 depends on NETFILTER_XTABLES
392 help
393 This option adds a `quota' match, which allows to match on a
394 byte counter.
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
Harald Welte2e4e6a12006-01-12 13:30:04 -0800399config NETFILTER_XT_MATCH_REALM
400 tristate '"realm" match support'
401 depends on NETFILTER_XTABLES
402 select NET_CLS_ROUTE
403 help
404 This option adds a `realm' match, which allows you to use the realm
405 key from the routing subsystem inside iptables.
406
407 This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
408 in tc world.
409
410 If you want to compile it as a module, say M here and read
411 <file:Documentation/modules.txt>. If unsure, say `N'.
412
413config NETFILTER_XT_MATCH_SCTP
Patrick McHardyd5af9812006-07-24 22:55:29 -0700414 tristate '"sctp" protocol match support (EXPERIMENTAL)'
415 depends on NETFILTER_XTABLES && EXPERIMENTAL
Harald Welte2e4e6a12006-01-12 13:30:04 -0800416 help
417 With this option enabled, you will be able to use the
418 `sctp' match in order to match on SCTP source/destination ports
419 and SCTP chunk types.
420
421 If you want to compile it as a module, say M here and read
422 <file:Documentation/modules.txt>. If unsure, say `N'.
423
424config NETFILTER_XT_MATCH_STATE
425 tristate '"state" match support'
426 depends on NETFILTER_XTABLES
427 depends on IP_NF_CONNTRACK || NF_CONNTRACK
428 help
429 Connection state matching allows you to match packets based on their
430 relationship to a tracked connection (ie. previous packets). This
431 is a powerful tool for packet classification.
432
433 To compile it as a module, choose M here. If unsure, say N.
434
Patrick McHardyf3389802006-05-29 18:21:00 -0700435config NETFILTER_XT_MATCH_STATISTIC
436 tristate '"statistic" match support'
437 depends on NETFILTER_XTABLES
438 help
Patrick McHardy68c16922006-06-27 03:02:14 -0700439 This option adds a `statistic' match, which allows you to match
440 on packets periodically or randomly with a given percentage.
441
442 To compile it as a module, choose M here. If unsure, say N.
Patrick McHardyf3389802006-05-29 18:21:00 -0700443
Harald Welte2e4e6a12006-01-12 13:30:04 -0800444config NETFILTER_XT_MATCH_STRING
445 tristate '"string" match support'
446 depends on NETFILTER_XTABLES
447 select TEXTSEARCH
448 select TEXTSEARCH_KMP
449 select TEXTSEARCH_BM
450 select TEXTSEARCH_FSM
451 help
452 This option adds a `string' match, which allows you to look for
453 pattern matchings in packets.
454
455 To compile it as a module, choose M here. If unsure, say N.
456
457config NETFILTER_XT_MATCH_TCPMSS
458 tristate '"tcpmss" match support'
459 depends on NETFILTER_XTABLES
460 help
461 This option adds a `tcpmss' match, which allows you to examine the
462 MSS value of TCP SYN packets, which control the maximum packet size
463 for that connection.
464
465 To compile it as a module, choose M here. If unsure, say N.
466
Harald Weltea6c1cd52006-02-13 15:42:48 -0800467endmenu
468