blob: 9aca9c55687cd6bfd6a96a63bb40d90b8d1f3ba1 [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
Patrick McHardyc9386cf2007-01-04 12:16:06 -08009 tristate "IPv4 connection tracking support (required for NAT)"
10 depends on NF_CONNTRACK
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080011 ---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 -070033config IP_NF_QUEUE
Harald Welte7af4cc32005-08-09 19:44:15 -070034 tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
Linus Torvalds1da177e2005-04-16 15:20:36 -070035 help
36 Netfilter has the ability to queue packets to user space: the
37 netlink device can be used to access them using this driver.
38
Harald Welte7af4cc32005-08-09 19:44:15 -070039 This option enables the old IPv4-only "ip_queue" implementation
40 which has been obsoleted by the new "nfnetlink_queue" code (see
41 CONFIG_NETFILTER_NETLINK_QUEUE).
42
Linus Torvalds1da177e2005-04-16 15:20:36 -070043 To compile it as a module, choose M here. If unsure, say N.
44
45config IP_NF_IPTABLES
46 tristate "IP tables support (required for filtering/masq/NAT)"
Patrick McHardya3c941b2007-02-12 11:15:02 -080047 select NETFILTER_XTABLES
Linus Torvalds1da177e2005-04-16 15:20:36 -070048 help
49 iptables is a general, extensible packet identification framework.
50 The packet filtering and full NAT (masquerading, port forwarding,
51 etc) subsystems now use this: say `Y' or `M' here if you want to use
52 either of those.
53
54 To compile it as a module, choose M here. If unsure, say N.
55
56# The matches.
Linus Torvalds1da177e2005-04-16 15:20:36 -070057config IP_NF_MATCH_IPRANGE
58 tristate "IP range match support"
59 depends on IP_NF_IPTABLES
60 help
61 This option makes possible to match IP addresses against IP address
62 ranges.
63
64 To compile it as a module, choose M here. If unsure, say N.
65
Linus Torvalds1da177e2005-04-16 15:20:36 -070066config IP_NF_MATCH_TOS
67 tristate "TOS match support"
68 depends on IP_NF_IPTABLES
69 help
70 TOS matching allows you to match packets based on the Type Of
71 Service fields of the IP packet.
72
73 To compile it as a module, choose M here. If unsure, say N.
74
75config IP_NF_MATCH_RECENT
76 tristate "recent match support"
77 depends on IP_NF_IPTABLES
78 help
79 This match is used for creating one or many lists of recently
80 used addresses and then matching against that/those list(s).
81
82 Short options are available by using 'iptables -m recent -h'
83 Official Website: <http://snowman.net/projects/ipt_recent/>
84
85 To compile it as a module, choose M here. If unsure, say N.
86
87config IP_NF_MATCH_ECN
88 tristate "ECN match support"
89 depends on IP_NF_IPTABLES
90 help
91 This option adds a `ECN' match, which allows you to match against
92 the IPv4 and TCP header ECN fields.
93
94 To compile it as a module, choose M here. If unsure, say N.
95
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -080096config IP_NF_MATCH_AH
97 tristate "AH match support"
Linus Torvalds1da177e2005-04-16 15:20:36 -070098 depends on IP_NF_IPTABLES
99 help
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -0800100 This match extension allows you to match a range of SPIs
101 inside AH header of IPSec packets.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102
103 To compile it as a module, choose M here. If unsure, say N.
104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105config IP_NF_MATCH_TTL
106 tristate "TTL match support"
107 depends on IP_NF_IPTABLES
108 help
109 This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
110 to match packets by their TTL value.
111
112 To compile it as a module, choose M here. If unsure, say N.
113
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114config IP_NF_MATCH_OWNER
115 tristate "Owner match support"
116 depends on IP_NF_IPTABLES
117 help
118 Packet owner matching allows you to match locally-generated packets
119 based on who created them: the user, group, process or session.
120
121 To compile it as a module, choose M here. If unsure, say N.
122
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123config IP_NF_MATCH_ADDRTYPE
124 tristate 'address type match support'
125 depends on IP_NF_IPTABLES
126 help
127 This option allows you to match what routing thinks of an address,
128 eg. UNICAST, LOCAL, BROADCAST, ...
129
130 If you want to compile it as a module, say M here and read
Dirk Hohndele4031492007-10-30 13:37:19 -0700131 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700132
Linus Torvalds1da177e2005-04-16 15:20:36 -0700133# `filter', generic and specific targets
134config IP_NF_FILTER
135 tristate "Packet filtering"
136 depends on IP_NF_IPTABLES
137 help
138 Packet filtering defines a table `filter', which has a series of
139 rules for simple packet filtering at local input, forwarding and
140 local output. See the man page for iptables(8).
141
142 To compile it as a module, choose M here. If unsure, say N.
143
144config IP_NF_TARGET_REJECT
145 tristate "REJECT target support"
146 depends on IP_NF_FILTER
147 help
148 The REJECT target allows a filtering rule to specify that an ICMP
149 error should be issued in response to an incoming packet, rather
150 than silently being dropped.
151
152 To compile it as a module, choose M here. If unsure, say N.
153
154config IP_NF_TARGET_LOG
155 tristate "LOG target support"
156 depends on IP_NF_IPTABLES
157 help
158 This option adds a `LOG' target, which allows you to create rules in
159 any iptables table which records the packet header to the syslog.
160
161 To compile it as a module, choose M here. If unsure, say N.
162
163config IP_NF_TARGET_ULOG
Thomas Voegtle44adf282006-04-24 17:15:54 -0700164 tristate "ULOG target support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165 depends on IP_NF_IPTABLES
166 ---help---
Harald Weltef40863c2005-10-10 20:51:53 -0700167
168 This option enables the old IPv4-only "ipt_ULOG" implementation
169 which has been obsoleted by the new "nfnetlink_log" code (see
170 CONFIG_NETFILTER_NETLINK_LOG).
171
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 This option adds a `ULOG' target, which allows you to create rules in
173 any iptables table. The packet is passed to a userspace logging
174 daemon using netlink multicast sockets; unlike the LOG target
175 which can only be viewed through syslog.
176
Matt LaPlante44c09202006-10-03 22:34:14 +0200177 The appropriate userspace logging daemon (ulogd) may be obtained from
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178 <http://www.gnumonks.org/projects/ulogd/>
179
180 To compile it as a module, choose M here. If unsure, say N.
181
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800182# NAT + specific targets: nf_conntrack
183config NF_NAT
184 tristate "Full NAT"
Yasuyuki Kozakai083e69e2006-12-12 00:28:09 -0800185 depends on IP_NF_IPTABLES && NF_CONNTRACK_IPV4
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800186 help
187 The Full NAT option allows masquerading, port forwarding and other
188 forms of full Network Address Port Translation. It is controlled by
189 the `nat' table in iptables: see the man page for iptables(8).
190
191 To compile it as a module, choose M here. If unsure, say N.
192
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800193config NF_NAT_NEEDED
194 bool
195 depends on NF_NAT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 default y
197
198config IP_NF_TARGET_MASQUERADE
199 tristate "MASQUERADE target support"
Patrick McHardy587aa642007-03-14 16:37:25 -0700200 depends on NF_NAT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700201 help
202 Masquerading is a special case of NAT: all outgoing connections are
203 changed to seem to come from a particular interface's address, and
204 if the interface goes down, those connections are lost. This is
205 only useful for dialup accounts with dynamic IP address (ie. your IP
206 address will be different on next dialup).
207
208 To compile it as a module, choose M here. If unsure, say N.
209
210config IP_NF_TARGET_REDIRECT
211 tristate "REDIRECT target support"
Patrick McHardy587aa642007-03-14 16:37:25 -0700212 depends on NF_NAT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213 help
214 REDIRECT is a special case of NAT: all incoming connections are
215 mapped onto the incoming interface's address, causing the packets to
216 come to the local machine instead of passing through. This is
217 useful for transparent proxies.
218
219 To compile it as a module, choose M here. If unsure, say N.
220
221config IP_NF_TARGET_NETMAP
222 tristate "NETMAP target support"
Patrick McHardy587aa642007-03-14 16:37:25 -0700223 depends on NF_NAT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700224 help
225 NETMAP is an implementation of static 1:1 NAT mapping of network
226 addresses. It maps the network address part, while keeping the host
227 address part intact. It is similar to Fast NAT, except that
228 Netfilter's connection tracking doesn't work well with Fast NAT.
229
230 To compile it as a module, choose M here. If unsure, say N.
231
232config IP_NF_TARGET_SAME
Patrick McHardy3569b622007-07-07 22:38:07 -0700233 tristate "SAME target support (OBSOLETE)"
Patrick McHardy587aa642007-03-14 16:37:25 -0700234 depends on NF_NAT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700235 help
236 This option adds a `SAME' target, which works like the standard SNAT
237 target, but attempts to give clients the same IP for all connections.
238
239 To compile it as a module, choose M here. If unsure, say N.
240
Patrick McHardy807467c2006-12-02 22:10:34 -0800241config NF_NAT_SNMP_BASIC
242 tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
243 depends on EXPERIMENTAL && NF_NAT
244 ---help---
245
246 This module implements an Application Layer Gateway (ALG) for
247 SNMP payloads. In conjunction with NAT, it allows a network
248 management system to access multiple private networks with
249 conflicting addresses. It works by modifying IP addresses
250 inside SNMP payloads to match IP-layer NAT mapping.
251
252 This is the "basic" form of SNMP-ALG, as described in RFC 2962
253
254 To compile it as a module, choose M here. If unsure, say N.
255
Jozsef Kadlecsik55a73322006-12-02 22:07:44 -0800256# If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
257# or $CONFIG_IP_NF_FTP (m or y), whichever is weaker.
258# From kconfig-language.txt:
259#
260# <expr> '&&' <expr> (6)
261#
262# (6) Returns the result of min(/expr/, /expr/).
Patrick McHardyf09943f2006-12-02 22:09:41 -0800263config NF_NAT_PROTO_GRE
264 tristate
265 depends on NF_NAT && NF_CT_PROTO_GRE
266
Jozsef Kadlecsik55a73322006-12-02 22:07:44 -0800267config NF_NAT_FTP
268 tristate
269 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
270 default NF_NAT && NF_CONNTRACK_FTP
271
Patrick McHardy869f37d2006-12-02 22:09:06 -0800272config NF_NAT_IRC
273 tristate
274 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
275 default NF_NAT && NF_CONNTRACK_IRC
276
Patrick McHardya536df32006-12-02 22:10:18 -0800277config NF_NAT_TFTP
278 tristate
279 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
280 default NF_NAT && NF_CONNTRACK_TFTP
281
Patrick McHardy16958902006-12-02 22:08:26 -0800282config NF_NAT_AMANDA
283 tristate
284 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
285 default NF_NAT && NF_CONNTRACK_AMANDA
286
Patrick McHardyf09943f2006-12-02 22:09:41 -0800287config NF_NAT_PPTP
288 tristate
289 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
290 default NF_NAT && NF_CONNTRACK_PPTP
291 select NF_NAT_PROTO_GRE
292
Patrick McHardyf587de02006-12-02 22:08:46 -0800293config NF_NAT_H323
294 tristate
295 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
296 default NF_NAT && NF_CONNTRACK_H323
297
Patrick McHardy9fafcd72006-12-02 22:09:57 -0800298config NF_NAT_SIP
299 tristate
300 depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
301 default NF_NAT && NF_CONNTRACK_SIP
302
Linus Torvalds1da177e2005-04-16 15:20:36 -0700303# mangle + specific targets
304config IP_NF_MANGLE
305 tristate "Packet mangling"
306 depends on IP_NF_IPTABLES
307 help
308 This option adds a `mangle' table to iptables: see the man page for
309 iptables(8). This table is used for various packet alterations
310 which can effect how the packet is routed.
311
312 To compile it as a module, choose M here. If unsure, say N.
313
314config IP_NF_TARGET_TOS
315 tristate "TOS target support"
316 depends on IP_NF_MANGLE
317 help
318 This option adds a `TOS' target, which allows you to create rules in
319 the `mangle' table which alter the Type Of Service field of an IP
320 packet prior to routing.
321
322 To compile it as a module, choose M here. If unsure, say N.
323
324config IP_NF_TARGET_ECN
325 tristate "ECN target support"
326 depends on IP_NF_MANGLE
327 ---help---
328 This option adds a `ECN' target, which can be used in the iptables mangle
329 table.
330
331 You can use this target to remove the ECN bits from the IPv4 header of
332 an IP packet. This is particularly useful, if you need to work around
333 existing ECN blackholes on the internet, but don't want to disable
334 ECN support in general.
335
336 To compile it as a module, choose M here. If unsure, say N.
337
Harald Welte5f2c3b92005-08-27 22:37:03 -0700338config IP_NF_TARGET_TTL
339 tristate 'TTL target support'
340 depends on IP_NF_MANGLE
341 help
342 This option adds a `TTL' target, which enables the user to modify
343 the TTL value of the IP header.
344
345 While it is safe to decrement/lower the TTL, this target also enables
346 functionality to increment and set the TTL value of the IP header to
347 arbitrary values. This is EXTREMELY DANGEROUS since you can easily
348 create immortal packets that loop forever on the network.
349
350 To compile it as a module, choose M here. If unsure, say N.
351
Linus Torvalds1da177e2005-04-16 15:20:36 -0700352config IP_NF_TARGET_CLUSTERIP
353 tristate "CLUSTERIP target support (EXPERIMENTAL)"
Yasuyuki Kozakai2b8f2ff2005-11-20 21:09:55 -0800354 depends on IP_NF_MANGLE && EXPERIMENTAL
Patrick McHardy587aa642007-03-14 16:37:25 -0700355 depends on NF_CONNTRACK_IPV4
356 select NF_CONNTRACK_MARK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700357 help
358 The CLUSTERIP target allows you to build load-balancing clusters of
359 network servers without having a dedicated load-balancing
360 router/server/switch.
361
362 To compile it as a module, choose M here. If unsure, say N.
363
364# raw + specific targets
365config IP_NF_RAW
366 tristate 'raw table support (required for NOTRACK/TRACE)'
367 depends on IP_NF_IPTABLES
368 help
369 This option adds a `raw' table to iptables. This table is the very
370 first in the netfilter framework and hooks in at the PREROUTING
371 and OUTPUT chains.
372
373 If you want to compile it as a module, say M here and read
Dirk Hohndele4031492007-10-30 13:37:19 -0700374 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700375
Linus Torvalds1da177e2005-04-16 15:20:36 -0700376# ARP tables
377config IP_NF_ARPTABLES
378 tristate "ARP tables support"
Patrick McHardya3c941b2007-02-12 11:15:02 -0800379 select NETFILTER_XTABLES
Linus Torvalds1da177e2005-04-16 15:20:36 -0700380 help
381 arptables is a general, extensible packet identification framework.
382 The ARP packet filtering and mangling (manipulation)subsystems
383 use this: say Y or M here if you want to use either of those.
384
385 To compile it as a module, choose M here. If unsure, say N.
386
387config IP_NF_ARPFILTER
388 tristate "ARP packet filtering"
389 depends on IP_NF_ARPTABLES
390 help
391 ARP packet filtering defines a table `filter', which has a series of
392 rules for simple ARP packet filtering at local input and
393 local output. On a bridge, you can also specify filtering rules
394 for forwarded ARP packets. See the man page for arptables(8).
395
396 To compile it as a module, choose M here. If unsure, say N.
397
398config IP_NF_ARP_MANGLE
399 tristate "ARP payload mangling"
400 depends on IP_NF_ARPTABLES
401 help
402 Allows altering the ARP packet payload: source and destination
403 hardware and network addresses.
404
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405endmenu
406