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
28 config NF_CONNTRACK_ENABLED
29 tristate "Netfilter connection tracking support"
31 Connection tracking keeps a record of what packets have passed
32 through your machine, in order to figure out how they are related
35 This is required to do Masquerading or other kinds of Network
36 Address Translation (except for Fast NAT). It can also be used to
37 enhance packet filtering (see `Connection state match support'
40 To compile it as a module, choose M here. If unsure, say N.
43 prompt "Netfilter connection tracking support"
44 depends on NF_CONNTRACK_ENABLED
46 config NF_CONNTRACK_SUPPORT
47 bool "Layer 3 Independent Connection tracking (EXPERIMENTAL)"
48 depends on EXPERIMENTAL
50 Layer 3 independent connection tracking is experimental scheme
51 which generalize ip_conntrack to support other layer 3 protocols.
53 This is required to do Masquerading or other kinds of Network
54 Address Translation (except for Fast NAT). It can also be used to
55 enhance packet filtering (see `Connection state match support'
58 config IP_NF_CONNTRACK_SUPPORT
59 bool "Layer 3 Dependent Connection tracking"
61 The old, Layer 3 dependent ip_conntrack subsystem of netfilter.
63 This is required to do Masquerading or other kinds of Network
64 Address Translation (except for Fast NAT). It can also be used to
65 enhance packet filtering (see `Connection state match support'
72 default m if NF_CONNTRACK_SUPPORT && NF_CONNTRACK_ENABLED=m
73 default y if NF_CONNTRACK_SUPPORT && NF_CONNTRACK_ENABLED=y
75 config IP_NF_CONNTRACK
77 default m if IP_NF_CONNTRACK_SUPPORT && NF_CONNTRACK_ENABLED=m
78 default y if IP_NF_CONNTRACK_SUPPORT && NF_CONNTRACK_ENABLED=y
81 bool "Connection tracking flow accounting"
82 depends on NF_CONNTRACK
84 If this option is enabled, the connection tracking code will
85 keep per-flow packet and byte counters.
87 Those counters can be used for flow-based accounting or the
92 config NF_CONNTRACK_MARK
93 bool 'Connection mark tracking support'
94 depends on NF_CONNTRACK
96 This option enables support for connection marks, used by the
97 `CONNMARK' target and `connmark' match. Similar to the mark value
98 of packets, but this mark value is kept in the conntrack session
99 instead of the individual packets.
101 config NF_CONNTRACK_SECMARK
102 bool 'Connection tracking security mark support'
103 depends on NF_CONNTRACK && NETWORK_SECMARK
105 This option enables security markings to be applied to
106 connections. Typically they are copied to connections from
107 packets using the CONNSECMARK target and copied back from
108 connections to packets with the same target, with the packets
109 being originally labeled via SECMARK.
113 config NF_CONNTRACK_EVENTS
114 bool "Connection tracking events (EXPERIMENTAL)"
115 depends on EXPERIMENTAL && NF_CONNTRACK
117 If this option is enabled, the connection tracking code will
118 provide a notifier chain that can be used by other kernel code
119 to get notified about changes in the connection tracking state.
123 config NF_CT_PROTO_SCTP
124 tristate 'SCTP protocol on new connection tracking support (EXPERIMENTAL)'
125 depends on EXPERIMENTAL && NF_CONNTRACK
128 With this option enabled, the layer 3 independent connection
129 tracking code will be able to do state tracking on SCTP connections.
131 If you want to compile it as a module, say M here and read
132 Documentation/modules.txt. If unsure, say `N'.
134 config NF_CONNTRACK_AMANDA
135 tristate "Amanda backup protocol support (EXPERIMENTAL)"
136 depends on EXPERIMENTAL && NF_CONNTRACK
138 select TEXTSEARCH_KMP
140 If you are running the Amanda backup package <http://www.amanda.org/>
141 on this machine or machines that will be MASQUERADED through this
142 machine, then you may want to enable this feature. This allows the
143 connection tracking and natting code to allow the sub-channels that
144 Amanda requires for communication of the backup data, messages and
147 To compile it as a module, choose M here. If unsure, say N.
149 config NF_CONNTRACK_FTP
150 tristate "FTP support on new connection tracking (EXPERIMENTAL)"
151 depends on EXPERIMENTAL && NF_CONNTRACK
153 Tracking FTP connections is problematic: special helpers are
154 required for tracking them, and doing masquerading and other forms
155 of Network Address Translation on them.
157 This is FTP support on Layer 3 independent connection tracking.
158 Layer 3 independent connection tracking is experimental scheme
159 which generalize ip_conntrack to support other layer 3 protocols.
161 To compile it as a module, choose M here. If unsure, say N.
163 config NF_CONNTRACK_H323
164 tristate "H.323 protocol support (EXPERIMENTAL)"
165 depends on EXPERIMENTAL && NF_CONNTRACK
167 H.323 is a VoIP signalling protocol from ITU-T. As one of the most
168 important VoIP protocols, it is widely used by voice hardware and
169 software including voice gateways, IP phones, Netmeeting, OpenPhone,
172 With this module you can support H.323 on a connection tracking/NAT
175 This module supports RAS, Fast Start, H.245 Tunnelling, Call
176 Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
177 whiteboard, file transfer, etc. For more information, please
178 visit http://nath323.sourceforge.net/.
180 To compile it as a module, choose M here. If unsure, say N.
182 config NF_CONNTRACK_IRC
183 tristate "IRC protocol support (EXPERIMENTAL)"
184 depends on EXPERIMENTAL && NF_CONNTRACK
186 There is a commonly-used extension to IRC called
187 Direct Client-to-Client Protocol (DCC). This enables users to send
188 files to each other, and also chat to each other without the need
189 of a server. DCC Sending is used anywhere you send files over IRC,
190 and DCC Chat is most commonly used by Eggdrop bots. If you are
191 using NAT, this extension will enable you to send files and initiate
192 chats. Note that you do NOT need this extension to get files or
193 have others initiate chats, or everything else in IRC.
195 To compile it as a module, choose M here. If unsure, say N.
197 config NF_CONNTRACK_NETBIOS_NS
198 tristate "NetBIOS name service protocol support (EXPERIMENTAL)"
199 depends on EXPERIMENTAL && NF_CONNTRACK
201 NetBIOS name service requests are sent as broadcast messages from an
202 unprivileged port and responded to with unicast messages to the
203 same port. This make them hard to firewall properly because connection
204 tracking doesn't deal with broadcasts. This helper tracks locally
205 originating NetBIOS name service requests and the corresponding
206 responses. It relies on correct IP address configuration, specifically
207 netmask and broadcast address. When properly configured, the output
208 of "ip address show" should look similar to this:
210 $ ip -4 address show eth0
211 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
212 inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
214 To compile it as a module, choose M here. If unsure, say N.
217 tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
218 depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
219 depends on NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
221 This option enables support for a netlink-based userspace interface
223 config NETFILTER_XTABLES
224 tristate "Netfilter Xtables support (required for ip_tables)"
226 This is required if you intend to use any of ip_tables,
227 ip6_tables or arp_tables.
229 # alphabetically ordered list of targets
231 config NETFILTER_XT_TARGET_CLASSIFY
232 tristate '"CLASSIFY" target support'
233 depends on NETFILTER_XTABLES
235 This option adds a `CLASSIFY' target, which enables the user to set
236 the priority of a packet. Some qdiscs can use this value for
237 classification, among these are:
239 atm, cbq, dsmark, pfifo_fast, htb, prio
241 To compile it as a module, choose M here. If unsure, say N.
243 config NETFILTER_XT_TARGET_CONNMARK
244 tristate '"CONNMARK" target support'
245 depends on NETFILTER_XTABLES
246 depends on IP_NF_MANGLE || IP6_NF_MANGLE
247 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
249 This option adds a `CONNMARK' target, which allows one to manipulate
250 the connection mark value. Similar to the MARK target, but
251 affects the connection mark value rather than the packet mark value.
253 If you want to compile it as a module, say M here and read
254 <file:Documentation/modules.txt>. The module will be called
255 ipt_CONNMARK.o. If unsure, say `N'.
257 config NETFILTER_XT_TARGET_DSCP
258 tristate '"DSCP" target support'
259 depends on NETFILTER_XTABLES
260 depends on IP_NF_MANGLE || IP6_NF_MANGLE
262 This option adds a `DSCP' target, which allows you to manipulate
263 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
265 The DSCP field can have any value between 0x0 and 0x3f inclusive.
267 To compile it as a module, choose M here. If unsure, say N.
269 config NETFILTER_XT_TARGET_MARK
270 tristate '"MARK" target support'
271 depends on NETFILTER_XTABLES
273 This option adds a `MARK' target, which allows you to create rules
274 in the `mangle' table which alter the netfilter mark (nfmark) field
275 associated with the packet prior to routing. This can change
276 the routing method (see `Use netfilter MARK value as routing
277 key') and can also be used by other subsystems to change their
280 To compile it as a module, choose M here. If unsure, say N.
282 config NETFILTER_XT_TARGET_NFQUEUE
283 tristate '"NFQUEUE" target Support'
284 depends on NETFILTER_XTABLES
286 This target replaced the old obsolete QUEUE target.
288 As opposed to QUEUE, it supports 65535 different queues,
291 To compile it as a module, choose M here. If unsure, say N.
293 config NETFILTER_XT_TARGET_NFLOG
294 tristate '"NFLOG" target support'
295 depends on NETFILTER_XTABLES
297 This option enables the NFLOG target, which allows to LOG
298 messages through the netfilter logging API, which can use
299 either the old LOG target, the old ULOG target or nfnetlink_log
302 To compile it as a module, choose M here. If unsure, say N.
304 config NETFILTER_XT_TARGET_NOTRACK
305 tristate '"NOTRACK" target support'
306 depends on NETFILTER_XTABLES
307 depends on IP_NF_RAW || IP6_NF_RAW
308 depends on IP_NF_CONNTRACK || NF_CONNTRACK
310 The NOTRACK target allows a select rule to specify
311 which packets *not* to enter the conntrack/NAT
312 subsystem with all the consequences (no ICMP error tracking,
313 no protocol helpers for the selected packets).
315 If you want to compile it as a module, say M here and read
316 <file:Documentation/modules.txt>. If unsure, say `N'.
318 config NETFILTER_XT_TARGET_SECMARK
319 tristate '"SECMARK" target support'
320 depends on NETFILTER_XTABLES && NETWORK_SECMARK
322 The SECMARK target allows security marking of network
323 packets, for use with security subsystems.
325 To compile it as a module, choose M here. If unsure, say N.
327 config NETFILTER_XT_TARGET_CONNSECMARK
328 tristate '"CONNSECMARK" target support'
329 depends on NETFILTER_XTABLES && \
330 ((NF_CONNTRACK && NF_CONNTRACK_SECMARK) || \
331 (IP_NF_CONNTRACK && IP_NF_CONNTRACK_SECMARK))
333 The CONNSECMARK target copies security markings from packets
334 to connections, and restores security markings from connections
335 to packets (if the packets are not already marked). This would
336 normally be used in conjunction with the SECMARK target.
338 To compile it as a module, choose M here. If unsure, say N.
340 config NETFILTER_XT_MATCH_COMMENT
341 tristate '"comment" match support'
342 depends on NETFILTER_XTABLES
344 This option adds a `comment' dummy-match, which allows you to put
345 comments in your iptables ruleset.
347 If you want to compile it as a module, say M here and read
348 <file:Documentation/modules.txt>. If unsure, say `N'.
350 config NETFILTER_XT_MATCH_CONNBYTES
351 tristate '"connbytes" per-connection counter match support'
352 depends on NETFILTER_XTABLES
353 depends on (IP_NF_CONNTRACK && IP_NF_CT_ACCT) || (NF_CT_ACCT && NF_CONNTRACK)
355 This option adds a `connbytes' match, which allows you to match the
356 number of bytes and/or packets for each direction within a connection.
358 If you want to compile it as a module, say M here and read
359 <file:Documentation/modules.txt>. If unsure, say `N'.
361 config NETFILTER_XT_MATCH_CONNMARK
362 tristate '"connmark" connection mark match support'
363 depends on NETFILTER_XTABLES
364 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK)
366 This option adds a `connmark' match, which allows you to match the
367 connection mark value previously set for the session by `CONNMARK'.
369 If you want to compile it as a module, say M here and read
370 <file:Documentation/modules.txt>. The module will be called
371 ipt_connmark.o. If unsure, say `N'.
373 config NETFILTER_XT_MATCH_CONNTRACK
374 tristate '"conntrack" connection tracking match support'
375 depends on NETFILTER_XTABLES
376 depends on IP_NF_CONNTRACK || NF_CONNTRACK
378 This is a general conntrack match module, a superset of the state match.
380 It allows matching on additional conntrack information, which is
381 useful in complex configurations, such as NAT gateways with multiple
382 internet links or tunnels.
384 To compile it as a module, choose M here. If unsure, say N.
386 config NETFILTER_XT_MATCH_DCCP
387 tristate '"DCCP" protocol match support'
388 depends on NETFILTER_XTABLES
390 With this option enabled, you will be able to use the iptables
391 `dccp' match in order to match on DCCP source/destination ports
394 If you want to compile it as a module, say M here and read
395 <file:Documentation/modules.txt>. If unsure, say `N'.
397 config NETFILTER_XT_MATCH_DSCP
398 tristate '"DSCP" match support'
399 depends on NETFILTER_XTABLES
401 This option adds a `DSCP' match, which allows you to match against
402 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
404 The DSCP field can have any value between 0x0 and 0x3f inclusive.
406 To compile it as a module, choose M here. If unsure, say N.
408 config NETFILTER_XT_MATCH_ESP
409 tristate '"ESP" match support'
410 depends on NETFILTER_XTABLES
412 This match extension allows you to match a range of SPIs
413 inside ESP header of IPSec packets.
415 To compile it as a module, choose M here. If unsure, say N.
417 config NETFILTER_XT_MATCH_HELPER
418 tristate '"helper" match support'
419 depends on NETFILTER_XTABLES
420 depends on IP_NF_CONNTRACK || NF_CONNTRACK
422 Helper matching allows you to match packets in dynamic connections
423 tracked by a conntrack-helper, ie. ip_conntrack_ftp
425 To compile it as a module, choose M here. If unsure, say Y.
427 config NETFILTER_XT_MATCH_LENGTH
428 tristate '"length" match support'
429 depends on NETFILTER_XTABLES
431 This option allows you to match the length of a packet against a
432 specific value or range of values.
434 To compile it as a module, choose M here. If unsure, say N.
436 config NETFILTER_XT_MATCH_LIMIT
437 tristate '"limit" match support'
438 depends on NETFILTER_XTABLES
440 limit matching allows you to control the rate at which a rule can be
441 matched: mainly useful in combination with the LOG target ("LOG
442 target support", below) and to avoid some Denial of Service attacks.
444 To compile it as a module, choose M here. If unsure, say N.
446 config NETFILTER_XT_MATCH_MAC
447 tristate '"mac" address match support'
448 depends on NETFILTER_XTABLES
450 MAC matching allows you to match packets based on the source
451 Ethernet address of the packet.
453 To compile it as a module, choose M here. If unsure, say N.
455 config NETFILTER_XT_MATCH_MARK
456 tristate '"mark" match support'
457 depends on NETFILTER_XTABLES
459 Netfilter mark matching allows you to match packets based on the
460 `nfmark' value in the packet. This can be set by the MARK target
463 To compile it as a module, choose M here. If unsure, say N.
465 config NETFILTER_XT_MATCH_POLICY
466 tristate 'IPsec "policy" match support'
467 depends on NETFILTER_XTABLES && XFRM
469 Policy matching allows you to match packets based on the
470 IPsec policy that was used during decapsulation/will
471 be used during encapsulation.
473 To compile it as a module, choose M here. If unsure, say N.
475 config NETFILTER_XT_MATCH_MULTIPORT
476 tristate "Multiple port match support"
477 depends on NETFILTER_XTABLES
479 Multiport matching allows you to match TCP or UDP packets based on
480 a series of source or destination ports: normally a rule can only
481 match a single range of ports.
483 To compile it as a module, choose M here. If unsure, say N.
485 config NETFILTER_XT_MATCH_PHYSDEV
486 tristate '"physdev" match support'
487 depends on NETFILTER_XTABLES && BRIDGE && BRIDGE_NETFILTER
489 Physdev packet matching matches against the physical bridge ports
490 the IP packet arrived on or will leave by.
492 To compile it as a module, choose M here. If unsure, say N.
494 config NETFILTER_XT_MATCH_PKTTYPE
495 tristate '"pkttype" packet type match support'
496 depends on NETFILTER_XTABLES
498 Packet type matching allows you to match a packet by
499 its "class", eg. BROADCAST, MULTICAST, ...
502 iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
504 To compile it as a module, choose M here. If unsure, say N.
506 config NETFILTER_XT_MATCH_QUOTA
507 tristate '"quota" match support'
508 depends on NETFILTER_XTABLES
510 This option adds a `quota' match, which allows to match on a
513 If you want to compile it as a module, say M here and read
514 <file:Documentation/modules.txt>. If unsure, say `N'.
516 config NETFILTER_XT_MATCH_REALM
517 tristate '"realm" match support'
518 depends on NETFILTER_XTABLES
521 This option adds a `realm' match, which allows you to use the realm
522 key from the routing subsystem inside iptables.
524 This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
527 If you want to compile it as a module, say M here and read
528 <file:Documentation/modules.txt>. If unsure, say `N'.
530 config NETFILTER_XT_MATCH_SCTP
531 tristate '"sctp" protocol match support (EXPERIMENTAL)'
532 depends on NETFILTER_XTABLES && EXPERIMENTAL
534 With this option enabled, you will be able to use the
535 `sctp' match in order to match on SCTP source/destination ports
536 and SCTP chunk types.
538 If you want to compile it as a module, say M here and read
539 <file:Documentation/modules.txt>. If unsure, say `N'.
541 config NETFILTER_XT_MATCH_STATE
542 tristate '"state" match support'
543 depends on NETFILTER_XTABLES
544 depends on IP_NF_CONNTRACK || NF_CONNTRACK
546 Connection state matching allows you to match packets based on their
547 relationship to a tracked connection (ie. previous packets). This
548 is a powerful tool for packet classification.
550 To compile it as a module, choose M here. If unsure, say N.
552 config NETFILTER_XT_MATCH_STATISTIC
553 tristate '"statistic" match support'
554 depends on NETFILTER_XTABLES
556 This option adds a `statistic' match, which allows you to match
557 on packets periodically or randomly with a given percentage.
559 To compile it as a module, choose M here. If unsure, say N.
561 config NETFILTER_XT_MATCH_STRING
562 tristate '"string" match support'
563 depends on NETFILTER_XTABLES
565 select TEXTSEARCH_KMP
567 select TEXTSEARCH_FSM
569 This option adds a `string' match, which allows you to look for
570 pattern matchings in packets.
572 To compile it as a module, choose M here. If unsure, say N.
574 config NETFILTER_XT_MATCH_TCPMSS
575 tristate '"tcpmss" match support'
576 depends on NETFILTER_XTABLES
578 This option adds a `tcpmss' match, which allows you to examine the
579 MSS value of TCP SYN packets, which control the maximum packet size
582 To compile it as a module, choose M here. If unsure, say N.
584 config NETFILTER_XT_MATCH_HASHLIMIT
585 tristate '"hashlimit" match support'
586 depends on NETFILTER_XTABLES
588 This option adds a `hashlimit' match.
590 As opposed to `limit', this match dynamically creates a hash table
591 of limit buckets, based on your selection of source/destination
592 addresses and/or ports.
594 It enables you to express policies like `10kpps for any given
595 destination address' or `500pps from any given source address'