1 menu "Core Netfilter Configuration"
2 depends on NET && NETFILTER
4 config NETFILTER_NETLINK
5 tristate "Netfilter netlink interface"
7 If this option is enabled, the kernel will include support
8 for the new netfilter netlink interface.
10 config NETFILTER_NETLINK_QUEUE
11 tristate "Netfilter NFQUEUE over NFNETLINK interface"
12 depends on NETFILTER_NETLINK
14 If this option is enabled, the kernel will include support
15 for queueing packets via NFNETLINK.
17 config NETFILTER_NETLINK_LOG
18 tristate "Netfilter LOG over NFNETLINK interface"
19 depends on NETFILTER_NETLINK
21 If this option is enabled, the kernel will include support
22 for logging packets via NFNETLINK.
24 This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
25 and is also scheduled to replace the old syslog-based ipt_LOG
29 tristate "Layer 3 Independent Connection tracking (EXPERIMENTAL)"
30 depends on EXPERIMENTAL && IP_NF_CONNTRACK=n
33 Connection tracking keeps a record of what packets have passed
34 through your machine, in order to figure out how they are related
37 Layer 3 independent connection tracking is experimental scheme
38 which generalize ip_conntrack to support other layer 3 protocols.
40 To compile it as a module, choose M here. If unsure, say N.
43 bool "Connection tracking flow accounting"
44 depends on NF_CONNTRACK
46 If this option is enabled, the connection tracking code will
47 keep per-flow packet and byte counters.
49 Those counters can be used for flow-based accounting or the
54 config NF_CONNTRACK_MARK
55 bool 'Connection mark tracking support'
56 depends on NF_CONNTRACK
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.
63 config NF_CONNTRACK_SECMARK
64 bool 'Connection tracking security mark support'
65 depends on NF_CONNTRACK && NETWORK_SECMARK
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.
75 config NF_CONNTRACK_EVENTS
76 bool "Connection tracking events (EXPERIMENTAL)"
77 depends on EXPERIMENTAL && NF_CONNTRACK
79 If this option is enabled, the connection tracking code will
80 provide a notifier chain that can be used by other kernel code
81 to get notified about changes in the connection tracking state.
85 config NF_CT_PROTO_SCTP
86 tristate 'SCTP protocol on new connection tracking support (EXPERIMENTAL)'
87 depends on EXPERIMENTAL && NF_CONNTRACK
90 With this option enabled, the layer 3 independent connection
91 tracking code will be able to do state tracking on SCTP connections.
93 If you want to compile it as a module, say M here and read
94 Documentation/modules.txt. If unsure, say `N'.
96 config NF_CONNTRACK_FTP
97 tristate "FTP support on new connection tracking (EXPERIMENTAL)"
98 depends on EXPERIMENTAL && NF_CONNTRACK
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.
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.
108 To compile it as a module, choose M here. If unsure, say N.
111 tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
112 depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
113 depends on NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
115 This option enables support for a netlink-based userspace interface
117 config NETFILTER_XTABLES
118 tristate "Netfilter Xtables support (required for ip_tables)"
120 This is required if you intend to use any of ip_tables,
121 ip6_tables or arp_tables.
123 # alphabetically ordered list of targets
125 config NETFILTER_XT_TARGET_CLASSIFY
126 tristate '"CLASSIFY" target support'
127 depends on NETFILTER_XTABLES
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:
133 atm, cbq, dsmark, pfifo_fast, htb, prio
135 To compile it as a module, choose M here. If unsure, say N.
137 config NETFILTER_XT_TARGET_CONNMARK
138 tristate '"CONNMARK" target support'
139 depends on NETFILTER_XTABLES
140 depends on IP_NF_MANGLE || IP6_NF_MANGLE
141 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
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.
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'.
151 config NETFILTER_XT_TARGET_DSCP
152 tristate '"DSCP" target support'
153 depends on NETFILTER_XTABLES
154 depends on IP_NF_MANGLE || IP6_NF_MANGLE
156 This option adds a `DSCP' target, which allows you to manipulate
157 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
159 The DSCP field can have any value between 0x0 and 0x3f inclusive.
161 To compile it as a module, choose M here. If unsure, say N.
163 config NETFILTER_XT_TARGET_MARK
164 tristate '"MARK" target support'
165 depends on NETFILTER_XTABLES
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
174 To compile it as a module, choose M here. If unsure, say N.
176 config NETFILTER_XT_TARGET_NFQUEUE
177 tristate '"NFQUEUE" target Support'
178 depends on NETFILTER_XTABLES
180 This target replaced the old obsolete QUEUE target.
182 As opposed to QUEUE, it supports 65535 different queues,
185 To compile it as a module, choose M here. If unsure, say N.
187 config NETFILTER_XT_TARGET_NFLOG
188 tristate '"NFLOG" target support'
189 depends on NETFILTER_XTABLES
191 This option enables the NFLOG target, which allows to LOG
192 messages through the netfilter logging API, which can use
193 either the old LOG target, the old ULOG target or nfnetlink_log
196 To compile it as a module, choose M here. If unsure, say N.
198 config NETFILTER_XT_TARGET_NOTRACK
199 tristate '"NOTRACK" target support'
200 depends on NETFILTER_XTABLES
201 depends on IP_NF_RAW || IP6_NF_RAW
202 depends on IP_NF_CONNTRACK || NF_CONNTRACK
204 The NOTRACK target allows a select rule to specify
205 which packets *not* to enter the conntrack/NAT
206 subsystem with all the consequences (no ICMP error tracking,
207 no protocol helpers for the selected packets).
209 If you want to compile it as a module, say M here and read
210 <file:Documentation/modules.txt>. If unsure, say `N'.
212 config NETFILTER_XT_TARGET_SECMARK
213 tristate '"SECMARK" target support'
214 depends on NETFILTER_XTABLES && NETWORK_SECMARK
216 The SECMARK target allows security marking of network
217 packets, for use with security subsystems.
219 To compile it as a module, choose M here. If unsure, say N.
221 config NETFILTER_XT_TARGET_CONNSECMARK
222 tristate '"CONNSECMARK" target support'
223 depends on NETFILTER_XTABLES && \
224 ((NF_CONNTRACK && NF_CONNTRACK_SECMARK) || \
225 (IP_NF_CONNTRACK && IP_NF_CONNTRACK_SECMARK))
227 The CONNSECMARK target copies security markings from packets
228 to connections, and restores security markings from connections
229 to packets (if the packets are not already marked). This would
230 normally be used in conjunction with the SECMARK target.
232 To compile it as a module, choose M here. If unsure, say N.
234 config NETFILTER_XT_MATCH_COMMENT
235 tristate '"comment" match support'
236 depends on NETFILTER_XTABLES
238 This option adds a `comment' dummy-match, which allows you to put
239 comments in your iptables ruleset.
241 If you want to compile it as a module, say M here and read
242 <file:Documentation/modules.txt>. If unsure, say `N'.
244 config NETFILTER_XT_MATCH_CONNBYTES
245 tristate '"connbytes" per-connection counter match support'
246 depends on NETFILTER_XTABLES
247 depends on (IP_NF_CONNTRACK && IP_NF_CT_ACCT) || (NF_CT_ACCT && NF_CONNTRACK)
249 This option adds a `connbytes' match, which allows you to match the
250 number of bytes and/or packets for each direction within a connection.
252 If you want to compile it as a module, say M here and read
253 <file:Documentation/modules.txt>. If unsure, say `N'.
255 config NETFILTER_XT_MATCH_CONNMARK
256 tristate '"connmark" connection mark match support'
257 depends on NETFILTER_XTABLES
258 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
260 This option adds a `connmark' match, which allows you to match the
261 connection mark value previously set for the session by `CONNMARK'.
263 If you want to compile it as a module, say M here and read
264 <file:Documentation/modules.txt>. The module will be called
265 ipt_connmark.o. If unsure, say `N'.
267 config NETFILTER_XT_MATCH_CONNTRACK
268 tristate '"conntrack" connection tracking match support'
269 depends on NETFILTER_XTABLES
270 depends on IP_NF_CONNTRACK || NF_CONNTRACK
272 This is a general conntrack match module, a superset of the state match.
274 It allows matching on additional conntrack information, which is
275 useful in complex configurations, such as NAT gateways with multiple
276 internet links or tunnels.
278 To compile it as a module, choose M here. If unsure, say N.
280 config NETFILTER_XT_MATCH_DCCP
281 tristate '"DCCP" protocol match support'
282 depends on NETFILTER_XTABLES
284 With this option enabled, you will be able to use the iptables
285 `dccp' match in order to match on DCCP source/destination ports
288 If you want to compile it as a module, say M here and read
289 <file:Documentation/modules.txt>. If unsure, say `N'.
291 config NETFILTER_XT_MATCH_DSCP
292 tristate '"DSCP" match support'
293 depends on NETFILTER_XTABLES
295 This option adds a `DSCP' match, which allows you to match against
296 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
298 The DSCP field can have any value between 0x0 and 0x3f inclusive.
300 To compile it as a module, choose M here. If unsure, say N.
302 config NETFILTER_XT_MATCH_ESP
303 tristate '"ESP" match support'
304 depends on NETFILTER_XTABLES
306 This match extension allows you to match a range of SPIs
307 inside ESP header of IPSec packets.
309 To compile it as a module, choose M here. If unsure, say N.
311 config NETFILTER_XT_MATCH_HELPER
312 tristate '"helper" match support'
313 depends on NETFILTER_XTABLES
314 depends on IP_NF_CONNTRACK || NF_CONNTRACK
316 Helper matching allows you to match packets in dynamic connections
317 tracked by a conntrack-helper, ie. ip_conntrack_ftp
319 To compile it as a module, choose M here. If unsure, say Y.
321 config NETFILTER_XT_MATCH_LENGTH
322 tristate '"length" match support'
323 depends on NETFILTER_XTABLES
325 This option allows you to match the length of a packet against a
326 specific value or range of values.
328 To compile it as a module, choose M here. If unsure, say N.
330 config NETFILTER_XT_MATCH_LIMIT
331 tristate '"limit" match support'
332 depends on NETFILTER_XTABLES
334 limit matching allows you to control the rate at which a rule can be
335 matched: mainly useful in combination with the LOG target ("LOG
336 target support", below) and to avoid some Denial of Service attacks.
338 To compile it as a module, choose M here. If unsure, say N.
340 config NETFILTER_XT_MATCH_MAC
341 tristate '"mac" address match support'
342 depends on NETFILTER_XTABLES
344 MAC matching allows you to match packets based on the source
345 Ethernet address of the packet.
347 To compile it as a module, choose M here. If unsure, say N.
349 config NETFILTER_XT_MATCH_MARK
350 tristate '"mark" match support'
351 depends on NETFILTER_XTABLES
353 Netfilter mark matching allows you to match packets based on the
354 `nfmark' value in the packet. This can be set by the MARK target
357 To compile it as a module, choose M here. If unsure, say N.
359 config NETFILTER_XT_MATCH_POLICY
360 tristate 'IPsec "policy" match support'
361 depends on NETFILTER_XTABLES && XFRM
363 Policy matching allows you to match packets based on the
364 IPsec policy that was used during decapsulation/will
365 be used during encapsulation.
367 To compile it as a module, choose M here. If unsure, say N.
369 config NETFILTER_XT_MATCH_MULTIPORT
370 tristate "Multiple port match support"
371 depends on NETFILTER_XTABLES
373 Multiport matching allows you to match TCP or UDP packets based on
374 a series of source or destination ports: normally a rule can only
375 match a single range of ports.
377 To compile it as a module, choose M here. If unsure, say N.
379 config NETFILTER_XT_MATCH_PHYSDEV
380 tristate '"physdev" match support'
381 depends on NETFILTER_XTABLES && BRIDGE && BRIDGE_NETFILTER
383 Physdev packet matching matches against the physical bridge ports
384 the IP packet arrived on or will leave by.
386 To compile it as a module, choose M here. If unsure, say N.
388 config NETFILTER_XT_MATCH_PKTTYPE
389 tristate '"pkttype" packet type match support'
390 depends on NETFILTER_XTABLES
392 Packet type matching allows you to match a packet by
393 its "class", eg. BROADCAST, MULTICAST, ...
396 iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
398 To compile it as a module, choose M here. If unsure, say N.
400 config NETFILTER_XT_MATCH_QUOTA
401 tristate '"quota" match support'
402 depends on NETFILTER_XTABLES
404 This option adds a `quota' match, which allows to match on a
407 If you want to compile it as a module, say M here and read
408 <file:Documentation/modules.txt>. If unsure, say `N'.
410 config NETFILTER_XT_MATCH_REALM
411 tristate '"realm" match support'
412 depends on NETFILTER_XTABLES
415 This option adds a `realm' match, which allows you to use the realm
416 key from the routing subsystem inside iptables.
418 This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
421 If you want to compile it as a module, say M here and read
422 <file:Documentation/modules.txt>. If unsure, say `N'.
424 config NETFILTER_XT_MATCH_SCTP
425 tristate '"sctp" protocol match support (EXPERIMENTAL)'
426 depends on NETFILTER_XTABLES && EXPERIMENTAL
428 With this option enabled, you will be able to use the
429 `sctp' match in order to match on SCTP source/destination ports
430 and SCTP chunk types.
432 If you want to compile it as a module, say M here and read
433 <file:Documentation/modules.txt>. If unsure, say `N'.
435 config NETFILTER_XT_MATCH_STATE
436 tristate '"state" match support'
437 depends on NETFILTER_XTABLES
438 depends on IP_NF_CONNTRACK || NF_CONNTRACK
440 Connection state matching allows you to match packets based on their
441 relationship to a tracked connection (ie. previous packets). This
442 is a powerful tool for packet classification.
444 To compile it as a module, choose M here. If unsure, say N.
446 config NETFILTER_XT_MATCH_STATISTIC
447 tristate '"statistic" match support'
448 depends on NETFILTER_XTABLES
450 This option adds a `statistic' match, which allows you to match
451 on packets periodically or randomly with a given percentage.
453 To compile it as a module, choose M here. If unsure, say N.
455 config NETFILTER_XT_MATCH_STRING
456 tristate '"string" match support'
457 depends on NETFILTER_XTABLES
459 select TEXTSEARCH_KMP
461 select TEXTSEARCH_FSM
463 This option adds a `string' match, which allows you to look for
464 pattern matchings in packets.
466 To compile it as a module, choose M here. If unsure, say N.
468 config NETFILTER_XT_MATCH_TCPMSS
469 tristate '"tcpmss" match support'
470 depends on NETFILTER_XTABLES
472 This option adds a `tcpmss' match, which allows you to examine the
473 MSS value of TCP SYN packets, which control the maximum packet size
476 To compile it as a module, choose M here. If unsure, say N.
478 config NETFILTER_XT_MATCH_HASHLIMIT
479 tristate '"hashlimit" match support'
480 depends on NETFILTER_XTABLES
482 This option adds a `hashlimit' match.
484 As opposed to `limit', this match dynamically creates a hash table
485 of limit buckets, based on your selection of source/destination
486 addresses and/or ports.
488 It enables you to express policies like `10kpps for any given
489 destination address' or `500pps from any given source address'