netfilter: masquerading needs to be independent of x_tables in Kconfig
[deliverable/linux.git] / net / ipv6 / netfilter / Kconfig
CommitLineData
1da177e4
LT
1#
2# IP netfilter configuration
3#
4
8ce22fca
PM
5menu "IPv6: Netfilter Configuration"
6 depends on INET && IPV6 && NETFILTER
1da177e4 7
f6318e55
KK
8config NF_DEFRAG_IPV6
9 tristate
10 default n
11
9bdf87d9 12config NF_CONNTRACK_IPV6
8ce22fca
PM
13 tristate "IPv6 connection tracking support"
14 depends on INET && IPV6 && NF_CONNTRACK
33b8e776 15 default m if NETFILTER_ADVANCED=n
f6318e55 16 select NF_DEFRAG_IPV6
9bdf87d9
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 IPv6 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.
58a317f1 27
96518518
PM
28config NF_TABLES_IPV6
29 depends on NF_TABLES
30 tristate "IPv6 nf_tables support"
d497c635
PNA
31 help
32 This option enables the IPv6 support for nf_tables.
96518518 33
9370761c 34config NFT_CHAIN_ROUTE_IPV6
96518518 35 depends on NF_TABLES_IPV6
9370761c 36 tristate "IPv6 nf_tables route chain support"
d497c635
PNA
37 help
38 This option enables the "route" chain for IPv6 in nf_tables. This
39 chain type is used to force packet re-routing after mangling header
40 fields such as the source, destination, flowlabel, hop-limit and
41 the packet mark.
96518518 42
cc4723ca
PM
43config NFT_REJECT_IPV6
44 depends on NF_TABLES_IPV6
45 default NFT_REJECT
46 tristate
47
c1878869
PNA
48config NF_LOG_IPV6
49 tristate "IPv6 packet logging"
41ad82f7 50 default m if NETFILTER_ADVANCED=n
c1878869
PNA
51 select NF_LOG_COMMON
52
8993cf8e
PNA
53config NF_NAT_IPV6
54 tristate "IPv6 NAT"
55 depends on NF_CONNTRACK_IPV6
56 depends on NETFILTER_ADVANCED
57 select NF_NAT
58 help
59 The IPv6 NAT option allows masquerading, port forwarding and other
60 forms of full Network Address Port Translation. This can be
61 controlled by iptables or nft.
62
3e8dc212
PNA
63if NF_NAT_IPV6
64
65config NFT_CHAIN_NAT_IPV6
66 depends on NF_TABLES_IPV6
67 tristate "IPv6 nf_tables nat chain support"
68 help
69 This option enables the "nat" chain for IPv6 in nf_tables. This
70 chain type is used to perform Network Address Translation (NAT)
71 packet transformations such as the source, destination address and
72 source and destination ports.
73
0bbe80e5
PNA
74config NF_NAT_MASQUERADE_IPV6
75 tristate "IPv6 masquerade support"
76 help
77 This is the kernel functionality to provide NAT in the masquerade
78 flavour (automatic source address selection) for IPv6.
79
80config NFT_MASQ_IPV6
81 tristate "IPv6 masquerade support for nf_tables"
82 depends on NF_TABLES_IPV6
83 depends on NFT_MASQ
84 select NF_NAT_MASQUERADE_IPV6
85 help
86 This is the expression that provides IPv4 masquerading support for
87 nf_tables.
88
3e8dc212
PNA
89endif # NF_NAT_IPV6
90
1da177e4 91config IP6_NF_IPTABLES
844dc7c8 92 tristate "IP6 tables support (required for filtering)"
8ce22fca 93 depends on INET && IPV6
a3c941b0 94 select NETFILTER_XTABLES
33b8e776 95 default m if NETFILTER_ADVANCED=n
1da177e4
LT
96 help
97 ip6tables is a general, extensible packet identification framework.
98 Currently only the packet filtering and packet mangling subsystem
99 for IPv6 use this, but connection tracking is going to follow.
100 Say 'Y' or 'M' here if you want to use either of those.
101
102 To compile it as a module, choose M here. If unsure, say N.
103
c2df73de
JE
104if IP6_NF_IPTABLES
105
1da177e4 106# The simple matches.
aba0d348
JE
107config IP6_NF_MATCH_AH
108 tristate '"ah" match support'
33b8e776 109 depends on NETFILTER_ADVANCED
1da177e4 110 help
aba0d348 111 This module allows one to match AH packets.
1da177e4
LT
112
113 To compile it as a module, choose M here. If unsure, say N.
114
aba0d348
JE
115config IP6_NF_MATCH_EUI64
116 tristate '"eui64" address check'
33b8e776 117 depends on NETFILTER_ADVANCED
1da177e4 118 help
aba0d348
JE
119 This module performs checking on the IPv6 source address
120 Compares the last 64 bits with the EUI64 (delivered
121 from the MAC address) address
1da177e4
LT
122
123 To compile it as a module, choose M here. If unsure, say N.
124
125config IP6_NF_MATCH_FRAG
4c37799c 126 tristate '"frag" Fragmentation header match support'
33b8e776 127 depends on NETFILTER_ADVANCED
1da177e4
LT
128 help
129 frag matching allows you to match packets based on the fragmentation
130 header of the packet.
131
132 To compile it as a module, choose M here. If unsure, say N.
133
aba0d348
JE
134config IP6_NF_MATCH_OPTS
135 tristate '"hbh" hop-by-hop and "dst" opts header match support'
aba0d348
JE
136 depends on NETFILTER_ADVANCED
137 help
138 This allows one to match packets based on the hop-by-hop
139 and destination options headers of a packet.
140
141 To compile it as a module, choose M here. If unsure, say N.
142
4323362e
JE
143config IP6_NF_MATCH_HL
144 tristate '"hl" hoplimit match support'
145 depends on NETFILTER_ADVANCED
146 select NETFILTER_XT_MATCH_HL
147 ---help---
148 This is a backwards-compat option for the user's convenience
149 (e.g. when running oldconfig). It selects
8dd1d047 150 CONFIG_NETFILTER_XT_MATCH_HL.
4323362e 151
1da177e4 152config IP6_NF_MATCH_IPV6HEADER
4c37799c 153 tristate '"ipv6header" IPv6 Extension Headers Match'
44c45eb9 154 default m if NETFILTER_ADVANCED=n
1da177e4
LT
155 help
156 This module allows one to match packets based upon
157 the ipv6 extension headers.
158
159 To compile it as a module, choose M here. If unsure, say N.
160
a0ca215a 161config IP6_NF_MATCH_MH
4c37799c 162 tristate '"mh" match support'
33b8e776 163 depends on NETFILTER_ADVANCED
a0ca215a
MN
164 help
165 This module allows one to match MH packets.
166
167 To compile it as a module, choose M here. If unsure, say N.
168
e26f9a48
FW
169config IP6_NF_MATCH_RPFILTER
170 tristate '"rpfilter" reverse path filter match support'
d37d6968 171 depends on NETFILTER_ADVANCED && (IP6_NF_MANGLE || IP6_NF_RAW)
e26f9a48
FW
172 ---help---
173 This option allows you to match packets whose replies would
174 go out via the interface the packet came in.
175
176 To compile it as a module, choose M here. If unsure, say N.
177 The module will be called ip6t_rpfilter.
178
aba0d348
JE
179config IP6_NF_MATCH_RT
180 tristate '"rt" Routing header match support'
33b8e776 181 depends on NETFILTER_ADVANCED
1da177e4 182 help
aba0d348
JE
183 rt matching allows you to match packets based on the routing
184 header of the packet.
1da177e4
LT
185
186 To compile it as a module, choose M here. If unsure, say N.
187
1da177e4 188# The targets
4323362e
JE
189config IP6_NF_TARGET_HL
190 tristate '"HL" hoplimit target support'
76b6717b 191 depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
4323362e
JE
192 select NETFILTER_XT_TARGET_HL
193 ---help---
76b6717b 194 This is a backwards-compatible option for the user's convenience
4323362e 195 (e.g. when running oldconfig). It selects
8dd1d047 196 CONFIG_NETFILTER_XT_TARGET_HL.
4323362e 197
2203eb47
JE
198config IP6_NF_FILTER
199 tristate "Packet filtering"
33b8e776 200 default m if NETFILTER_ADVANCED=n
1da177e4 201 help
2203eb47
JE
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).
1da177e4
LT
205
206 To compile it as a module, choose M here. If unsure, say N.
207
764d8a9f
PM
208config IP6_NF_TARGET_REJECT
209 tristate "REJECT target support"
210 depends on IP6_NF_FILTER
33b8e776 211 default m if NETFILTER_ADVANCED=n
764d8a9f
PM
212 help
213 The REJECT target allows a filtering rule to specify that an ICMPv6
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
4ad36228
PM
219config IP6_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
1da177e4
LT
232config IP6_NF_MANGLE
233 tristate "Packet mangling"
33b8e776 234 default m if NETFILTER_ADVANCED=n
1da177e4
LT
235 help
236 This option adds a `mangle' table to iptables: see the man page for
237 iptables(8). This table is used for various packet alterations
238 which can effect how the packet is routed.
239
240 To compile it as a module, choose M here. If unsure, say N.
1da177e4 241
1da177e4
LT
242config IP6_NF_RAW
243 tristate 'raw table support (required for TRACE)'
1da177e4
LT
244 help
245 This option adds a `raw' table to ip6tables. This table is the very
246 first in the netfilter framework and hooks in at the PREROUTING
247 and OUTPUT chains.
33b8e776 248
1da177e4 249 If you want to compile it as a module, say M here and read
39f5fb30 250 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
1da177e4 251
17e6e59f
JM
252# security table for MAC policy
253config IP6_NF_SECURITY
254 tristate "Security table"
17e6e59f 255 depends on SECURITY
70eed75d 256 depends on NETFILTER_ADVANCED
17e6e59f
JM
257 help
258 This option adds a `security' table to iptables, for use
259 with Mandatory Access Control (MAC) policy.
b0041d1b 260
17e6e59f
JM
261 If unsure, say N.
262
8993cf8e
PNA
263config IP6_NF_NAT
264 tristate "ip6tables NAT support"
b0041d1b
PNA
265 depends on NF_CONNTRACK_IPV6
266 depends on NETFILTER_ADVANCED
267 select NF_NAT
8993cf8e
PNA
268 select NF_NAT_IPV6
269 select NETFILTER_XT_NAT
b0041d1b 270 help
8993cf8e
PNA
271 This enables the `nat' table in ip6tables. This allows masquerading,
272 port forwarding and other forms of full Network Address Port
273 Translation.
b0041d1b
PNA
274
275 To compile it as a module, choose M here. If unsure, say N.
276
8993cf8e 277if IP6_NF_NAT
b0041d1b
PNA
278
279config IP6_NF_TARGET_MASQUERADE
280 tristate "MASQUERADE target support"
be6b635c 281 select NF_NAT_MASQUERADE_IPV6
b0041d1b
PNA
282 help
283 Masquerading is a special case of NAT: all outgoing connections are
284 changed to seem to come from a particular interface's address, and
285 if the interface goes down, those connections are lost. This is
286 only useful for dialup accounts with dynamic IP address (ie. your IP
287 address will be different on next dialup).
288
289 To compile it as a module, choose M here. If unsure, say N.
290
b0041d1b
PNA
291config IP6_NF_TARGET_NPT
292 tristate "NPT (Network Prefix translation) target support"
293 help
294 This option adds the `SNPT' and `DNPT' target, which perform
295 stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
296
297 To compile it as a module, choose M here. If unsure, say N.
298
8993cf8e 299endif # IP6_NF_NAT
b0041d1b 300
c2df73de
JE
301endif # IP6_NF_IPTABLES
302
1da177e4
LT
303endmenu
304
This page took 0.753662 seconds and 5 git commands to generate.