blob: f926a310075d16aa4d286f76018d072dbdffe7a5 [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
KOVACS Krisztian73e40222008-10-08 11:35:12 +02008config NF_DEFRAG_IPV4
9 tristate
10 default n
11
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080012config NF_CONNTRACK_IPV4
Patrick McHardyc9386cf2007-01-04 12:16:06 -080013 tristate "IPv4 connection tracking support (required for NAT)"
14 depends on NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -080015 default m if NETFILTER_ADVANCED=n
KOVACS Krisztian73e40222008-10-08 11:35:12 +020016 select NF_DEFRAG_IPV4
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080017 ---help---
18 Connection tracking keeps a record of what packets have passed
19 through your machine, in order to figure out how they are related
20 into connections.
21
22 This is IPv4 support on Layer 3 independent connection tracking.
23 Layer 3 independent connection tracking is experimental scheme
24 which generalize ip_conntrack to support other layer 3 protocols.
25
26 To compile it as a module, choose M here. If unsure, say N.
27
Patrick McHardya999e682006-11-29 02:35:20 +010028config NF_CONNTRACK_PROC_COMPAT
29 bool "proc/sysctl compatibility with old connection tracking"
Patrick McHardy0c4ca1b2006-12-02 22:04:24 -080030 depends on NF_CONNTRACK_IPV4
Patrick McHardya999e682006-11-29 02:35:20 +010031 default y
32 help
33 This option enables /proc and sysctl compatibility with the old
Stephen Hemminger67c0d572009-03-16 15:17:23 +010034 layer 3 dependent connection tracking. This is needed to keep
Patrick McHardya999e682006-11-29 02:35:20 +010035 old programs that have not been adapted to the new names working.
36
37 If unsure, say Y.
38
Linus Torvalds1da177e2005-04-16 15:20:36 -070039config IP_NF_QUEUE
Harald Welte7af4cc32005-08-09 19:44:15 -070040 tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
Patrick McHardy33b8e772007-12-17 22:47:05 -080041 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070042 help
43 Netfilter has the ability to queue packets to user space: the
44 netlink device can be used to access them using this driver.
45
Harald Welte7af4cc32005-08-09 19:44:15 -070046 This option enables the old IPv4-only "ip_queue" implementation
47 which has been obsoleted by the new "nfnetlink_queue" code (see
48 CONFIG_NETFILTER_NETLINK_QUEUE).
49
Linus Torvalds1da177e2005-04-16 15:20:36 -070050 To compile it as a module, choose M here. If unsure, say N.
51
52config IP_NF_IPTABLES
53 tristate "IP tables support (required for filtering/masq/NAT)"
Patrick McHardy33b8e772007-12-17 22:47:05 -080054 default m if NETFILTER_ADVANCED=n
Patrick McHardya3c941b2007-02-12 11:15:02 -080055 select NETFILTER_XTABLES
Linus Torvalds1da177e2005-04-16 15:20:36 -070056 help
57 iptables is a general, extensible packet identification framework.
58 The packet filtering and full NAT (masquerading, port forwarding,
59 etc) subsystems now use this: say `Y' or `M' here if you want to use
60 either of those.
61
62 To compile it as a module, choose M here. If unsure, say N.
63
Jan Engelhardtc2df73d2008-10-08 11:35:18 +020064if IP_NF_IPTABLES
65
Linus Torvalds1da177e2005-04-16 15:20:36 -070066# The matches.
Jan Engelhardtaba0d342008-10-08 11:35:17 +020067config IP_NF_MATCH_ADDRTYPE
68 tristate '"addrtype" address type match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080069 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070070 help
Jan Engelhardtaba0d342008-10-08 11:35:17 +020071 This option allows you to match what routing thinks of an address,
72 eg. UNICAST, LOCAL, BROADCAST, ...
Linus Torvalds1da177e2005-04-16 15:20:36 -070073
Jan Engelhardtaba0d342008-10-08 11:35:17 +020074 If you want to compile it as a module, say M here and read
75 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Linus Torvalds1da177e2005-04-16 15:20:36 -070076
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -080077config IP_NF_MATCH_AH
Jan Engelhardt4c377992007-12-04 23:31:59 -080078 tristate '"ah" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080079 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070080 help
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -080081 This match extension allows you to match a range of SPIs
82 inside AH header of IPSec packets.
Linus Torvalds1da177e2005-04-16 15:20:36 -070083
84 To compile it as a module, choose M here. If unsure, say N.
85
Jan Engelhardtaba0d342008-10-08 11:35:17 +020086config IP_NF_MATCH_ECN
87 tristate '"ecn" match support'
Jan Engelhardtaba0d342008-10-08 11:35:17 +020088 depends on NETFILTER_ADVANCED
89 help
90 This option adds a `ECN' match, which allows you to match against
91 the IPv4 and TCP header ECN fields.
92
93 To compile it as a module, choose M here. If unsure, say N.
94
Jan Engelhardt43233622009-02-19 11:16:03 +010095config IP_NF_MATCH_TTL
96 tristate '"ttl" match support'
97 depends on NETFILTER_ADVANCED
98 select NETFILTER_XT_MATCH_HL
99 ---help---
100 This is a backwards-compat option for the user's convenience
101 (e.g. when running oldconfig). It selects
Stephen Hemminger67c0d572009-03-16 15:17:23 +0100102 CONFIG_NETFILTER_XT_MATCH_HL.
Jan Engelhardt43233622009-02-19 11:16:03 +0100103
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104# `filter', generic and specific targets
105config IP_NF_FILTER
106 tristate "Packet filtering"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800107 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108 help
109 Packet filtering defines a table `filter', which has a series of
110 rules for simple packet filtering at local input, forwarding and
111 local output. See the man page for iptables(8).
112
113 To compile it as a module, choose M here. If unsure, say N.
114
115config IP_NF_TARGET_REJECT
116 tristate "REJECT target support"
117 depends on IP_NF_FILTER
Patrick McHardy33b8e772007-12-17 22:47:05 -0800118 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119 help
120 The REJECT target allows a filtering rule to specify that an ICMP
121 error should be issued in response to an incoming packet, rather
122 than silently being dropped.
123
124 To compile it as a module, choose M here. If unsure, say N.
125
126config IP_NF_TARGET_LOG
127 tristate "LOG target support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800128 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 help
130 This option adds a `LOG' target, which allows you to create rules in
131 any iptables table which records the packet header to the syslog.
132
133 To compile it as a module, choose M here. If unsure, say N.
134
135config IP_NF_TARGET_ULOG
Thomas Voegtle44adf282006-04-24 17:15:54 -0700136 tristate "ULOG target support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800137 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138 ---help---
Harald Weltef40863c2005-10-10 20:51:53 -0700139
140 This option enables the old IPv4-only "ipt_ULOG" implementation
141 which has been obsoleted by the new "nfnetlink_log" code (see
142 CONFIG_NETFILTER_NETLINK_LOG).
143
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144 This option adds a `ULOG' target, which allows you to create rules in
145 any iptables table. The packet is passed to a userspace logging
146 daemon using netlink multicast sockets; unlike the LOG target
147 which can only be viewed through syslog.
148
Matt LaPlante44c09202006-10-03 22:34:14 +0200149 The appropriate userspace logging daemon (ulogd) may be obtained from
Justin P. Mattock631dd1a2010-10-18 11:03:14 +0200150 <http://www.netfilter.org/projects/ulogd/index.html>
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151
152 To compile it as a module, choose M here. If unsure, say N.
153
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800154# NAT + specific targets: nf_conntrack
155config NF_NAT
156 tristate "Full NAT"
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200157 depends on NF_CONNTRACK_IPV4
Patrick McHardy33b8e772007-12-17 22:47:05 -0800158 default m if NETFILTER_ADVANCED=n
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800159 help
160 The Full NAT option allows masquerading, port forwarding and other
161 forms of full Network Address Port Translation. It is controlled by
162 the `nat' table in iptables: see the man page for iptables(8).
163
164 To compile it as a module, choose M here. If unsure, say N.
165
Jozsef Kadlecsik5b1158e2006-12-02 22:07:13 -0800166config NF_NAT_NEEDED
167 bool
168 depends on NF_NAT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169 default y
170
171config IP_NF_TARGET_MASQUERADE
172 tristate "MASQUERADE target support"
Patrick McHardy587aa642007-03-14 16:37:25 -0700173 depends on NF_NAT
Patrick McHardy33b8e772007-12-17 22:47:05 -0800174 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700175 help
176 Masquerading is a special case of NAT: all outgoing connections are
177 changed to seem to come from a particular interface's address, and
178 if the interface goes down, those connections are lost. This is
179 only useful for dialup accounts with dynamic IP address (ie. your IP
180 address will be different on next dialup).
181
182 To compile it as a module, choose M here. If unsure, say N.
183
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200184config IP_NF_TARGET_NETMAP
185 tristate "NETMAP target support"
186 depends on NF_NAT
187 depends on NETFILTER_ADVANCED
188 help
189 NETMAP is an implementation of static 1:1 NAT mapping of network
190 addresses. It maps the network address part, while keeping the host
191 address part intact.
192
193 To compile it as a module, choose M here. If unsure, say N.
194
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195config IP_NF_TARGET_REDIRECT
196 tristate "REDIRECT target support"
Patrick McHardy587aa642007-03-14 16:37:25 -0700197 depends on NF_NAT
Patrick McHardy33b8e772007-12-17 22:47:05 -0800198 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700199 help
200 REDIRECT is a special case of NAT: all incoming connections are
201 mapped onto the incoming interface's address, causing the packets to
202 come to the local machine instead of passing through. This is
203 useful for transparent proxies.
204
205 To compile it as a module, choose M here. If unsure, say N.
206
Patrick McHardy807467c2006-12-02 22:10:34 -0800207config NF_NAT_SNMP_BASIC
Patrick McHardy8ce22fc2008-01-14 23:31:36 -0800208 tristate "Basic SNMP-ALG support"
Jiri Olsa93557f52011-01-18 18:12:24 +0100209 depends on NF_CONNTRACK_SNMP && NF_NAT
Patrick McHardy33b8e772007-12-17 22:47:05 -0800210 depends on NETFILTER_ADVANCED
Jiri Olsa93557f52011-01-18 18:12:24 +0100211 default NF_NAT && NF_CONNTRACK_SNMP
Patrick McHardy807467c2006-12-02 22:10:34 -0800212 ---help---
213
214 This module implements an Application Layer Gateway (ALG) for
215 SNMP payloads. In conjunction with NAT, it allows a network
216 management system to access multiple private networks with
217 conflicting addresses. It works by modifying IP addresses
218 inside SNMP payloads to match IP-layer NAT mapping.
219
220 This is the "basic" form of SNMP-ALG, as described in RFC 2962
221
222 To compile it as a module, choose M here. If unsure, say N.
223
Jozsef Kadlecsik55a73322006-12-02 22:07:44 -0800224# If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
225# or $CONFIG_IP_NF_FTP (m or y), whichever is weaker.
226# From kconfig-language.txt:
227#
228# <expr> '&&' <expr> (6)
229#
230# (6) Returns the result of min(/expr/, /expr/).
Patrick McHardy4910a082008-03-20 15:15:57 +0100231config NF_NAT_PROTO_DCCP
232 tristate
233 depends on NF_NAT && NF_CT_PROTO_DCCP
234 default NF_NAT && NF_CT_PROTO_DCCP
235
Patrick McHardyf09943f2006-12-02 22:09:41 -0800236config NF_NAT_PROTO_GRE
237 tristate
238 depends on NF_NAT && NF_CT_PROTO_GRE
239
Patrick McHardy6185f872008-03-20 15:15:51 +0100240config NF_NAT_PROTO_UDPLITE
241 tristate
242 depends on NF_NAT && NF_CT_PROTO_UDPLITE
243 default NF_NAT && NF_CT_PROTO_UDPLITE
244
Patrick McHardy9d908a62008-04-14 11:15:50 +0200245config NF_NAT_PROTO_SCTP
246 tristate
247 default NF_NAT && NF_CT_PROTO_SCTP
248 depends on NF_NAT && NF_CT_PROTO_SCTP
Patrick McHardy4e9d8a72008-04-19 17:52:51 -0700249 select LIBCRC32C
Patrick McHardy9d908a62008-04-14 11:15:50 +0200250
Jozsef Kadlecsik55a73322006-12-02 22:07:44 -0800251config NF_NAT_FTP
252 tristate
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200253 depends on NF_CONNTRACK && NF_NAT
Jozsef Kadlecsik55a73322006-12-02 22:07:44 -0800254 default NF_NAT && NF_CONNTRACK_FTP
255
Patrick McHardy869f37d2006-12-02 22:09:06 -0800256config NF_NAT_IRC
257 tristate
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200258 depends on NF_CONNTRACK && NF_NAT
Patrick McHardy869f37d2006-12-02 22:09:06 -0800259 default NF_NAT && NF_CONNTRACK_IRC
260
Patrick McHardya536df32006-12-02 22:10:18 -0800261config NF_NAT_TFTP
262 tristate
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200263 depends on NF_CONNTRACK && NF_NAT
Patrick McHardya536df32006-12-02 22:10:18 -0800264 default NF_NAT && NF_CONNTRACK_TFTP
265
Patrick McHardy16958902006-12-02 22:08:26 -0800266config NF_NAT_AMANDA
267 tristate
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200268 depends on NF_CONNTRACK && NF_NAT
Patrick McHardy16958902006-12-02 22:08:26 -0800269 default NF_NAT && NF_CONNTRACK_AMANDA
270
Patrick McHardyf09943f2006-12-02 22:09:41 -0800271config NF_NAT_PPTP
272 tristate
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200273 depends on NF_CONNTRACK && NF_NAT
Patrick McHardyf09943f2006-12-02 22:09:41 -0800274 default NF_NAT && NF_CONNTRACK_PPTP
275 select NF_NAT_PROTO_GRE
276
Patrick McHardyf587de02006-12-02 22:08:46 -0800277config NF_NAT_H323
278 tristate
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200279 depends on NF_CONNTRACK && NF_NAT
Patrick McHardyf587de02006-12-02 22:08:46 -0800280 default NF_NAT && NF_CONNTRACK_H323
281
Patrick McHardy9fafcd72006-12-02 22:09:57 -0800282config NF_NAT_SIP
283 tristate
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200284 depends on NF_CONNTRACK && NF_NAT
Patrick McHardy9fafcd72006-12-02 22:09:57 -0800285 default NF_NAT && NF_CONNTRACK_SIP
286
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287# mangle + specific targets
288config IP_NF_MANGLE
289 tristate "Packet mangling"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800290 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700291 help
292 This option adds a `mangle' table to iptables: see the man page for
293 iptables(8). This table is used for various packet alterations
294 which can effect how the packet is routed.
295
296 To compile it as a module, choose M here. If unsure, say N.
297
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200298config IP_NF_TARGET_CLUSTERIP
299 tristate "CLUSTERIP target support (EXPERIMENTAL)"
300 depends on IP_NF_MANGLE && EXPERIMENTAL
301 depends on NF_CONNTRACK_IPV4
302 depends on NETFILTER_ADVANCED
303 select NF_CONNTRACK_MARK
304 help
305 The CLUSTERIP target allows you to build load-balancing clusters of
306 network servers without having a dedicated load-balancing
307 router/server/switch.
308
309 To compile it as a module, choose M here. If unsure, say N.
310
Linus Torvalds1da177e2005-04-16 15:20:36 -0700311config IP_NF_TARGET_ECN
312 tristate "ECN target support"
313 depends on IP_NF_MANGLE
Patrick McHardy33b8e772007-12-17 22:47:05 -0800314 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700315 ---help---
316 This option adds a `ECN' target, which can be used in the iptables mangle
317 table.
318
319 You can use this target to remove the ECN bits from the IPv4 header of
320 an IP packet. This is particularly useful, if you need to work around
321 existing ECN blackholes on the internet, but don't want to disable
322 ECN support in general.
323
324 To compile it as a module, choose M here. If unsure, say N.
325
Jan Engelhardt43233622009-02-19 11:16:03 +0100326config IP_NF_TARGET_TTL
327 tristate '"TTL" target support'
Randy Dunlap76b67172010-10-18 11:13:30 +0200328 depends on NETFILTER_ADVANCED && IP_NF_MANGLE
Jan Engelhardt43233622009-02-19 11:16:03 +0100329 select NETFILTER_XT_TARGET_HL
330 ---help---
Randy Dunlap76b67172010-10-18 11:13:30 +0200331 This is a backwards-compatible option for the user's convenience
Jan Engelhardt43233622009-02-19 11:16:03 +0100332 (e.g. when running oldconfig). It selects
Stephen Hemminger67c0d572009-03-16 15:17:23 +0100333 CONFIG_NETFILTER_XT_TARGET_HL.
Jan Engelhardt43233622009-02-19 11:16:03 +0100334
Linus Torvalds1da177e2005-04-16 15:20:36 -0700335# raw + specific targets
336config IP_NF_RAW
337 tristate 'raw table support (required for NOTRACK/TRACE)'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800338 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700339 help
340 This option adds a `raw' table to iptables. This table is the very
341 first in the netfilter framework and hooks in at the PREROUTING
342 and OUTPUT chains.
343
344 If you want to compile it as a module, say M here and read
Dirk Hohndele4031492007-10-30 13:37:19 -0700345 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700346
James Morris560ee652008-06-09 15:57:24 -0700347# security table for MAC policy
348config IP_NF_SECURITY
349 tristate "Security table"
James Morris560ee652008-06-09 15:57:24 -0700350 depends on SECURITY
Patrick McHardy70eed752008-07-23 16:42:42 -0700351 depends on NETFILTER_ADVANCED
James Morris560ee652008-06-09 15:57:24 -0700352 help
353 This option adds a `security' table to iptables, for use
354 with Mandatory Access Control (MAC) policy.
355
356 If unsure, say N.
357
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200358endif # IP_NF_IPTABLES
359
Linus Torvalds1da177e2005-04-16 15:20:36 -0700360# ARP tables
361config IP_NF_ARPTABLES
362 tristate "ARP tables support"
Patrick McHardya3c941b2007-02-12 11:15:02 -0800363 select NETFILTER_XTABLES
Patrick McHardy33b8e772007-12-17 22:47:05 -0800364 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700365 help
366 arptables is a general, extensible packet identification framework.
367 The ARP packet filtering and mangling (manipulation)subsystems
368 use this: say Y or M here if you want to use either of those.
369
370 To compile it as a module, choose M here. If unsure, say N.
371
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200372if IP_NF_ARPTABLES
373
Linus Torvalds1da177e2005-04-16 15:20:36 -0700374config IP_NF_ARPFILTER
375 tristate "ARP packet filtering"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700376 help
377 ARP packet filtering defines a table `filter', which has a series of
378 rules for simple ARP packet filtering at local input and
379 local output. On a bridge, you can also specify filtering rules
380 for forwarded ARP packets. See the man page for arptables(8).
381
382 To compile it as a module, choose M here. If unsure, say N.
383
384config IP_NF_ARP_MANGLE
385 tristate "ARP payload mangling"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700386 help
387 Allows altering the ARP packet payload: source and destination
388 hardware and network addresses.
389
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200390endif # IP_NF_ARPTABLES
391
Linus Torvalds1da177e2005-04-16 15:20:36 -0700392endmenu
393