blob: e14156d1122e2e52423430624f21ce0db8389821 [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
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -08008config NF_CONNTRACK_IPV4
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -08009 tristate "IPv4 support for new connection tracking (required for NAT) (EXPERIMENTAL)"
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080010 depends on EXPERIMENTAL && NF_CONNTRACK
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 IPv4 support on Layer 3 independent connection tracking.
17 Layer 3 independent connection tracking is experimental scheme
18 which generalize ip_conntrack to support other layer 3 protocols.
19
20 To compile it as a module, choose M here. If unsure, say N.
21
Patrick McHardya999e682006-11-29 02:35:20 +010022config NF_CONNTRACK_PROC_COMPAT
23 bool "proc/sysctl compatibility with old connection tracking"
Patrick McHardy0c4ca1b2006-12-02 22:04:24 -080024 depends on NF_CONNTRACK_IPV4
Patrick McHardya999e682006-11-29 02:35:20 +010025 default y
26 help
27 This option enables /proc and sysctl compatibility with the old
28 layer 3 dependant connection tracking. This is needed to keep
29 old programs that have not been adapted to the new names working.
30
31 If unsure, say Y.
32
Linus Torvalds1da177e2005-04-16 15:20:36 -070033# connection tracking, helpers and protocols
Linus Torvalds1da177e2005-04-16 15:20:36 -070034config IP_NF_CT_ACCT
35 bool "Connection tracking flow accounting"
36 depends on IP_NF_CONNTRACK
37 help
38 If this option is enabled, the connection tracking code will
39 keep per-flow packet and byte counters.
40
41 Those counters can be used for flow-based accounting or the
42 `connbytes' match.
43
44 If unsure, say `N'.
45
46config IP_NF_CONNTRACK_MARK
47 bool 'Connection mark tracking support'
Yasuyuki Kozakai31c913e2005-09-06 15:09:20 -070048 depends on IP_NF_CONNTRACK
Linus Torvalds1da177e2005-04-16 15:20:36 -070049 help
50 This option enables support for connection marks, used by the
51 `CONNMARK' target and `connmark' match. Similar to the mark value
52 of packets, but this mark value is kept in the conntrack session
53 instead of the individual packets.
54
James Morris7c9728c2006-06-09 00:31:46 -070055config IP_NF_CONNTRACK_SECMARK
56 bool 'Connection tracking security mark support'
57 depends on IP_NF_CONNTRACK && NETWORK_SECMARK
58 help
59 This option enables security markings to be applied to
60 connections. Typically they are copied to connections from
61 packets using the CONNSECMARK target and copied back from
62 connections to packets with the same target, with the packets
63 being originally labeled via SECMARK.
64
65 If unsure, say 'N'.
66
Harald Welteac3247b2005-08-09 19:28:03 -070067config IP_NF_CONNTRACK_EVENTS
Patrick McHardya7957562005-12-05 13:36:25 -080068 bool "Connection tracking events (EXPERIMENTAL)"
69 depends on EXPERIMENTAL && IP_NF_CONNTRACK
Harald Welteac3247b2005-08-09 19:28:03 -070070 help
71 If this option is enabled, the connection tracking code will
72 provide a notifier chain that can be used by other kernel code
73 to get notified about changes in the connection tracking state.
74
75 IF unsure, say `N'.
76
Harald Welte777ed972005-09-17 00:41:02 -070077config IP_NF_CONNTRACK_NETLINK
Patrick McHardya7957562005-12-05 13:36:25 -080078 tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
79 depends on EXPERIMENTAL && IP_NF_CONNTRACK && NETFILTER_NETLINK
Harald Welte628f87f2005-09-18 00:33:02 -070080 depends on IP_NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
Patrick McHardya0aed492006-04-06 14:17:27 -070081 depends on IP_NF_NAT=n || IP_NF_NAT
Harald Welte777ed972005-09-17 00:41:02 -070082 help
83 This option enables support for a netlink-based userspace interface
84
85
Linus Torvalds1da177e2005-04-16 15:20:36 -070086config IP_NF_CT_PROTO_SCTP
87 tristate 'SCTP protocol connection tracking support (EXPERIMENTAL)'
88 depends on IP_NF_CONNTRACK && EXPERIMENTAL
89 help
90 With this option enabled, the connection tracking code will
91 be able to do state tracking on SCTP connections.
92
93 If you want to compile it as a module, say M here and read
94 <file:Documentation/modules.txt>. If unsure, say `N'.
95
96config IP_NF_FTP
97 tristate "FTP protocol support"
98 depends on IP_NF_CONNTRACK
99 help
100 Tracking FTP connections is problematic: special helpers are
101 required for tracking them, and doing masquerading and other forms
102 of Network Address Translation on them.
103
104 To compile it as a module, choose M here. If unsure, say Y.
105
106config IP_NF_IRC
107 tristate "IRC protocol support"
108 depends on IP_NF_CONNTRACK
109 ---help---
110 There is a commonly-used extension to IRC called
111 Direct Client-to-Client Protocol (DCC). This enables users to send
112 files to each other, and also chat to each other without the need
113 of a server. DCC Sending is used anywhere you send files over IRC,
114 and DCC Chat is most commonly used by Eggdrop bots. If you are
115 using NAT, this extension will enable you to send files and initiate
116 chats. Note that you do NOT need this extension to get files or
117 have others initiate chats, or everything else in IRC.
118
119 To compile it as a module, choose M here. If unsure, say Y.
120
Patrick McHardya2978ae2005-09-06 15:08:51 -0700121config IP_NF_NETBIOS_NS
122 tristate "NetBIOS name service protocol support (EXPERIMENTAL)"
123 depends on IP_NF_CONNTRACK && EXPERIMENTAL
124 help
125 NetBIOS name service requests are sent as broadcast messages from an
126 unprivileged port and responded to with unicast messages to the
127 same port. This make them hard to firewall properly because connection
128 tracking doesn't deal with broadcasts. This helper tracks locally
129 originating NetBIOS name service requests and the corresponding
130 responses. It relies on correct IP address configuration, specifically
131 netmask and broadcast address. When properly configured, the output
132 of "ip address show" should look similar to this:
133
134 $ ip -4 address show eth0
135 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
136 inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
137
138 To compile it as a module, choose M here. If unsure, say N.
139
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140config IP_NF_TFTP
141 tristate "TFTP protocol support"
142 depends on IP_NF_CONNTRACK
143 help
144 TFTP connection tracking helper, this is required depending
145 on how restrictive your ruleset is.
146 If you are using a tftp client behind -j SNAT or -j MASQUERADING
147 you will need this.
148
149 To compile it as a module, choose M here. If unsure, say Y.
150
151config IP_NF_AMANDA
152 tristate "Amanda backup protocol support"
153 depends on IP_NF_CONNTRACK
Patrick McHardyc9526162006-05-29 18:25:58 -0700154 select TEXTSEARCH
155 select TEXTSEARCH_KMP
Linus Torvalds1da177e2005-04-16 15:20:36 -0700156 help
157 If you are running the Amanda backup package <http://www.amanda.org/>
158 on this machine or machines that will be MASQUERADED through this
159 machine, then you may want to enable this feature. This allows the
160 connection tracking and natting code to allow the sub-channels that
161 Amanda requires for communication of the backup data, messages and
162 index.
163
164 To compile it as a module, choose M here. If unsure, say Y.
165
Harald Welte926b50f2005-09-19 15:33:08 -0700166config IP_NF_PPTP
167 tristate 'PPTP protocol support'
Harald Welte85d9b052005-10-10 20:47:42 -0700168 depends on IP_NF_CONNTRACK
Harald Welte926b50f2005-09-19 15:33:08 -0700169 help
170 This module adds support for PPTP (Point to Point Tunnelling
Horst H. von Branda5181ab2005-10-04 15:58:56 -0700171 Protocol, RFC2637) connection tracking and NAT.
Harald Welte926b50f2005-09-19 15:33:08 -0700172
173 If you are running PPTP sessions over a stateful firewall or NAT
174 box, you may want to enable this feature.
175
176 Please note that not all PPTP modes of operation are supported yet.
177 For more info, read top of the file
178 net/ipv4/netfilter/ip_conntrack_pptp.c
179
180 If you want to compile it as a module, say M here and read
181 Documentation/modules.txt. If unsure, say `N'.
182
Jing Min Zhao5e35941d2006-03-20 23:41:17 -0800183config IP_NF_H323
Patrick McHardyca3ba882006-05-28 22:50:40 -0700184 tristate 'H.323 protocol support (EXPERIMENTAL)'
185 depends on IP_NF_CONNTRACK && EXPERIMENTAL
Jing Min Zhao5e35941d2006-03-20 23:41:17 -0800186 help
187 H.323 is a VoIP signalling protocol from ITU-T. As one of the most
188 important VoIP protocols, it is widely used by voice hardware and
189 software including voice gateways, IP phones, Netmeeting, OpenPhone,
190 Gnomemeeting, etc.
191
192 With this module you can support H.323 on a connection tracking/NAT
193 firewall.
194
Jing Min Zhaoc0d4cfd2006-05-29 18:26:27 -0700195 This module supports RAS, Fast Start, H.245 Tunnelling, Call
196 Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
197 whiteboard, file transfer, etc. For more information, please
198 visit http://nath323.sourceforge.net/.
Jing Min Zhao5e35941d2006-03-20 23:41:17 -0800199
200 If you want to compile it as a module, say 'M' here and read
201 Documentation/modules.txt. If unsure, say 'N'.
202
Patrick McHardyae5b7d82006-05-29 18:27:09 -0700203config IP_NF_SIP
204 tristate "SIP protocol support (EXPERIMENTAL)"
205 depends on IP_NF_CONNTRACK && EXPERIMENTAL
206 help
207 SIP is an application-layer control protocol that can establish,
208 modify, and terminate multimedia sessions (conferences) such as
209 Internet telephony calls. With the ip_conntrack_sip and
210 the ip_nat_sip modules you can support the protocol on a connection
211 tracking/NATing firewall.
212
213 To compile it as a module, choose M here. If unsure, say Y.
214
Linus Torvalds1da177e2005-04-16 15:20:36 -0700215config IP_NF_QUEUE
Harald Welte7af4cc32005-08-09 19:44:15 -0700216 tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217 help
218 Netfilter has the ability to queue packets to user space: the
219 netlink device can be used to access them using this driver.
220
Harald Welte7af4cc32005-08-09 19:44:15 -0700221 This option enables the old IPv4-only "ip_queue" implementation
222 which has been obsoleted by the new "nfnetlink_queue" code (see
223 CONFIG_NETFILTER_NETLINK_QUEUE).
224
Linus Torvalds1da177e2005-04-16 15:20:36 -0700225 To compile it as a module, choose M here. If unsure, say N.
226
227config IP_NF_IPTABLES
228 tristate "IP tables support (required for filtering/masq/NAT)"
Harald Welte2e4e6a12006-01-12 13:30:04 -0800229 depends on NETFILTER_XTABLES
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230 help
231 iptables is a general, extensible packet identification framework.
232 The packet filtering and full NAT (masquerading, port forwarding,
233 etc) subsystems now use this: say `Y' or `M' here if you want to use
234 either of those.
235
236 To compile it as a module, choose M here. If unsure, say N.
237
238# The matches.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700239config IP_NF_MATCH_IPRANGE
240 tristate "IP range match support"
241 depends on IP_NF_IPTABLES
242 help
243 This option makes possible to match IP addresses against IP address
244 ranges.
245
246 To compile it as a module, choose M here. If unsure, say N.
247
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248config IP_NF_MATCH_TOS
249 tristate "TOS match support"
250 depends on IP_NF_IPTABLES
251 help
252 TOS matching allows you to match packets based on the Type Of
253 Service fields of the IP packet.
254
255 To compile it as a module, choose M here. If unsure, say N.
256
257config IP_NF_MATCH_RECENT
258 tristate "recent match support"
259 depends on IP_NF_IPTABLES
260 help
261 This match is used for creating one or many lists of recently
262 used addresses and then matching against that/those list(s).
263
264 Short options are available by using 'iptables -m recent -h'
265 Official Website: <http://snowman.net/projects/ipt_recent/>
266
267 To compile it as a module, choose M here. If unsure, say N.
268
269config IP_NF_MATCH_ECN
270 tristate "ECN match support"
271 depends on IP_NF_IPTABLES
272 help
273 This option adds a `ECN' match, which allows you to match against
274 the IPv4 and TCP header ECN fields.
275
276 To compile it as a module, choose M here. If unsure, say N.
277
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -0800278config IP_NF_MATCH_AH
279 tristate "AH match support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700280 depends on IP_NF_IPTABLES
281 help
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -0800282 This match extension allows you to match a range of SPIs
283 inside AH header of IPSec packets.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700284
285 To compile it as a module, choose M here. If unsure, say N.
286
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287config IP_NF_MATCH_TTL
288 tristate "TTL match support"
289 depends on IP_NF_IPTABLES
290 help
291 This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
292 to match packets by their TTL value.
293
294 To compile it as a module, choose M here. If unsure, say N.
295
Linus Torvalds1da177e2005-04-16 15:20:36 -0700296config IP_NF_MATCH_OWNER
297 tristate "Owner match support"
298 depends on IP_NF_IPTABLES
299 help
300 Packet owner matching allows you to match locally-generated packets
301 based on who created them: the user, group, process or session.
302
303 To compile it as a module, choose M here. If unsure, say N.
304
Linus Torvalds1da177e2005-04-16 15:20:36 -0700305config IP_NF_MATCH_ADDRTYPE
306 tristate 'address type match support'
307 depends on IP_NF_IPTABLES
308 help
309 This option allows you to match what routing thinks of an address,
310 eg. UNICAST, LOCAL, BROADCAST, ...
311
312 If you want to compile it as a module, say M here and read
313 <file:Documentation/modules.txt>. If unsure, say `N'.
314
Linus Torvalds1da177e2005-04-16 15:20:36 -0700315# `filter', generic and specific targets
316config IP_NF_FILTER
317 tristate "Packet filtering"
318 depends on IP_NF_IPTABLES
319 help
320 Packet filtering defines a table `filter', which has a series of
321 rules for simple packet filtering at local input, forwarding and
322 local output. See the man page for iptables(8).
323
324 To compile it as a module, choose M here. If unsure, say N.
325
326config IP_NF_TARGET_REJECT
327 tristate "REJECT target support"
328 depends on IP_NF_FILTER
329 help
330 The REJECT target allows a filtering rule to specify that an ICMP
331 error should be issued in response to an incoming packet, rather
332 than silently being dropped.
333
334 To compile it as a module, choose M here. If unsure, say N.
335
336config IP_NF_TARGET_LOG
337 tristate "LOG target support"
338 depends on IP_NF_IPTABLES
339 help
340 This option adds a `LOG' target, which allows you to create rules in
341 any iptables table which records the packet header to the syslog.
342
343 To compile it as a module, choose M here. If unsure, say N.
344
345config IP_NF_TARGET_ULOG
Thomas Voegtle44adf282006-04-24 17:15:54 -0700346 tristate "ULOG target support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700347 depends on IP_NF_IPTABLES
348 ---help---
Harald Weltef40863c2005-10-10 20:51:53 -0700349
350 This option enables the old IPv4-only "ipt_ULOG" implementation
351 which has been obsoleted by the new "nfnetlink_log" code (see
352 CONFIG_NETFILTER_NETLINK_LOG).
353
Linus Torvalds1da177e2005-04-16 15:20:36 -0700354 This option adds a `ULOG' target, which allows you to create rules in
355 any iptables table. The packet is passed to a userspace logging
356 daemon using netlink multicast sockets; unlike the LOG target
357 which can only be viewed through syslog.
358
Matt LaPlante44c09202006-10-03 22:34:14 +0200359 The appropriate userspace logging daemon (ulogd) may be obtained from
Linus Torvalds1da177e2005-04-16 15:20:36 -0700360 <http://www.gnumonks.org/projects/ulogd/>
361
362 To compile it as a module, choose M here. If unsure, say N.
363
364config IP_NF_TARGET_TCPMSS
365 tristate "TCPMSS target support"
366 depends on IP_NF_IPTABLES
367 ---help---
368 This option adds a `TCPMSS' target, which allows you to alter the
369 MSS value of TCP SYN packets, to control the maximum size for that
370 connection (usually limiting it to your outgoing interface's MTU
371 minus 40).
372
373 This is used to overcome criminally braindead ISPs or servers which
374 block ICMP Fragmentation Needed packets. The symptoms of this
375 problem are that everything works fine from your Linux
376 firewall/router, but machines behind it can never exchange large
377 packets:
378 1) Web browsers connect, then hang with no data received.
379 2) Small mail works fine, but large emails hang.
380 3) ssh works fine, but scp hangs after initial handshaking.
381
382 Workaround: activate this option and add a rule to your firewall
383 configuration like:
384
385 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
386 -j TCPMSS --clamp-mss-to-pmtu
387
388 To compile it as a module, choose M here. If unsure, say N.
389
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800390# NAT + specific targets: ip_conntrack
Linus Torvalds1da177e2005-04-16 15:20:36 -0700391config IP_NF_NAT
392 tristate "Full NAT"
393 depends on IP_NF_IPTABLES && IP_NF_CONNTRACK
394 help
395 The Full NAT option allows masquerading, port forwarding and other
396 forms of full Network Address Port Translation. It is controlled by
397 the `nat' table in iptables: see the man page for iptables(8).
398
399 To compile it as a module, choose M here. If unsure, say N.
400
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800401# NAT + specific targets: nf_conntrack
402config NF_NAT
403 tristate "Full NAT"
404 depends on IP_NF_IPTABLES && NF_CONNTRACK
405 help
406 The Full NAT option allows masquerading, port forwarding and other
407 forms of full Network Address Port Translation. It is controlled by
408 the `nat' table in iptables: see the man page for iptables(8).
409
410 To compile it as a module, choose M here. If unsure, say N.
411
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412config IP_NF_NAT_NEEDED
413 bool
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800414 depends on IP_NF_NAT
415 default y
416
417config NF_NAT_NEEDED
418 bool
419 depends on NF_NAT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700420 default y
421
422config IP_NF_TARGET_MASQUERADE
423 tristate "MASQUERADE target support"
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800424 depends on (NF_NAT || IP_NF_NAT)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700425 help
426 Masquerading is a special case of NAT: all outgoing connections are
427 changed to seem to come from a particular interface's address, and
428 if the interface goes down, those connections are lost. This is
429 only useful for dialup accounts with dynamic IP address (ie. your IP
430 address will be different on next dialup).
431
432 To compile it as a module, choose M here. If unsure, say N.
433
434config IP_NF_TARGET_REDIRECT
435 tristate "REDIRECT target support"
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800436 depends on (NF_NAT || IP_NF_NAT)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700437 help
438 REDIRECT is a special case of NAT: all incoming connections are
439 mapped onto the incoming interface's address, causing the packets to
440 come to the local machine instead of passing through. This is
441 useful for transparent proxies.
442
443 To compile it as a module, choose M here. If unsure, say N.
444
445config IP_NF_TARGET_NETMAP
446 tristate "NETMAP target support"
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800447 depends on (NF_NAT || IP_NF_NAT)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700448 help
449 NETMAP is an implementation of static 1:1 NAT mapping of network
450 addresses. It maps the network address part, while keeping the host
451 address part intact. It is similar to Fast NAT, except that
452 Netfilter's connection tracking doesn't work well with Fast NAT.
453
454 To compile it as a module, choose M here. If unsure, say N.
455
456config IP_NF_TARGET_SAME
457 tristate "SAME target support"
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800458 depends on (NF_NAT || IP_NF_NAT)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700459 help
460 This option adds a `SAME' target, which works like the standard SNAT
461 target, but attempts to give clients the same IP for all connections.
462
463 To compile it as a module, choose M here. If unsure, say N.
464
465config IP_NF_NAT_SNMP_BASIC
466 tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
467 depends on EXPERIMENTAL && IP_NF_NAT
468 ---help---
469
470 This module implements an Application Layer Gateway (ALG) for
471 SNMP payloads. In conjunction with NAT, it allows a network
472 management system to access multiple private networks with
473 conflicting addresses. It works by modifying IP addresses
474 inside SNMP payloads to match IP-layer NAT mapping.
475
476 This is the "basic" form of SNMP-ALG, as described in RFC 2962
477
478 To compile it as a module, choose M here. If unsure, say N.
479
Jozsef Kadlecsik55a73322006-12-02 22:07:44 -0800480# If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
481# or $CONFIG_IP_NF_FTP (m or y), whichever is weaker.
482# From kconfig-language.txt:
483#
484# <expr> '&&' <expr> (6)
485#
486# (6) Returns the result of min(/expr/, /expr/).
487config IP_NF_NAT_FTP
488 tristate
489 depends on IP_NF_IPTABLES && IP_NF_CONNTRACK && IP_NF_NAT
490 default IP_NF_NAT && IP_NF_FTP
491
492config NF_NAT_FTP
493 tristate
494 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
495 default NF_NAT && NF_CONNTRACK_FTP
496
Linus Torvalds1da177e2005-04-16 15:20:36 -0700497config IP_NF_NAT_IRC
498 tristate
499 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
500 default IP_NF_NAT if IP_NF_IRC=y
501 default m if IP_NF_IRC=m
502
Linus Torvalds1da177e2005-04-16 15:20:36 -0700503config IP_NF_NAT_TFTP
504 tristate
505 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
506 default IP_NF_NAT if IP_NF_TFTP=y
507 default m if IP_NF_TFTP=m
508
509config IP_NF_NAT_AMANDA
510 tristate
511 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
512 default IP_NF_NAT if IP_NF_AMANDA=y
513 default m if IP_NF_AMANDA=m
514
Patrick McHardy16958902006-12-02 22:08:26 -0800515config NF_NAT_AMANDA
516 tristate
517 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
518 default NF_NAT && NF_CONNTRACK_AMANDA
519
Harald Welte926b50f2005-09-19 15:33:08 -0700520config IP_NF_NAT_PPTP
521 tristate
522 depends on IP_NF_NAT!=n && IP_NF_PPTP!=n
523 default IP_NF_NAT if IP_NF_PPTP=y
524 default m if IP_NF_PPTP=m
525
Jing Min Zhao5e35941d2006-03-20 23:41:17 -0800526config IP_NF_NAT_H323
527 tristate
528 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
529 default IP_NF_NAT if IP_NF_H323=y
530 default m if IP_NF_H323=m
531
Patrick McHardyf587de02006-12-02 22:08:46 -0800532config NF_NAT_H323
533 tristate
534 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
535 default NF_NAT && NF_CONNTRACK_H323
536
Patrick McHardyae5b7d82006-05-29 18:27:09 -0700537config IP_NF_NAT_SIP
538 tristate
539 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
540 default IP_NF_NAT if IP_NF_SIP=y
541 default m if IP_NF_SIP=m
542
Linus Torvalds1da177e2005-04-16 15:20:36 -0700543# mangle + specific targets
544config IP_NF_MANGLE
545 tristate "Packet mangling"
546 depends on IP_NF_IPTABLES
547 help
548 This option adds a `mangle' table to iptables: see the man page for
549 iptables(8). This table is used for various packet alterations
550 which can effect how the packet is routed.
551
552 To compile it as a module, choose M here. If unsure, say N.
553
554config IP_NF_TARGET_TOS
555 tristate "TOS target support"
556 depends on IP_NF_MANGLE
557 help
558 This option adds a `TOS' target, which allows you to create rules in
559 the `mangle' table which alter the Type Of Service field of an IP
560 packet prior to routing.
561
562 To compile it as a module, choose M here. If unsure, say N.
563
564config IP_NF_TARGET_ECN
565 tristate "ECN target support"
566 depends on IP_NF_MANGLE
567 ---help---
568 This option adds a `ECN' target, which can be used in the iptables mangle
569 table.
570
571 You can use this target to remove the ECN bits from the IPv4 header of
572 an IP packet. This is particularly useful, if you need to work around
573 existing ECN blackholes on the internet, but don't want to disable
574 ECN support in general.
575
576 To compile it as a module, choose M here. If unsure, say N.
577
Harald Welte5f2c3b92005-08-27 22:37:03 -0700578config IP_NF_TARGET_TTL
579 tristate 'TTL target support'
580 depends on IP_NF_MANGLE
581 help
582 This option adds a `TTL' target, which enables the user to modify
583 the TTL value of the IP header.
584
585 While it is safe to decrement/lower the TTL, this target also enables
586 functionality to increment and set the TTL value of the IP header to
587 arbitrary values. This is EXTREMELY DANGEROUS since you can easily
588 create immortal packets that loop forever on the network.
589
590 To compile it as a module, choose M here. If unsure, say N.
591
Linus Torvalds1da177e2005-04-16 15:20:36 -0700592config IP_NF_TARGET_CLUSTERIP
593 tristate "CLUSTERIP target support (EXPERIMENTAL)"
Yasuyuki Kozakai2b8f2ff2005-11-20 21:09:55 -0800594 depends on IP_NF_MANGLE && EXPERIMENTAL
595 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK_IPV4)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700596 help
597 The CLUSTERIP target allows you to build load-balancing clusters of
598 network servers without having a dedicated load-balancing
599 router/server/switch.
600
601 To compile it as a module, choose M here. If unsure, say N.
602
603# raw + specific targets
604config IP_NF_RAW
605 tristate 'raw table support (required for NOTRACK/TRACE)'
606 depends on IP_NF_IPTABLES
607 help
608 This option adds a `raw' table to iptables. This table is the very
609 first in the netfilter framework and hooks in at the PREROUTING
610 and OUTPUT chains.
611
612 If you want to compile it as a module, say M here and read
613 <file:Documentation/modules.txt>. If unsure, say `N'.
614
Linus Torvalds1da177e2005-04-16 15:20:36 -0700615# ARP tables
616config IP_NF_ARPTABLES
617 tristate "ARP tables support"
Harald Welte2e4e6a12006-01-12 13:30:04 -0800618 depends on NETFILTER_XTABLES
Linus Torvalds1da177e2005-04-16 15:20:36 -0700619 help
620 arptables is a general, extensible packet identification framework.
621 The ARP packet filtering and mangling (manipulation)subsystems
622 use this: say Y or M here if you want to use either of those.
623
624 To compile it as a module, choose M here. If unsure, say N.
625
626config IP_NF_ARPFILTER
627 tristate "ARP packet filtering"
628 depends on IP_NF_ARPTABLES
629 help
630 ARP packet filtering defines a table `filter', which has a series of
631 rules for simple ARP packet filtering at local input and
632 local output. On a bridge, you can also specify filtering rules
633 for forwarded ARP packets. See the man page for arptables(8).
634
635 To compile it as a module, choose M here. If unsure, say N.
636
637config IP_NF_ARP_MANGLE
638 tristate "ARP payload mangling"
639 depends on IP_NF_ARPTABLES
640 help
641 Allows altering the ARP packet payload: source and destination
642 hardware and network addresses.
643
Linus Torvalds1da177e2005-04-16 15:20:36 -0700644endmenu
645