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"
54 This module enables IPv6 packet duplication support for nf_tables.
56 endif # NF_TABLES_IPV6
60 tristate "Netfilter IPv6 packet duplication to alternate destination"
61 depends on !NF_CONNTRACK || NF_CONNTRACK
63 This option enables the nf_dup_ipv6 core, which duplicates an IPv6
64 packet to be rerouted to another destination.
67 tristate "IPv6 packet rejection"
68 default m if NETFILTER_ADVANCED=n
71 tristate "IPv6 packet logging"
72 default m if NETFILTER_ADVANCED=n
77 depends on NF_CONNTRACK_IPV6
78 depends on NETFILTER_ADVANCED
81 The IPv6 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.
87 config NFT_CHAIN_NAT_IPV6
88 depends on NF_TABLES_IPV6
89 tristate "IPv6 nf_tables nat chain support"
91 This option enables the "nat" chain for IPv6 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.
96 config NF_NAT_MASQUERADE_IPV6
97 tristate "IPv6 masquerade support"
99 This is the kernel functionality to provide NAT in the masquerade
100 flavour (automatic source address selection) for IPv6.
103 tristate "IPv6 masquerade support for nf_tables"
104 depends on NF_TABLES_IPV6
106 select NF_NAT_MASQUERADE_IPV6
108 This is the expression that provides IPv4 masquerading support for
111 config NFT_REDIR_IPV6
112 tristate "IPv6 redirect support for nf_tables"
113 depends on NF_TABLES_IPV6
115 select NF_NAT_REDIRECT
117 This is the expression that provides IPv4 redirect support for
122 config IP6_NF_IPTABLES
123 tristate "IP6 tables support (required for filtering)"
124 depends on INET && IPV6
125 select NETFILTER_XTABLES
126 default m if NETFILTER_ADVANCED=n
128 ip6tables is a general, extensible packet identification framework.
129 Currently only the packet filtering and packet mangling subsystem
130 for IPv6 use this, but connection tracking is going to follow.
131 Say 'Y' or 'M' here if you want to use either of those.
133 To compile it as a module, choose M here. If unsure, say N.
137 # The simple matches.
138 config IP6_NF_MATCH_AH
139 tristate '"ah" match support'
140 depends on NETFILTER_ADVANCED
142 This module allows one to match AH packets.
144 To compile it as a module, choose M here. If unsure, say N.
146 config IP6_NF_MATCH_EUI64
147 tristate '"eui64" address check'
148 depends on NETFILTER_ADVANCED
150 This module performs checking on the IPv6 source address
151 Compares the last 64 bits with the EUI64 (delivered
152 from the MAC address) address
154 To compile it as a module, choose M here. If unsure, say N.
156 config IP6_NF_MATCH_FRAG
157 tristate '"frag" Fragmentation header match support'
158 depends on NETFILTER_ADVANCED
160 frag matching allows you to match packets based on the fragmentation
161 header of the packet.
163 To compile it as a module, choose M here. If unsure, say N.
165 config IP6_NF_MATCH_OPTS
166 tristate '"hbh" hop-by-hop and "dst" opts header match support'
167 depends on NETFILTER_ADVANCED
169 This allows one to match packets based on the hop-by-hop
170 and destination options headers of a packet.
172 To compile it as a module, choose M here. If unsure, say N.
174 config IP6_NF_MATCH_HL
175 tristate '"hl" hoplimit match support'
176 depends on NETFILTER_ADVANCED
177 select NETFILTER_XT_MATCH_HL
179 This is a backwards-compat option for the user's convenience
180 (e.g. when running oldconfig). It selects
181 CONFIG_NETFILTER_XT_MATCH_HL.
183 config IP6_NF_MATCH_IPV6HEADER
184 tristate '"ipv6header" IPv6 Extension Headers Match'
185 default m if NETFILTER_ADVANCED=n
187 This module allows one to match packets based upon
188 the ipv6 extension headers.
190 To compile it as a module, choose M here. If unsure, say N.
192 config IP6_NF_MATCH_MH
193 tristate '"mh" match support'
194 depends on NETFILTER_ADVANCED
196 This module allows one to match MH packets.
198 To compile it as a module, choose M here. If unsure, say N.
200 config IP6_NF_MATCH_RPFILTER
201 tristate '"rpfilter" reverse path filter match support'
202 depends on NETFILTER_ADVANCED
203 depends on IP6_NF_MANGLE || IP6_NF_RAW
205 This option allows you to match packets whose replies would
206 go out via the interface the packet came in.
208 To compile it as a module, choose M here. If unsure, say N.
209 The module will be called ip6t_rpfilter.
211 config IP6_NF_MATCH_RT
212 tristate '"rt" Routing header match support'
213 depends on NETFILTER_ADVANCED
215 rt matching allows you to match packets based on the routing
216 header of the packet.
218 To compile it as a module, choose M here. If unsure, say N.
221 config IP6_NF_TARGET_HL
222 tristate '"HL" hoplimit target support'
223 depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
224 select NETFILTER_XT_TARGET_HL
226 This is a backwards-compatible option for the user's convenience
227 (e.g. when running oldconfig). It selects
228 CONFIG_NETFILTER_XT_TARGET_HL.
231 tristate "Packet filtering"
232 default m if NETFILTER_ADVANCED=n
234 Packet filtering defines a table `filter', which has a series of
235 rules for simple packet filtering at local input, forwarding and
236 local output. See the man page for iptables(8).
238 To compile it as a module, choose M here. If unsure, say N.
240 config IP6_NF_TARGET_REJECT
241 tristate "REJECT target support"
242 depends on IP6_NF_FILTER
243 select NF_REJECT_IPV6
244 default m if NETFILTER_ADVANCED=n
246 The REJECT target allows a filtering rule to specify that an ICMPv6
247 error should be issued in response to an incoming packet, rather
248 than silently being dropped.
250 To compile it as a module, choose M here. If unsure, say N.
252 config IP6_NF_TARGET_SYNPROXY
253 tristate "SYNPROXY target support"
254 depends on NF_CONNTRACK && NETFILTER_ADVANCED
255 select NETFILTER_SYNPROXY
258 The SYNPROXY target allows you to intercept TCP connections and
259 establish them using syncookies before they are passed on to the
260 server. This allows to avoid conntrack and server resource usage
261 during SYN-flood attacks.
263 To compile it as a module, choose M here. If unsure, say N.
266 tristate "Packet mangling"
267 default m if NETFILTER_ADVANCED=n
269 This option adds a `mangle' table to iptables: see the man page for
270 iptables(8). This table is used for various packet alterations
271 which can effect how the packet is routed.
273 To compile it as a module, choose M here. If unsure, say N.
276 tristate 'raw table support (required for TRACE)'
278 This option adds a `raw' table to ip6tables. This table is the very
279 first in the netfilter framework and hooks in at the PREROUTING
282 If you want to compile it as a module, say M here and read
283 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
285 # security table for MAC policy
286 config IP6_NF_SECURITY
287 tristate "Security table"
289 depends on NETFILTER_ADVANCED
291 This option adds a `security' table to iptables, for use
292 with Mandatory Access Control (MAC) policy.
297 tristate "ip6tables NAT support"
298 depends on NF_CONNTRACK_IPV6
299 depends on NETFILTER_ADVANCED
302 select NETFILTER_XT_NAT
304 This enables the `nat' table in ip6tables. This allows masquerading,
305 port forwarding and other forms of full Network Address Port
308 To compile it as a module, choose M here. If unsure, say N.
312 config IP6_NF_TARGET_MASQUERADE
313 tristate "MASQUERADE target support"
314 select NF_NAT_MASQUERADE_IPV6
316 Masquerading is a special case of NAT: all outgoing connections are
317 changed to seem to come from a particular interface's address, and
318 if the interface goes down, those connections are lost. This is
319 only useful for dialup accounts with dynamic IP address (ie. your IP
320 address will be different on next dialup).
322 To compile it as a module, choose M here. If unsure, say N.
324 config IP6_NF_TARGET_NPT
325 tristate "NPT (Network Prefix translation) target support"
327 This option adds the `SNPT' and `DNPT' target, which perform
328 stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
330 To compile it as a module, choose M here. If unsure, say N.
334 endif # IP6_NF_IPTABLES