blob: a7659728e7a0a86abea82923e841cc9bf733458c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# IP netfilter configuration
3#
4
5menu "IP: Netfilter Configuration"
6 depends on INET && NETFILTER
7
8# connection tracking, helpers and protocols
9config IP_NF_CONNTRACK
10 tristate "Connection tracking (required for masq/NAT)"
11 ---help---
12 Connection tracking keeps a record of what packets have passed
13 through your machine, in order to figure out how they are related
14 into connections.
15
16 This is required to do Masquerading or other kinds of Network
17 Address Translation (except for Fast NAT). It can also be used to
18 enhance packet filtering (see `Connection state match support'
19 below).
20
21 To compile it as a module, choose M here. If unsure, say N.
22
23config IP_NF_CT_ACCT
24 bool "Connection tracking flow accounting"
25 depends on IP_NF_CONNTRACK
26 help
27 If this option is enabled, the connection tracking code will
28 keep per-flow packet and byte counters.
29
30 Those counters can be used for flow-based accounting or the
31 `connbytes' match.
32
33 If unsure, say `N'.
34
35config IP_NF_CONNTRACK_MARK
36 bool 'Connection mark tracking support'
Yasuyuki Kozakai31c913e2005-09-06 15:09:20 -070037 depends on IP_NF_CONNTRACK
Linus Torvalds1da177e2005-04-16 15:20:36 -070038 help
39 This option enables support for connection marks, used by the
40 `CONNMARK' target and `connmark' match. Similar to the mark value
41 of packets, but this mark value is kept in the conntrack session
42 instead of the individual packets.
43
Harald Welteac3247b2005-08-09 19:28:03 -070044config IP_NF_CONNTRACK_EVENTS
45 bool "Connection tracking events"
46 depends on IP_NF_CONNTRACK
47 help
48 If this option is enabled, the connection tracking code will
49 provide a notifier chain that can be used by other kernel code
50 to get notified about changes in the connection tracking state.
51
52 IF unsure, say `N'.
53
Harald Welte777ed972005-09-17 00:41:02 -070054config IP_NF_CONNTRACK_NETLINK
55 tristate 'Connection tracking netlink interface'
56 depends on IP_NF_CONNTRACK && NETFILTER_NETLINK
Harald Welte628f87f2005-09-18 00:33:02 -070057 depends on IP_NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
Harald Welte777ed972005-09-17 00:41:02 -070058 help
59 This option enables support for a netlink-based userspace interface
60
61
Linus Torvalds1da177e2005-04-16 15:20:36 -070062config IP_NF_CT_PROTO_SCTP
63 tristate 'SCTP protocol connection tracking support (EXPERIMENTAL)'
64 depends on IP_NF_CONNTRACK && EXPERIMENTAL
65 help
66 With this option enabled, the connection tracking code will
67 be able to do state tracking on SCTP connections.
68
69 If you want to compile it as a module, say M here and read
70 <file:Documentation/modules.txt>. If unsure, say `N'.
71
72config IP_NF_FTP
73 tristate "FTP protocol support"
74 depends on IP_NF_CONNTRACK
75 help
76 Tracking FTP connections is problematic: special helpers are
77 required for tracking them, and doing masquerading and other forms
78 of Network Address Translation on them.
79
80 To compile it as a module, choose M here. If unsure, say Y.
81
82config IP_NF_IRC
83 tristate "IRC protocol support"
84 depends on IP_NF_CONNTRACK
85 ---help---
86 There is a commonly-used extension to IRC called
87 Direct Client-to-Client Protocol (DCC). This enables users to send
88 files to each other, and also chat to each other without the need
89 of a server. DCC Sending is used anywhere you send files over IRC,
90 and DCC Chat is most commonly used by Eggdrop bots. If you are
91 using NAT, this extension will enable you to send files and initiate
92 chats. Note that you do NOT need this extension to get files or
93 have others initiate chats, or everything else in IRC.
94
95 To compile it as a module, choose M here. If unsure, say Y.
96
Patrick McHardya2978ae2005-09-06 15:08:51 -070097config IP_NF_NETBIOS_NS
98 tristate "NetBIOS name service protocol support (EXPERIMENTAL)"
99 depends on IP_NF_CONNTRACK && EXPERIMENTAL
100 help
101 NetBIOS name service requests are sent as broadcast messages from an
102 unprivileged port and responded to with unicast messages to the
103 same port. This make them hard to firewall properly because connection
104 tracking doesn't deal with broadcasts. This helper tracks locally
105 originating NetBIOS name service requests and the corresponding
106 responses. It relies on correct IP address configuration, specifically
107 netmask and broadcast address. When properly configured, the output
108 of "ip address show" should look similar to this:
109
110 $ ip -4 address show eth0
111 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
112 inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
113
114 To compile it as a module, choose M here. If unsure, say N.
115
Linus Torvalds1da177e2005-04-16 15:20:36 -0700116config IP_NF_TFTP
117 tristate "TFTP protocol support"
118 depends on IP_NF_CONNTRACK
119 help
120 TFTP connection tracking helper, this is required depending
121 on how restrictive your ruleset is.
122 If you are using a tftp client behind -j SNAT or -j MASQUERADING
123 you will need this.
124
125 To compile it as a module, choose M here. If unsure, say Y.
126
127config IP_NF_AMANDA
128 tristate "Amanda backup protocol support"
129 depends on IP_NF_CONNTRACK
130 help
131 If you are running the Amanda backup package <http://www.amanda.org/>
132 on this machine or machines that will be MASQUERADED through this
133 machine, then you may want to enable this feature. This allows the
134 connection tracking and natting code to allow the sub-channels that
135 Amanda requires for communication of the backup data, messages and
136 index.
137
138 To compile it as a module, choose M here. If unsure, say Y.
139
Harald Welte926b50f2005-09-19 15:33:08 -0700140config IP_NF_PPTP
141 tristate 'PPTP protocol support'
142 help
143 This module adds support for PPTP (Point to Point Tunnelling
Horst H. von Branda5181ab2005-10-04 15:58:56 -0700144 Protocol, RFC2637) connection tracking and NAT.
Harald Welte926b50f2005-09-19 15:33:08 -0700145
146 If you are running PPTP sessions over a stateful firewall or NAT
147 box, you may want to enable this feature.
148
149 Please note that not all PPTP modes of operation are supported yet.
150 For more info, read top of the file
151 net/ipv4/netfilter/ip_conntrack_pptp.c
152
153 If you want to compile it as a module, say M here and read
154 Documentation/modules.txt. If unsure, say `N'.
155
Linus Torvalds1da177e2005-04-16 15:20:36 -0700156config IP_NF_QUEUE
Harald Welte7af4cc32005-08-09 19:44:15 -0700157 tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158 help
159 Netfilter has the ability to queue packets to user space: the
160 netlink device can be used to access them using this driver.
161
Harald Welte7af4cc32005-08-09 19:44:15 -0700162 This option enables the old IPv4-only "ip_queue" implementation
163 which has been obsoleted by the new "nfnetlink_queue" code (see
164 CONFIG_NETFILTER_NETLINK_QUEUE).
165
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166 To compile it as a module, choose M here. If unsure, say N.
167
168config IP_NF_IPTABLES
169 tristate "IP tables support (required for filtering/masq/NAT)"
170 help
171 iptables is a general, extensible packet identification framework.
172 The packet filtering and full NAT (masquerading, port forwarding,
173 etc) subsystems now use this: say `Y' or `M' here if you want to use
174 either of those.
175
176 To compile it as a module, choose M here. If unsure, say N.
177
178# The matches.
179config IP_NF_MATCH_LIMIT
180 tristate "limit match support"
181 depends on IP_NF_IPTABLES
182 help
183 limit matching allows you to control the rate at which a rule can be
184 matched: mainly useful in combination with the LOG target ("LOG
185 target support", below) and to avoid some Denial of Service attacks.
186
187 To compile it as a module, choose M here. If unsure, say N.
188
189config IP_NF_MATCH_IPRANGE
190 tristate "IP range match support"
191 depends on IP_NF_IPTABLES
192 help
193 This option makes possible to match IP addresses against IP address
194 ranges.
195
196 To compile it as a module, choose M here. If unsure, say N.
197
198config IP_NF_MATCH_MAC
199 tristate "MAC address match support"
200 depends on IP_NF_IPTABLES
201 help
202 MAC matching allows you to match packets based on the source
203 Ethernet address of the packet.
204
205 To compile it as a module, choose M here. If unsure, say N.
206
207config IP_NF_MATCH_PKTTYPE
208 tristate "Packet type match support"
209 depends on IP_NF_IPTABLES
210 help
211 Packet type matching allows you to match a packet by
212 its "class", eg. BROADCAST, MULTICAST, ...
213
214 Typical usage:
215 iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
216
217 To compile it as a module, choose M here. If unsure, say N.
218
219config IP_NF_MATCH_MARK
220 tristate "netfilter MARK match support"
221 depends on IP_NF_IPTABLES
222 help
223 Netfilter mark matching allows you to match packets based on the
224 `nfmark' value in the packet. This can be set by the MARK target
225 (see below).
226
227 To compile it as a module, choose M here. If unsure, say N.
228
229config IP_NF_MATCH_MULTIPORT
230 tristate "Multiple port match support"
231 depends on IP_NF_IPTABLES
232 help
233 Multiport matching allows you to match TCP or UDP packets based on
234 a series of source or destination ports: normally a rule can only
235 match a single range of ports.
236
237 To compile it as a module, choose M here. If unsure, say N.
238
239config IP_NF_MATCH_TOS
240 tristate "TOS match support"
241 depends on IP_NF_IPTABLES
242 help
243 TOS matching allows you to match packets based on the Type Of
244 Service fields of the IP packet.
245
246 To compile it as a module, choose M here. If unsure, say N.
247
248config IP_NF_MATCH_RECENT
249 tristate "recent match support"
250 depends on IP_NF_IPTABLES
251 help
252 This match is used for creating one or many lists of recently
253 used addresses and then matching against that/those list(s).
254
255 Short options are available by using 'iptables -m recent -h'
256 Official Website: <http://snowman.net/projects/ipt_recent/>
257
258 To compile it as a module, choose M here. If unsure, say N.
259
260config IP_NF_MATCH_ECN
261 tristate "ECN match support"
262 depends on IP_NF_IPTABLES
263 help
264 This option adds a `ECN' match, which allows you to match against
265 the IPv4 and TCP header ECN fields.
266
267 To compile it as a module, choose M here. If unsure, say N.
268
269config IP_NF_MATCH_DSCP
270 tristate "DSCP match support"
271 depends on IP_NF_IPTABLES
272 help
273 This option adds a `DSCP' match, which allows you to match against
274 the IPv4 header DSCP field (DSCP codepoint).
275
276 The DSCP codepoint can have any value between 0x0 and 0x4f.
277
278 To compile it as a module, choose M here. If unsure, say N.
279
280config IP_NF_MATCH_AH_ESP
281 tristate "AH/ESP match support"
282 depends on IP_NF_IPTABLES
283 help
284 These two match extensions (`ah' and `esp') allow you to match a
285 range of SPIs inside AH or ESP headers of IPSec packets.
286
287 To compile it as a module, choose M here. If unsure, say N.
288
289config IP_NF_MATCH_LENGTH
290 tristate "LENGTH match support"
291 depends on IP_NF_IPTABLES
292 help
293 This option allows you to match the length of a packet against a
294 specific value or range of values.
295
296 To compile it as a module, choose M here. If unsure, say N.
297
298config IP_NF_MATCH_TTL
299 tristate "TTL match support"
300 depends on IP_NF_IPTABLES
301 help
302 This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
303 to match packets by their TTL value.
304
305 To compile it as a module, choose M here. If unsure, say N.
306
307config IP_NF_MATCH_TCPMSS
308 tristate "tcpmss match support"
309 depends on IP_NF_IPTABLES
310 help
311 This option adds a `tcpmss' match, which allows you to examine the
312 MSS value of TCP SYN packets, which control the maximum packet size
313 for that connection.
314
315 To compile it as a module, choose M here. If unsure, say N.
316
317config IP_NF_MATCH_HELPER
318 tristate "Helper match support"
319 depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
320 help
321 Helper matching allows you to match packets in dynamic connections
322 tracked by a conntrack-helper, ie. ip_conntrack_ftp
323
324 To compile it as a module, choose M here. If unsure, say Y.
325
326config IP_NF_MATCH_STATE
327 tristate "Connection state match support"
328 depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
329 help
330 Connection state matching allows you to match packets based on their
331 relationship to a tracked connection (ie. previous packets). This
332 is a powerful tool for packet classification.
333
334 To compile it as a module, choose M here. If unsure, say N.
335
336config IP_NF_MATCH_CONNTRACK
337 tristate "Connection tracking match support"
338 depends on IP_NF_CONNTRACK && IP_NF_IPTABLES
339 help
340 This is a general conntrack match module, a superset of the state match.
341
342 It allows matching on additional conntrack information, which is
343 useful in complex configurations, such as NAT gateways with multiple
344 internet links or tunnels.
345
346 To compile it as a module, choose M here. If unsure, say N.
347
348config IP_NF_MATCH_OWNER
349 tristate "Owner match support"
350 depends on IP_NF_IPTABLES
351 help
352 Packet owner matching allows you to match locally-generated packets
353 based on who created them: the user, group, process or session.
354
355 To compile it as a module, choose M here. If unsure, say N.
356
357config IP_NF_MATCH_PHYSDEV
358 tristate "Physdev match support"
359 depends on IP_NF_IPTABLES && BRIDGE_NETFILTER
360 help
361 Physdev packet matching matches against the physical bridge ports
362 the IP packet arrived on or will leave by.
363
364 To compile it as a module, choose M here. If unsure, say N.
365
366config IP_NF_MATCH_ADDRTYPE
367 tristate 'address type match support'
368 depends on IP_NF_IPTABLES
369 help
370 This option allows you to match what routing thinks of an address,
371 eg. UNICAST, LOCAL, BROADCAST, ...
372
373 If you want to compile it as a module, say M here and read
374 <file:Documentation/modules.txt>. If unsure, say `N'.
375
376config IP_NF_MATCH_REALM
377 tristate 'realm match support'
378 depends on IP_NF_IPTABLES
379 select NET_CLS_ROUTE
380 help
381 This option adds a `realm' match, which allows you to use the realm
382 key from the routing subsystem inside iptables.
383
384 This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
385 in tc world.
386
387 If you want to compile it as a module, say M here and read
388 <file:Documentation/modules.txt>. If unsure, say `N'.
389
390config IP_NF_MATCH_SCTP
391 tristate 'SCTP protocol match support'
392 depends on IP_NF_IPTABLES
393 help
394 With this option enabled, you will be able to use the iptables
395 `sctp' match in order to match on SCTP source/destination ports
396 and SCTP chunk types.
397
398 If you want to compile it as a module, say M here and read
399 <file:Documentation/modules.txt>. If unsure, say `N'.
400
Harald Welte1d3de412005-08-09 20:26:55 -0700401config IP_NF_MATCH_DCCP
402 tristate 'DCCP protocol match support'
403 depends on IP_NF_IPTABLES
404 help
405 With this option enabled, you will be able to use the iptables
406 `dccp' match in order to match on DCCP source/destination ports
407 and DCCP flags.
408
409 If you want to compile it as a module, say M here and read
410 <file:Documentation/modules.txt>. If unsure, say `N'.
411
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412config IP_NF_MATCH_COMMENT
413 tristate 'comment match support'
414 depends on IP_NF_IPTABLES
415 help
416 This option adds a `comment' dummy-match, which allows you to put
417 comments in your iptables ruleset.
418
419 If you want to compile it as a module, say M here and read
420 <file:Documentation/modules.txt>. If unsure, say `N'.
421
422config IP_NF_MATCH_CONNMARK
423 tristate 'Connection mark match support'
424 depends on IP_NF_CONNTRACK_MARK && IP_NF_IPTABLES
425 help
426 This option adds a `connmark' match, which allows you to match the
427 connection mark value previously set for the session by `CONNMARK'.
428
429 If you want to compile it as a module, say M here and read
430 <file:Documentation/modules.txt>. The module will be called
431 ipt_connmark.o. If unsure, say `N'.
432
Harald Welte9d810fd2005-08-13 13:56:26 -0700433config IP_NF_MATCH_CONNBYTES
434 tristate 'Connection byte/packet counter match support'
435 depends on IP_NF_CT_ACCT && IP_NF_IPTABLES
436 help
437 This option adds a `connbytes' match, which allows you to match the
438 number of bytes and/or packets for each direction within a connection.
439
440 If you want to compile it as a module, say M here and read
441 <file:Documentation/modules.txt>. If unsure, say `N'.
442
Linus Torvalds1da177e2005-04-16 15:20:36 -0700443config IP_NF_MATCH_HASHLIMIT
444 tristate 'hashlimit match support'
445 depends on IP_NF_IPTABLES
446 help
447 This option adds a new iptables `hashlimit' match.
448
449 As opposed to `limit', this match dynamically crates a hash table
450 of limit buckets, based on your selection of source/destination
451 ip addresses and/or ports.
452
453 It enables you to express policies like `10kpps for any given
454 destination IP' or `500pps from any given source IP' with a single
455 IPtables rule.
456
Pablo Neira Ayuso75676622005-08-21 23:30:34 -0700457config IP_NF_MATCH_STRING
458 tristate 'string match support'
459 depends on IP_NF_IPTABLES
460 select TEXTSEARCH
461 select TEXTSEARCH_KMP
David S. Miller29cb9f92005-08-25 16:23:11 -0700462 select TEXTSEARCH_BM
Pablo Neira Ayuso75676622005-08-21 23:30:34 -0700463 select TEXTSEARCH_FSM
464 help
465 This option adds a `string' match, which allows you to look for
466 pattern matchings in packets.
467
468 To compile it as a module, choose M here. If unsure, say N.
469
Linus Torvalds1da177e2005-04-16 15:20:36 -0700470# `filter', generic and specific targets
471config IP_NF_FILTER
472 tristate "Packet filtering"
473 depends on IP_NF_IPTABLES
474 help
475 Packet filtering defines a table `filter', which has a series of
476 rules for simple packet filtering at local input, forwarding and
477 local output. See the man page for iptables(8).
478
479 To compile it as a module, choose M here. If unsure, say N.
480
481config IP_NF_TARGET_REJECT
482 tristate "REJECT target support"
483 depends on IP_NF_FILTER
484 help
485 The REJECT target allows a filtering rule to specify that an ICMP
486 error should be issued in response to an incoming packet, rather
487 than silently being dropped.
488
489 To compile it as a module, choose M here. If unsure, say N.
490
491config IP_NF_TARGET_LOG
492 tristate "LOG target support"
493 depends on IP_NF_IPTABLES
494 help
495 This option adds a `LOG' target, which allows you to create rules in
496 any iptables table which records the packet header to the syslog.
497
498 To compile it as a module, choose M here. If unsure, say N.
499
500config IP_NF_TARGET_ULOG
501 tristate "ULOG target support"
502 depends on IP_NF_IPTABLES
503 ---help---
504 This option adds a `ULOG' target, which allows you to create rules in
505 any iptables table. The packet is passed to a userspace logging
506 daemon using netlink multicast sockets; unlike the LOG target
507 which can only be viewed through syslog.
508
509 The apropriate userspace logging daemon (ulogd) may be obtained from
510 <http://www.gnumonks.org/projects/ulogd/>
511
512 To compile it as a module, choose M here. If unsure, say N.
513
514config IP_NF_TARGET_TCPMSS
515 tristate "TCPMSS target support"
516 depends on IP_NF_IPTABLES
517 ---help---
518 This option adds a `TCPMSS' target, which allows you to alter the
519 MSS value of TCP SYN packets, to control the maximum size for that
520 connection (usually limiting it to your outgoing interface's MTU
521 minus 40).
522
523 This is used to overcome criminally braindead ISPs or servers which
524 block ICMP Fragmentation Needed packets. The symptoms of this
525 problem are that everything works fine from your Linux
526 firewall/router, but machines behind it can never exchange large
527 packets:
528 1) Web browsers connect, then hang with no data received.
529 2) Small mail works fine, but large emails hang.
530 3) ssh works fine, but scp hangs after initial handshaking.
531
532 Workaround: activate this option and add a rule to your firewall
533 configuration like:
534
535 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
536 -j TCPMSS --clamp-mss-to-pmtu
537
538 To compile it as a module, choose M here. If unsure, say N.
539
Harald Welted67b24c2005-09-24 16:52:03 -0700540config IP_NF_TARGET_NFQUEUE
541 tristate "NFQUEUE Target Support"
542 depends on IP_NF_IPTABLES
543 help
544 This Target replaced the old obsolete QUEUE target.
545
546 As opposed to QUEUE, it supports 65535 different queues,
547 not just one.
548
549 To compile it as a module, choose M here. If unsure, say N.
550
Linus Torvalds1da177e2005-04-16 15:20:36 -0700551# NAT + specific targets
552config IP_NF_NAT
553 tristate "Full NAT"
554 depends on IP_NF_IPTABLES && IP_NF_CONNTRACK
555 help
556 The Full NAT option allows masquerading, port forwarding and other
557 forms of full Network Address Port Translation. It is controlled by
558 the `nat' table in iptables: see the man page for iptables(8).
559
560 To compile it as a module, choose M here. If unsure, say N.
561
562config IP_NF_NAT_NEEDED
563 bool
564 depends on IP_NF_NAT != n
565 default y
566
567config IP_NF_TARGET_MASQUERADE
568 tristate "MASQUERADE target support"
569 depends on IP_NF_NAT
570 help
571 Masquerading is a special case of NAT: all outgoing connections are
572 changed to seem to come from a particular interface's address, and
573 if the interface goes down, those connections are lost. This is
574 only useful for dialup accounts with dynamic IP address (ie. your IP
575 address will be different on next dialup).
576
577 To compile it as a module, choose M here. If unsure, say N.
578
579config IP_NF_TARGET_REDIRECT
580 tristate "REDIRECT target support"
581 depends on IP_NF_NAT
582 help
583 REDIRECT is a special case of NAT: all incoming connections are
584 mapped onto the incoming interface's address, causing the packets to
585 come to the local machine instead of passing through. This is
586 useful for transparent proxies.
587
588 To compile it as a module, choose M here. If unsure, say N.
589
590config IP_NF_TARGET_NETMAP
591 tristate "NETMAP target support"
592 depends on IP_NF_NAT
593 help
594 NETMAP is an implementation of static 1:1 NAT mapping of network
595 addresses. It maps the network address part, while keeping the host
596 address part intact. It is similar to Fast NAT, except that
597 Netfilter's connection tracking doesn't work well with Fast NAT.
598
599 To compile it as a module, choose M here. If unsure, say N.
600
601config IP_NF_TARGET_SAME
602 tristate "SAME target support"
603 depends on IP_NF_NAT
604 help
605 This option adds a `SAME' target, which works like the standard SNAT
606 target, but attempts to give clients the same IP for all connections.
607
608 To compile it as a module, choose M here. If unsure, say N.
609
610config IP_NF_NAT_SNMP_BASIC
611 tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
612 depends on EXPERIMENTAL && IP_NF_NAT
613 ---help---
614
615 This module implements an Application Layer Gateway (ALG) for
616 SNMP payloads. In conjunction with NAT, it allows a network
617 management system to access multiple private networks with
618 conflicting addresses. It works by modifying IP addresses
619 inside SNMP payloads to match IP-layer NAT mapping.
620
621 This is the "basic" form of SNMP-ALG, as described in RFC 2962
622
623 To compile it as a module, choose M here. If unsure, say N.
624
625config IP_NF_NAT_IRC
626 tristate
627 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
628 default IP_NF_NAT if IP_NF_IRC=y
629 default m if IP_NF_IRC=m
630
631# If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
632# or $CONFIG_IP_NF_FTP (m or y), whichever is weaker. Argh.
633config IP_NF_NAT_FTP
634 tristate
635 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
636 default IP_NF_NAT if IP_NF_FTP=y
637 default m if IP_NF_FTP=m
638
639config IP_NF_NAT_TFTP
640 tristate
641 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
642 default IP_NF_NAT if IP_NF_TFTP=y
643 default m if IP_NF_TFTP=m
644
645config IP_NF_NAT_AMANDA
646 tristate
647 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
648 default IP_NF_NAT if IP_NF_AMANDA=y
649 default m if IP_NF_AMANDA=m
650
Harald Welte926b50f2005-09-19 15:33:08 -0700651config IP_NF_NAT_PPTP
652 tristate
653 depends on IP_NF_NAT!=n && IP_NF_PPTP!=n
654 default IP_NF_NAT if IP_NF_PPTP=y
655 default m if IP_NF_PPTP=m
656
Linus Torvalds1da177e2005-04-16 15:20:36 -0700657# mangle + specific targets
658config IP_NF_MANGLE
659 tristate "Packet mangling"
660 depends on IP_NF_IPTABLES
661 help
662 This option adds a `mangle' table to iptables: see the man page for
663 iptables(8). This table is used for various packet alterations
664 which can effect how the packet is routed.
665
666 To compile it as a module, choose M here. If unsure, say N.
667
668config IP_NF_TARGET_TOS
669 tristate "TOS target support"
670 depends on IP_NF_MANGLE
671 help
672 This option adds a `TOS' target, which allows you to create rules in
673 the `mangle' table which alter the Type Of Service field of an IP
674 packet prior to routing.
675
676 To compile it as a module, choose M here. If unsure, say N.
677
678config IP_NF_TARGET_ECN
679 tristate "ECN target support"
680 depends on IP_NF_MANGLE
681 ---help---
682 This option adds a `ECN' target, which can be used in the iptables mangle
683 table.
684
685 You can use this target to remove the ECN bits from the IPv4 header of
686 an IP packet. This is particularly useful, if you need to work around
687 existing ECN blackholes on the internet, but don't want to disable
688 ECN support in general.
689
690 To compile it as a module, choose M here. If unsure, say N.
691
692config IP_NF_TARGET_DSCP
693 tristate "DSCP target support"
694 depends on IP_NF_MANGLE
695 help
696 This option adds a `DSCP' match, which allows you to match against
697 the IPv4 header DSCP field (DSCP codepoint).
698
699 The DSCP codepoint can have any value between 0x0 and 0x4f.
700
701 To compile it as a module, choose M here. If unsure, say N.
702
703config IP_NF_TARGET_MARK
704 tristate "MARK target support"
705 depends on IP_NF_MANGLE
706 help
707 This option adds a `MARK' target, which allows you to create rules
708 in the `mangle' table which alter the netfilter mark (nfmark) field
709 associated with the packet prior to routing. This can change
710 the routing method (see `Use netfilter MARK value as routing
711 key') and can also be used by other subsystems to change their
712 behavior.
713
714 To compile it as a module, choose M here. If unsure, say N.
715
716config IP_NF_TARGET_CLASSIFY
717 tristate "CLASSIFY target support"
718 depends on IP_NF_MANGLE
719 help
720 This option adds a `CLASSIFY' target, which enables the user to set
721 the priority of a packet. Some qdiscs can use this value for
722 classification, among these are:
723
724 atm, cbq, dsmark, pfifo_fast, htb, prio
725
726 To compile it as a module, choose M here. If unsure, say N.
727
Harald Welte5f2c3b92005-08-27 22:37:03 -0700728config IP_NF_TARGET_TTL
729 tristate 'TTL target support'
730 depends on IP_NF_MANGLE
731 help
732 This option adds a `TTL' target, which enables the user to modify
733 the TTL value of the IP header.
734
735 While it is safe to decrement/lower the TTL, this target also enables
736 functionality to increment and set the TTL value of the IP header to
737 arbitrary values. This is EXTREMELY DANGEROUS since you can easily
738 create immortal packets that loop forever on the network.
739
740 To compile it as a module, choose M here. If unsure, say N.
741
Linus Torvalds1da177e2005-04-16 15:20:36 -0700742config IP_NF_TARGET_CONNMARK
743 tristate 'CONNMARK target support'
744 depends on IP_NF_CONNTRACK_MARK && IP_NF_MANGLE
745 help
746 This option adds a `CONNMARK' target, which allows one to manipulate
747 the connection mark value. Similar to the MARK target, but
748 affects the connection mark value rather than the packet mark value.
749
750 If you want to compile it as a module, say M here and read
751 <file:Documentation/modules.txt>. The module will be called
752 ipt_CONNMARK.o. If unsure, say `N'.
753
754config IP_NF_TARGET_CLUSTERIP
755 tristate "CLUSTERIP target support (EXPERIMENTAL)"
756 depends on IP_NF_CONNTRACK_MARK && IP_NF_IPTABLES && EXPERIMENTAL
757 help
758 The CLUSTERIP target allows you to build load-balancing clusters of
759 network servers without having a dedicated load-balancing
760 router/server/switch.
761
762 To compile it as a module, choose M here. If unsure, say N.
763
764# raw + specific targets
765config IP_NF_RAW
766 tristate 'raw table support (required for NOTRACK/TRACE)'
767 depends on IP_NF_IPTABLES
768 help
769 This option adds a `raw' table to iptables. This table is the very
770 first in the netfilter framework and hooks in at the PREROUTING
771 and OUTPUT chains.
772
773 If you want to compile it as a module, say M here and read
774 <file:Documentation/modules.txt>. If unsure, say `N'.
775
776config IP_NF_TARGET_NOTRACK
777 tristate 'NOTRACK target support'
778 depends on IP_NF_RAW
779 depends on IP_NF_CONNTRACK
780 help
781 The NOTRACK target allows a select rule to specify
782 which packets *not* to enter the conntrack/NAT
783 subsystem with all the consequences (no ICMP error tracking,
784 no protocol helpers for the selected packets).
785
786 If you want to compile it as a module, say M here and read
787 <file:Documentation/modules.txt>. If unsure, say `N'.
788
789
790# ARP tables
791config IP_NF_ARPTABLES
792 tristate "ARP tables support"
793 help
794 arptables is a general, extensible packet identification framework.
795 The ARP packet filtering and mangling (manipulation)subsystems
796 use this: say Y or M here if you want to use either of those.
797
798 To compile it as a module, choose M here. If unsure, say N.
799
800config IP_NF_ARPFILTER
801 tristate "ARP packet filtering"
802 depends on IP_NF_ARPTABLES
803 help
804 ARP packet filtering defines a table `filter', which has a series of
805 rules for simple ARP packet filtering at local input and
806 local output. On a bridge, you can also specify filtering rules
807 for forwarded ARP packets. See the man page for arptables(8).
808
809 To compile it as a module, choose M here. If unsure, say N.
810
811config IP_NF_ARP_MANGLE
812 tristate "ARP payload mangling"
813 depends on IP_NF_ARPTABLES
814 help
815 Allows altering the ARP packet payload: source and destination
816 hardware and network addresses.
817
Linus Torvalds1da177e2005-04-16 15:20:36 -0700818endmenu
819