2 # IP netfilter configuration
5 menu "IPv6: Netfilter Configuration"
6 depends on INET && IPV6 && NETFILTER
12 config NF_CONNTRACK_IPV6
13 tristate "IPv6 connection tracking support"
14 depends on INET && IPV6 && NF_CONNTRACK
15 default m if NETFILTER_ADVANCED=n
18 Connection tracking keeps a record of what packets have passed
19 through your machine, in order to figure out how they are related
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.
26 To compile it as a module, choose M here. If unsure, say N.
31 tristate "IPv6 nf_tables support"
33 This option enables the IPv6 support for nf_tables.
37 config NFT_CHAIN_ROUTE_IPV6
38 tristate "IPv6 nf_tables route chain support"
40 This option enables the "route" chain for IPv6 in nf_tables. This
41 chain type is used to force packet re-routing after mangling header
42 fields such as the source, destination, flowlabel, hop-limit and
45 config NFT_REJECT_IPV6
51 tristate "IPv6 nf_tables packet duplication support"
52 depends on !NF_CONNTRACK || NF_CONNTRACK
55 This module enables IPv6 packet duplication support for nf_tables.
57 endif # NF_TABLES_IPV6
61 tristate "Netfilter IPv6 packet duplication to alternate destination"
62 depends on !NF_CONNTRACK || NF_CONNTRACK
64 This option enables the nf_dup_ipv6 core, which duplicates an IPv6
65 packet to be rerouted to another destination.
68 tristate "IPv6 packet rejection"
69 default m if NETFILTER_ADVANCED=n
72 tristate "IPv6 packet logging"
73 default m if NETFILTER_ADVANCED=n
78 depends on NF_CONNTRACK_IPV6
79 depends on NETFILTER_ADVANCED
82 The IPv6 NAT option allows masquerading, port forwarding and other
83 forms of full Network Address Port Translation. This can be
84 controlled by iptables or nft.
88 config NFT_CHAIN_NAT_IPV6
89 depends on NF_TABLES_IPV6
90 tristate "IPv6 nf_tables nat chain support"
92 This option enables the "nat" chain for IPv6 in nf_tables. This
93 chain type is used to perform Network Address Translation (NAT)
94 packet transformations such as the source, destination address and
95 source and destination ports.
97 config NF_NAT_MASQUERADE_IPV6
98 tristate "IPv6 masquerade support"
100 This is the kernel functionality to provide NAT in the masquerade
101 flavour (automatic source address selection) for IPv6.
104 tristate "IPv6 masquerade support for nf_tables"
105 depends on NF_TABLES_IPV6
107 select NF_NAT_MASQUERADE_IPV6
109 This is the expression that provides IPv4 masquerading support for
112 config NFT_REDIR_IPV6
113 tristate "IPv6 redirect support for nf_tables"
114 depends on NF_TABLES_IPV6
116 select NF_NAT_REDIRECT
118 This is the expression that provides IPv4 redirect support for
123 config IP6_NF_IPTABLES
124 tristate "IP6 tables support (required for filtering)"
125 depends on INET && IPV6
126 select NETFILTER_XTABLES
127 default m if NETFILTER_ADVANCED=n
129 ip6tables is a general, extensible packet identification framework.
130 Currently only the packet filtering and packet mangling subsystem
131 for IPv6 use this, but connection tracking is going to follow.
132 Say 'Y' or 'M' here if you want to use either of those.
134 To compile it as a module, choose M here. If unsure, say N.
138 # The simple matches.
139 config IP6_NF_MATCH_AH
140 tristate '"ah" match support'
141 depends on NETFILTER_ADVANCED
143 This module allows one to match AH packets.
145 To compile it as a module, choose M here. If unsure, say N.
147 config IP6_NF_MATCH_EUI64
148 tristate '"eui64" address check'
149 depends on NETFILTER_ADVANCED
151 This module performs checking on the IPv6 source address
152 Compares the last 64 bits with the EUI64 (delivered
153 from the MAC address) address
155 To compile it as a module, choose M here. If unsure, say N.
157 config IP6_NF_MATCH_FRAG
158 tristate '"frag" Fragmentation header match support'
159 depends on NETFILTER_ADVANCED
161 frag matching allows you to match packets based on the fragmentation
162 header of the packet.
164 To compile it as a module, choose M here. If unsure, say N.
166 config IP6_NF_MATCH_OPTS
167 tristate '"hbh" hop-by-hop and "dst" opts header match support'
168 depends on NETFILTER_ADVANCED
170 This allows one to match packets based on the hop-by-hop
171 and destination options headers of a packet.
173 To compile it as a module, choose M here. If unsure, say N.
175 config IP6_NF_MATCH_HL
176 tristate '"hl" hoplimit match support'
177 depends on NETFILTER_ADVANCED
178 select NETFILTER_XT_MATCH_HL
180 This is a backwards-compat option for the user's convenience
181 (e.g. when running oldconfig). It selects
182 CONFIG_NETFILTER_XT_MATCH_HL.
184 config IP6_NF_MATCH_IPV6HEADER
185 tristate '"ipv6header" IPv6 Extension Headers Match'
186 default m if NETFILTER_ADVANCED=n
188 This module allows one to match packets based upon
189 the ipv6 extension headers.
191 To compile it as a module, choose M here. If unsure, say N.
193 config IP6_NF_MATCH_MH
194 tristate '"mh" match support'
195 depends on NETFILTER_ADVANCED
197 This module allows one to match MH packets.
199 To compile it as a module, choose M here. If unsure, say N.
201 config IP6_NF_MATCH_RPFILTER
202 tristate '"rpfilter" reverse path filter match support'
203 depends on NETFILTER_ADVANCED
204 depends on IP6_NF_MANGLE || IP6_NF_RAW
206 This option allows you to match packets whose replies would
207 go out via the interface the packet came in.
209 To compile it as a module, choose M here. If unsure, say N.
210 The module will be called ip6t_rpfilter.
212 config IP6_NF_MATCH_RT
213 tristate '"rt" Routing header match support'
214 depends on NETFILTER_ADVANCED
216 rt matching allows you to match packets based on the routing
217 header of the packet.
219 To compile it as a module, choose M here. If unsure, say N.
222 config IP6_NF_TARGET_HL
223 tristate '"HL" hoplimit target support'
224 depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
225 select NETFILTER_XT_TARGET_HL
227 This is a backwards-compatible option for the user's convenience
228 (e.g. when running oldconfig). It selects
229 CONFIG_NETFILTER_XT_TARGET_HL.
232 tristate "Packet filtering"
233 default m if NETFILTER_ADVANCED=n
235 Packet filtering defines a table `filter', which has a series of
236 rules for simple packet filtering at local input, forwarding and
237 local output. See the man page for iptables(8).
239 To compile it as a module, choose M here. If unsure, say N.
241 config IP6_NF_TARGET_REJECT
242 tristate "REJECT target support"
243 depends on IP6_NF_FILTER
244 select NF_REJECT_IPV6
245 default m if NETFILTER_ADVANCED=n
247 The REJECT target allows a filtering rule to specify that an ICMPv6
248 error should be issued in response to an incoming packet, rather
249 than silently being dropped.
251 To compile it as a module, choose M here. If unsure, say N.
253 config IP6_NF_TARGET_SYNPROXY
254 tristate "SYNPROXY target support"
255 depends on NF_CONNTRACK && NETFILTER_ADVANCED
256 select NETFILTER_SYNPROXY
259 The SYNPROXY target allows you to intercept TCP connections and
260 establish them using syncookies before they are passed on to the
261 server. This allows to avoid conntrack and server resource usage
262 during SYN-flood attacks.
264 To compile it as a module, choose M here. If unsure, say N.
267 tristate "Packet mangling"
268 default m if NETFILTER_ADVANCED=n
270 This option adds a `mangle' table to iptables: see the man page for
271 iptables(8). This table is used for various packet alterations
272 which can effect how the packet is routed.
274 To compile it as a module, choose M here. If unsure, say N.
277 tristate 'raw table support (required for TRACE)'
279 This option adds a `raw' table to ip6tables. This table is the very
280 first in the netfilter framework and hooks in at the PREROUTING
283 If you want to compile it as a module, say M here and read
284 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
286 # security table for MAC policy
287 config IP6_NF_SECURITY
288 tristate "Security table"
290 depends on NETFILTER_ADVANCED
292 This option adds a `security' table to iptables, for use
293 with Mandatory Access Control (MAC) policy.
298 tristate "ip6tables NAT support"
299 depends on NF_CONNTRACK_IPV6
300 depends on NETFILTER_ADVANCED
303 select NETFILTER_XT_NAT
305 This enables the `nat' table in ip6tables. This allows masquerading,
306 port forwarding and other forms of full Network Address Port
309 To compile it as a module, choose M here. If unsure, say N.
313 config IP6_NF_TARGET_MASQUERADE
314 tristate "MASQUERADE target support"
315 select NF_NAT_MASQUERADE_IPV6
317 Masquerading is a special case of NAT: all outgoing connections are
318 changed to seem to come from a particular interface's address, and
319 if the interface goes down, those connections are lost. This is
320 only useful for dialup accounts with dynamic IP address (ie. your IP
321 address will be different on next dialup).
323 To compile it as a module, choose M here. If unsure, say N.
325 config IP6_NF_TARGET_NPT
326 tristate "NPT (Network Prefix translation) target support"
328 This option adds the `SNPT' and `DNPT' target, which perform
329 stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
331 To compile it as a module, choose M here. If unsure, say N.
335 endif # IP6_NF_IPTABLES