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_EVENTS
64 bool "Connection tracking events (EXPERIMENTAL)"
65 depends on EXPERIMENTAL && NF_CONNTRACK
67 If this option is enabled, the connection tracking code will
68 provide a notifier chain that can be used by other kernel code
69 to get notified about changes in the connection tracking state.
73 config NF_CT_PROTO_SCTP
74 tristate 'SCTP protocol on new connection tracking support (EXPERIMENTAL)'
75 depends on EXPERIMENTAL && NF_CONNTRACK
78 With this option enabled, the layer 3 independent connection
79 tracking code will be able to do state tracking on SCTP connections.
81 If you want to compile it as a module, say M here and read
82 Documentation/modules.txt. If unsure, say `N'.
84 config NF_CONNTRACK_FTP
85 tristate "FTP support on new connection tracking (EXPERIMENTAL)"
86 depends on EXPERIMENTAL && NF_CONNTRACK
88 Tracking FTP connections is problematic: special helpers are
89 required for tracking them, and doing masquerading and other forms
90 of Network Address Translation on them.
92 This is FTP support on Layer 3 independent connection tracking.
93 Layer 3 independent connection tracking is experimental scheme
94 which generalize ip_conntrack to support other layer 3 protocols.
96 To compile it as a module, choose M here. If unsure, say N.
99 tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
100 depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
101 depends on NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
103 This option enables support for a netlink-based userspace interface
105 config NETFILTER_XTABLES
106 tristate "Netfilter Xtables support (required for ip_tables)"
108 This is required if you intend to use any of ip_tables,
109 ip6_tables or arp_tables.
111 # alphabetically ordered list of targets
113 config NETFILTER_XT_TARGET_CLASSIFY
114 tristate '"CLASSIFY" target support'
115 depends on NETFILTER_XTABLES
117 This option adds a `CLASSIFY' target, which enables the user to set
118 the priority of a packet. Some qdiscs can use this value for
119 classification, among these are:
121 atm, cbq, dsmark, pfifo_fast, htb, prio
123 To compile it as a module, choose M here. If unsure, say N.
125 config NETFILTER_XT_TARGET_CONNMARK
126 tristate '"CONNMARK" target support'
127 depends on NETFILTER_XTABLES
128 depends on IP_NF_MANGLE || IP6_NF_MANGLE
129 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
131 This option adds a `CONNMARK' target, which allows one to manipulate
132 the connection mark value. Similar to the MARK target, but
133 affects the connection mark value rather than the packet mark value.
135 If you want to compile it as a module, say M here and read
136 <file:Documentation/modules.txt>. The module will be called
137 ipt_CONNMARK.o. If unsure, say `N'.
139 config NETFILTER_XT_TARGET_MARK
140 tristate '"MARK" target support'
141 depends on NETFILTER_XTABLES
143 This option adds a `MARK' target, which allows you to create rules
144 in the `mangle' table which alter the netfilter mark (nfmark) field
145 associated with the packet prior to routing. This can change
146 the routing method (see `Use netfilter MARK value as routing
147 key') and can also be used by other subsystems to change their
150 To compile it as a module, choose M here. If unsure, say N.
152 config NETFILTER_XT_TARGET_NFQUEUE
153 tristate '"NFQUEUE" target Support'
154 depends on NETFILTER_XTABLES
156 This target replaced the old obsolete QUEUE target.
158 As opposed to QUEUE, it supports 65535 different queues,
161 To compile it as a module, choose M here. If unsure, say N.
163 config NETFILTER_XT_TARGET_NOTRACK
164 tristate '"NOTRACK" target support'
165 depends on NETFILTER_XTABLES
166 depends on IP_NF_RAW || IP6_NF_RAW
167 depends on IP_NF_CONNTRACK || NF_CONNTRACK
169 The NOTRACK target allows a select rule to specify
170 which packets *not* to enter the conntrack/NAT
171 subsystem with all the consequences (no ICMP error tracking,
172 no protocol helpers for the selected packets).
174 If you want to compile it as a module, say M here and read
175 <file:Documentation/modules.txt>. If unsure, say `N'.
177 config NETFILTER_XT_TARGET_SECMARK
178 tristate '"SECMARK" target support'
179 depends on NETFILTER_XTABLES && NETWORK_SECMARK
181 The SECMARK target allows security marking of network
182 packets, for use with security subsystems.
184 To compile it as a module, choose M here. If unsure, say N.
186 config NETFILTER_XT_MATCH_COMMENT
187 tristate '"comment" match support'
188 depends on NETFILTER_XTABLES
190 This option adds a `comment' dummy-match, which allows you to put
191 comments in your iptables ruleset.
193 If you want to compile it as a module, say M here and read
194 <file:Documentation/modules.txt>. If unsure, say `N'.
196 config NETFILTER_XT_MATCH_CONNBYTES
197 tristate '"connbytes" per-connection counter match support'
198 depends on NETFILTER_XTABLES
199 depends on (IP_NF_CONNTRACK && IP_NF_CT_ACCT) || (NF_CT_ACCT && NF_CONNTRACK)
201 This option adds a `connbytes' match, which allows you to match the
202 number of bytes and/or packets for each direction within a connection.
204 If you want to compile it as a module, say M here and read
205 <file:Documentation/modules.txt>. If unsure, say `N'.
207 config NETFILTER_XT_MATCH_CONNMARK
208 tristate '"connmark" connection mark match support'
209 depends on NETFILTER_XTABLES
210 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
212 This option adds a `connmark' match, which allows you to match the
213 connection mark value previously set for the session by `CONNMARK'.
215 If you want to compile it as a module, say M here and read
216 <file:Documentation/modules.txt>. The module will be called
217 ipt_connmark.o. If unsure, say `N'.
219 config NETFILTER_XT_MATCH_CONNTRACK
220 tristate '"conntrack" connection tracking match support'
221 depends on NETFILTER_XTABLES
222 depends on IP_NF_CONNTRACK || NF_CONNTRACK
224 This is a general conntrack match module, a superset of the state match.
226 It allows matching on additional conntrack information, which is
227 useful in complex configurations, such as NAT gateways with multiple
228 internet links or tunnels.
230 To compile it as a module, choose M here. If unsure, say N.
232 config NETFILTER_XT_MATCH_DCCP
233 tristate '"DCCP" protocol match support'
234 depends on NETFILTER_XTABLES
236 With this option enabled, you will be able to use the iptables
237 `dccp' match in order to match on DCCP source/destination ports
240 If you want to compile it as a module, say M here and read
241 <file:Documentation/modules.txt>. If unsure, say `N'.
243 config NETFILTER_XT_MATCH_ESP
244 tristate '"ESP" match support'
245 depends on NETFILTER_XTABLES
247 This match extension allows you to match a range of SPIs
248 inside ESP header of IPSec packets.
250 To compile it as a module, choose M here. If unsure, say N.
252 config NETFILTER_XT_MATCH_HELPER
253 tristate '"helper" match support'
254 depends on NETFILTER_XTABLES
255 depends on IP_NF_CONNTRACK || NF_CONNTRACK
257 Helper matching allows you to match packets in dynamic connections
258 tracked by a conntrack-helper, ie. ip_conntrack_ftp
260 To compile it as a module, choose M here. If unsure, say Y.
262 config NETFILTER_XT_MATCH_LENGTH
263 tristate '"length" match support'
264 depends on NETFILTER_XTABLES
266 This option allows you to match the length of a packet against a
267 specific value or range of values.
269 To compile it as a module, choose M here. If unsure, say N.
271 config NETFILTER_XT_MATCH_LIMIT
272 tristate '"limit" match support'
273 depends on NETFILTER_XTABLES
275 limit matching allows you to control the rate at which a rule can be
276 matched: mainly useful in combination with the LOG target ("LOG
277 target support", below) and to avoid some Denial of Service attacks.
279 To compile it as a module, choose M here. If unsure, say N.
281 config NETFILTER_XT_MATCH_MAC
282 tristate '"mac" address match support'
283 depends on NETFILTER_XTABLES
285 MAC matching allows you to match packets based on the source
286 Ethernet address of the packet.
288 To compile it as a module, choose M here. If unsure, say N.
290 config NETFILTER_XT_MATCH_MARK
291 tristate '"mark" match support'
292 depends on NETFILTER_XTABLES
294 Netfilter mark matching allows you to match packets based on the
295 `nfmark' value in the packet. This can be set by the MARK target
298 To compile it as a module, choose M here. If unsure, say N.
300 config NETFILTER_XT_MATCH_POLICY
301 tristate 'IPsec "policy" match support'
302 depends on NETFILTER_XTABLES && XFRM
304 Policy matching allows you to match packets based on the
305 IPsec policy that was used during decapsulation/will
306 be used during encapsulation.
308 To compile it as a module, choose M here. If unsure, say N.
310 config NETFILTER_XT_MATCH_MULTIPORT
311 tristate "Multiple port match support"
312 depends on NETFILTER_XTABLES
314 Multiport matching allows you to match TCP or UDP packets based on
315 a series of source or destination ports: normally a rule can only
316 match a single range of ports.
318 To compile it as a module, choose M here. If unsure, say N.
320 config NETFILTER_XT_MATCH_PHYSDEV
321 tristate '"physdev" match support'
322 depends on NETFILTER_XTABLES && BRIDGE_NETFILTER
324 Physdev packet matching matches against the physical bridge ports
325 the IP packet arrived on or will leave by.
327 To compile it as a module, choose M here. If unsure, say N.
329 config NETFILTER_XT_MATCH_PKTTYPE
330 tristate '"pkttype" packet type match support'
331 depends on NETFILTER_XTABLES
333 Packet type matching allows you to match a packet by
334 its "class", eg. BROADCAST, MULTICAST, ...
337 iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
339 To compile it as a module, choose M here. If unsure, say N.
341 config NETFILTER_XT_MATCH_QUOTA
342 tristate '"quota" match support'
343 depends on NETFILTER_XTABLES
345 This option adds a `quota' match, which allows to match on a
348 If you want to compile it as a module, say M here and read
349 <file:Documentation/modules.txt>. If unsure, say `N'.
351 config NETFILTER_XT_MATCH_REALM
352 tristate '"realm" match support'
353 depends on NETFILTER_XTABLES
356 This option adds a `realm' match, which allows you to use the realm
357 key from the routing subsystem inside iptables.
359 This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
362 If you want to compile it as a module, say M here and read
363 <file:Documentation/modules.txt>. If unsure, say `N'.
365 config NETFILTER_XT_MATCH_SCTP
366 tristate '"sctp" protocol match support'
367 depends on NETFILTER_XTABLES
369 With this option enabled, you will be able to use the
370 `sctp' match in order to match on SCTP source/destination ports
371 and SCTP chunk types.
373 If you want to compile it as a module, say M here and read
374 <file:Documentation/modules.txt>. If unsure, say `N'.
376 config NETFILTER_XT_MATCH_STATE
377 tristate '"state" match support'
378 depends on NETFILTER_XTABLES
379 depends on IP_NF_CONNTRACK || NF_CONNTRACK
381 Connection state matching allows you to match packets based on their
382 relationship to a tracked connection (ie. previous packets). This
383 is a powerful tool for packet classification.
385 To compile it as a module, choose M here. If unsure, say N.
387 config NETFILTER_XT_MATCH_STATISTIC
388 tristate '"statistic" match support'
389 depends on NETFILTER_XTABLES
393 config NETFILTER_XT_MATCH_STRING
394 tristate '"string" match support'
395 depends on NETFILTER_XTABLES
397 select TEXTSEARCH_KMP
399 select TEXTSEARCH_FSM
401 This option adds a `string' match, which allows you to look for
402 pattern matchings in packets.
404 To compile it as a module, choose M here. If unsure, say N.
406 config NETFILTER_XT_MATCH_TCPMSS
407 tristate '"tcpmss" match support'
408 depends on NETFILTER_XTABLES
410 This option adds a `tcpmss' match, which allows you to examine the
411 MSS value of TCP SYN packets, which control the maximum packet size
414 To compile it as a module, choose M here. If unsure, say N.