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