netfilter: nft_reject: introduce icmp code abstraction for inet and bridge
[deliverable/linux.git] / net / ipv4 / netfilter / Kconfig
CommitLineData
1da177e4
LT
1#
2# IP netfilter configuration
3#
4
5menu "IP: Netfilter Configuration"
6 depends on INET && NETFILTER
7
73e4022f
KK
8config NF_DEFRAG_IPV4
9 tristate
10 default n
11
9fb9cbb1 12config NF_CONNTRACK_IPV4
c9386cfd
PM
13 tristate "IPv4 connection tracking support (required for NAT)"
14 depends on NF_CONNTRACK
33b8e776 15 default m if NETFILTER_ADVANCED=n
73e4022f 16 select NF_DEFRAG_IPV4
9fb9cbb1
YK
17 ---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
a999e683
PM
28config NF_CONNTRACK_PROC_COMPAT
29 bool "proc/sysctl compatibility with old connection tracking"
54b07dca 30 depends on NF_CONNTRACK_PROCFS && NF_CONNTRACK_IPV4
a999e683
PM
31 default y
32 help
33 This option enables /proc and sysctl compatibility with the old
67c0d579 34 layer 3 dependent connection tracking. This is needed to keep
a999e683
PM
35 old programs that have not been adapted to the new names working.
36
37 If unsure, say Y.
38
c1878869
PNA
39config NF_LOG_ARP
40 tristate "ARP packet logging"
41 default m if NETFILTER_ADVANCED=n
42 select NF_LOG_COMMON
43
44config NF_LOG_IPV4
45 tristate "IPv4 packet logging"
46 default m if NETFILTER_ADVANCED=n
47 select NF_LOG_COMMON
48
96518518
PM
49config NF_TABLES_IPV4
50 depends on NF_TABLES
51 tristate "IPv4 nf_tables support"
d497c635
PNA
52 help
53 This option enables the IPv4 support for nf_tables.
96518518 54
9370761c 55config NFT_CHAIN_ROUTE_IPV4
96518518 56 depends on NF_TABLES_IPV4
9370761c 57 tristate "IPv4 nf_tables route chain support"
d497c635
PNA
58 help
59 This option enables the "route" chain for IPv4 in nf_tables. This
60 chain type is used to force packet re-routing after mangling header
61 fields such as the source, destination, type of service and
62 the packet mark.
96518518 63
cc4723ca
PM
64config NFT_REJECT_IPV4
65 depends on NF_TABLES_IPV4
66 default NFT_REJECT
67 tristate
68
ed683f13
PNA
69config NF_TABLES_ARP
70 depends on NF_TABLES
71 tristate "ARP nf_tables support"
d497c635
PNA
72 help
73 This option enables the ARP support for nf_tables.
ed683f13 74
8993cf8e
PNA
75config NF_NAT_IPV4
76 tristate "IPv4 NAT"
77 depends on NF_CONNTRACK_IPV4
78 default m if NETFILTER_ADVANCED=n
79 select NF_NAT
80 help
81 The IPv4 NAT option allows masquerading, port forwarding and other
82 forms of full Network Address Port Translation. This can be
83 controlled by iptables or nft.
84
85if NF_NAT_IPV4
86
3e8dc212
PNA
87config NFT_CHAIN_NAT_IPV4
88 depends on NF_TABLES_IPV4
89 tristate "IPv4 nf_tables nat chain support"
90 help
91 This option enables the "nat" chain for IPv4 in nf_tables. This
92 chain type is used to perform Network Address Translation (NAT)
93 packet transformations such as the source, destination address and
94 source and destination ports.
95
0bbe80e5
PNA
96config NF_NAT_MASQUERADE_IPV4
97 tristate "IPv4 masquerade support"
98 help
99 This is the kernel functionality to provide NAT in the masquerade
100 flavour (automatic source address selection).
101
102config NFT_MASQ_IPV4
103 tristate "IPv4 masquerading support for nf_tables"
104 depends on NF_TABLES_IPV4
105 depends on NFT_MASQ
106 select NF_NAT_MASQUERADE_IPV4
107 help
108 This is the expression that provides IPv4 masquerading support for
109 nf_tables.
110
8993cf8e
PNA
111config NF_NAT_SNMP_BASIC
112 tristate "Basic SNMP-ALG support"
113 depends on NF_CONNTRACK_SNMP
114 depends on NETFILTER_ADVANCED
115 default NF_NAT && NF_CONNTRACK_SNMP
116 ---help---
117
118 This module implements an Application Layer Gateway (ALG) for
119 SNMP payloads. In conjunction with NAT, it allows a network
120 management system to access multiple private networks with
121 conflicting addresses. It works by modifying IP addresses
122 inside SNMP payloads to match IP-layer NAT mapping.
123
124 This is the "basic" form of SNMP-ALG, as described in RFC 2962
125
126 To compile it as a module, choose M here. If unsure, say N.
127
128config NF_NAT_PROTO_GRE
129 tristate
130 depends on NF_CT_PROTO_GRE
131
132config NF_NAT_PPTP
133 tristate
134 depends on NF_CONNTRACK
135 default NF_CONNTRACK_PPTP
136 select NF_NAT_PROTO_GRE
137
138config NF_NAT_H323
139 tristate
140 depends on NF_CONNTRACK
141 default NF_CONNTRACK_H323
142
143endif # NF_NAT_IPV4
144
1da177e4
LT
145config IP_NF_IPTABLES
146 tristate "IP tables support (required for filtering/masq/NAT)"
33b8e776 147 default m if NETFILTER_ADVANCED=n
a3c941b0 148 select NETFILTER_XTABLES
1da177e4
LT
149 help
150 iptables is a general, extensible packet identification framework.
151 The packet filtering and full NAT (masquerading, port forwarding,
152 etc) subsystems now use this: say `Y' or `M' here if you want to use
153 either of those.
154
155 To compile it as a module, choose M here. If unsure, say N.
156
c2df73de
JE
157if IP_NF_IPTABLES
158
1da177e4 159# The matches.
dc5ab2fa 160config IP_NF_MATCH_AH
4c37799c 161 tristate '"ah" match support'
33b8e776 162 depends on NETFILTER_ADVANCED
1da177e4 163 help
dc5ab2fa
YK
164 This match extension allows you to match a range of SPIs
165 inside AH header of IPSec packets.
1da177e4
LT
166
167 To compile it as a module, choose M here. If unsure, say N.
168
aba0d348
JE
169config IP_NF_MATCH_ECN
170 tristate '"ecn" match support'
33b8e776 171 depends on NETFILTER_ADVANCED
d446a820
JE
172 select NETFILTER_XT_MATCH_ECN
173 ---help---
174 This is a backwards-compat option for the user's convenience
175 (e.g. when running oldconfig). It selects
176 CONFIG_NETFILTER_XT_MATCH_ECN.
1da177e4 177
8f97339d
FW
178config IP_NF_MATCH_RPFILTER
179 tristate '"rpfilter" reverse path filter match support'
d37d6968 180 depends on NETFILTER_ADVANCED && (IP_NF_MANGLE || IP_NF_RAW)
8f97339d
FW
181 ---help---
182 This option allows you to match packets whose replies would
183 go out via the interface the packet came in.
184
185 To compile it as a module, choose M here. If unsure, say N.
186 The module will be called ipt_rpfilter.
187
4323362e
JE
188config IP_NF_MATCH_TTL
189 tristate '"ttl" match support'
190 depends on NETFILTER_ADVANCED
191 select NETFILTER_XT_MATCH_HL
192 ---help---
193 This is a backwards-compat option for the user's convenience
194 (e.g. when running oldconfig). It selects
67c0d579 195 CONFIG_NETFILTER_XT_MATCH_HL.
4323362e 196
1da177e4
LT
197# `filter', generic and specific targets
198config IP_NF_FILTER
199 tristate "Packet filtering"
33b8e776 200 default m if NETFILTER_ADVANCED=n
1da177e4
LT
201 help
202 Packet filtering defines a table `filter', which has a series of
203 rules for simple packet filtering at local input, forwarding and
204 local output. See the man page for iptables(8).
205
206 To compile it as a module, choose M here. If unsure, say N.
207
208config IP_NF_TARGET_REJECT
209 tristate "REJECT target support"
210 depends on IP_NF_FILTER
33b8e776 211 default m if NETFILTER_ADVANCED=n
1da177e4
LT
212 help
213 The REJECT target allows a filtering rule to specify that an ICMP
214 error should be issued in response to an incoming packet, rather
215 than silently being dropped.
216
217 To compile it as a module, choose M here. If unsure, say N.
218
48b1de4c
PM
219config IP_NF_TARGET_SYNPROXY
220 tristate "SYNPROXY target support"
221 depends on NF_CONNTRACK && NETFILTER_ADVANCED
222 select NETFILTER_SYNPROXY
223 select SYN_COOKIES
224 help
225 The SYNPROXY target allows you to intercept TCP connections and
226 establish them using syncookies before they are passed on to the
227 server. This allows to avoid conntrack and server resource usage
228 during SYN-flood attacks.
229
230 To compile it as a module, choose M here. If unsure, say N.
231
5b1158e9 232# NAT + specific targets: nf_conntrack
8993cf8e
PNA
233config IP_NF_NAT
234 tristate "iptables NAT support"
c2df73de 235 depends on NF_CONNTRACK_IPV4
33b8e776 236 default m if NETFILTER_ADVANCED=n
c7232c99 237 select NF_NAT
8993cf8e
PNA
238 select NF_NAT_IPV4
239 select NETFILTER_XT_NAT
5b1158e9 240 help
8993cf8e
PNA
241 This enables the `nat' table in iptables. This allows masquerading,
242 port forwarding and other forms of full Network Address Port
243 Translation.
5b1158e9
JK
244
245 To compile it as a module, choose M here. If unsure, say N.
246
8993cf8e 247if IP_NF_NAT
1da177e4
LT
248
249config IP_NF_TARGET_MASQUERADE
250 tristate "MASQUERADE target support"
8dd33cc9 251 select NF_NAT_MASQUERADE_IPV4
33b8e776 252 default m if NETFILTER_ADVANCED=n
1da177e4
LT
253 help
254 Masquerading is a special case of NAT: all outgoing connections are
255 changed to seem to come from a particular interface's address, and
256 if the interface goes down, those connections are lost. This is
257 only useful for dialup accounts with dynamic IP address (ie. your IP
258 address will be different on next dialup).
259
260 To compile it as a module, choose M here. If unsure, say N.
261
aba0d348
JE
262config IP_NF_TARGET_NETMAP
263 tristate "NETMAP target support"
33b8e776 264 depends on NETFILTER_ADVANCED
b3d54b3e
JE
265 select NETFILTER_XT_TARGET_NETMAP
266 ---help---
267 This is a backwards-compat option for the user's convenience
268 (e.g. when running oldconfig). It selects
269 CONFIG_NETFILTER_XT_TARGET_NETMAP.
1da177e4 270
aba0d348
JE
271config IP_NF_TARGET_REDIRECT
272 tristate "REDIRECT target support"
33b8e776 273 depends on NETFILTER_ADVANCED
2cbc78a2
JE
274 select NETFILTER_XT_TARGET_REDIRECT
275 ---help---
276 This is a backwards-compat option for the user's convenience
277 (e.g. when running oldconfig). It selects
278 CONFIG_NETFILTER_XT_TARGET_REDIRECT.
1da177e4 279
8993cf8e 280endif # IP_NF_NAT
f587de0e 281
1da177e4
LT
282# mangle + specific targets
283config IP_NF_MANGLE
284 tristate "Packet mangling"
33b8e776 285 default m if NETFILTER_ADVANCED=n
1da177e4
LT
286 help
287 This option adds a `mangle' table to iptables: see the man page for
288 iptables(8). This table is used for various packet alterations
289 which can effect how the packet is routed.
290
291 To compile it as a module, choose M here. If unsure, say N.
292
aba0d348 293config IP_NF_TARGET_CLUSTERIP
aec9a0eb
KC
294 tristate "CLUSTERIP target support"
295 depends on IP_NF_MANGLE
aba0d348
JE
296 depends on NF_CONNTRACK_IPV4
297 depends on NETFILTER_ADVANCED
298 select NF_CONNTRACK_MARK
299 help
300 The CLUSTERIP target allows you to build load-balancing clusters of
301 network servers without having a dedicated load-balancing
302 router/server/switch.
303
304 To compile it as a module, choose M here. If unsure, say N.
305
1da177e4
LT
306config IP_NF_TARGET_ECN
307 tristate "ECN target support"
308 depends on IP_NF_MANGLE
33b8e776 309 depends on NETFILTER_ADVANCED
1da177e4
LT
310 ---help---
311 This option adds a `ECN' target, which can be used in the iptables mangle
312 table.
313
314 You can use this target to remove the ECN bits from the IPv4 header of
315 an IP packet. This is particularly useful, if you need to work around
316 existing ECN blackholes on the internet, but don't want to disable
317 ECN support in general.
318
319 To compile it as a module, choose M here. If unsure, say N.
320
4323362e
JE
321config IP_NF_TARGET_TTL
322 tristate '"TTL" target support'
76b6717b 323 depends on NETFILTER_ADVANCED && IP_NF_MANGLE
4323362e
JE
324 select NETFILTER_XT_TARGET_HL
325 ---help---
76b6717b 326 This is a backwards-compatible option for the user's convenience
4323362e 327 (e.g. when running oldconfig). It selects
67c0d579 328 CONFIG_NETFILTER_XT_TARGET_HL.
4323362e 329
1da177e4
LT
330# raw + specific targets
331config IP_NF_RAW
332 tristate 'raw table support (required for NOTRACK/TRACE)'
1da177e4
LT
333 help
334 This option adds a `raw' table to iptables. This table is the very
335 first in the netfilter framework and hooks in at the PREROUTING
336 and OUTPUT chains.
337
338 If you want to compile it as a module, say M here and read
e403149c 339 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
560ee653
JM
340
341# security table for MAC policy
342config IP_NF_SECURITY
343 tristate "Security table"
560ee653 344 depends on SECURITY
70eed75d 345 depends on NETFILTER_ADVANCED
560ee653
JM
346 help
347 This option adds a `security' table to iptables, for use
348 with Mandatory Access Control (MAC) policy.
349
350 If unsure, say N.
1da177e4 351
c2df73de
JE
352endif # IP_NF_IPTABLES
353
1da177e4
LT
354# ARP tables
355config IP_NF_ARPTABLES
356 tristate "ARP tables support"
a3c941b0 357 select NETFILTER_XTABLES
33b8e776 358 depends on NETFILTER_ADVANCED
1da177e4
LT
359 help
360 arptables is a general, extensible packet identification framework.
361 The ARP packet filtering and mangling (manipulation)subsystems
362 use this: say Y or M here if you want to use either of those.
363
364 To compile it as a module, choose M here. If unsure, say N.
365
c2df73de
JE
366if IP_NF_ARPTABLES
367
1da177e4
LT
368config IP_NF_ARPFILTER
369 tristate "ARP packet filtering"
1da177e4
LT
370 help
371 ARP packet filtering defines a table `filter', which has a series of
372 rules for simple ARP packet filtering at local input and
373 local output. On a bridge, you can also specify filtering rules
374 for forwarded ARP packets. See the man page for arptables(8).
375
376 To compile it as a module, choose M here. If unsure, say N.
377
378config IP_NF_ARP_MANGLE
379 tristate "ARP payload mangling"
1da177e4
LT
380 help
381 Allows altering the ARP packet payload: source and destination
382 hardware and network addresses.
383
c2df73de
JE
384endif # IP_NF_ARPTABLES
385
1da177e4
LT
386endmenu
387
This page took 0.727259 seconds and 5 git commands to generate.