blob: 35750df744dc9ce92c3b98dcfd5dab27dcf73e85 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# IP netfilter configuration
3#
4
Patrick McHardy8ce22fc2008-01-14 23:31:36 -08005menu "IPv6: Netfilter Configuration"
6 depends on INET && IPV6 && NETFILTER
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
KOVACS Krisztianf6318e52010-10-24 23:38:32 +00008config NF_DEFRAG_IPV6
9 tristate
10 default n
11
Yasuyuki Kozakai9bdf87d2005-11-14 15:26:58 -080012config NF_CONNTRACK_IPV6
Patrick McHardy8ce22fc2008-01-14 23:31:36 -080013 tristate "IPv6 connection tracking support"
14 depends on INET && IPV6 && NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -080015 default m if NETFILTER_ADVANCED=n
KOVACS Krisztianf6318e52010-10-24 23:38:32 +000016 select NF_DEFRAG_IPV6
Yasuyuki Kozakai9bdf87d2005-11-14 15:26:58 -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 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.
27
Patrick McHardy96518512013-10-14 11:00:02 +020028config NF_TABLES_IPV6
29 depends on NF_TABLES
30 tristate "IPv6 nf_tables support"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +010031 help
32 This option enables the IPv6 support for nf_tables.
Patrick McHardy96518512013-10-14 11:00:02 +020033
Pablo Neira Ayuso93707612013-10-10 23:21:26 +020034config NFT_CHAIN_ROUTE_IPV6
Patrick McHardy96518512013-10-14 11:00:02 +020035 depends on NF_TABLES_IPV6
Pablo Neira Ayuso93707612013-10-10 23:21:26 +020036 tristate "IPv6 nf_tables route chain support"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +010037 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.
Patrick McHardy96518512013-10-14 11:00:02 +020042
Tomasz Bursztykaeb316282013-10-10 13:39:19 +020043config NFT_CHAIN_NAT_IPV6
44 depends on NF_TABLES_IPV6
45 depends on NF_NAT_IPV6 && NFT_NAT
46 tristate "IPv6 nf_tables nat chain support"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +010047 help
48 This option enables the "nat" chain for IPv6 in nf_tables. This
49 chain type is used to perform Network Address Translation (NAT)
50 packet transformations such as the source, destination address and
51 source and destination ports.
Tomasz Bursztykaeb316282013-10-10 13:39:19 +020052
Linus Torvalds1da177e2005-04-16 15:20:36 -070053config IP6_NF_IPTABLES
Patrick McHardy844dc7c2006-10-30 15:12:16 -080054 tristate "IP6 tables support (required for filtering)"
Patrick McHardy8ce22fc2008-01-14 23:31:36 -080055 depends on INET && IPV6
Patrick McHardya3c941b2007-02-12 11:15:02 -080056 select NETFILTER_XTABLES
Patrick McHardy33b8e772007-12-17 22:47:05 -080057 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -070058 help
59 ip6tables is a general, extensible packet identification framework.
60 Currently only the packet filtering and packet mangling subsystem
61 for IPv6 use this, but connection tracking is going to follow.
62 Say 'Y' or 'M' here if you want to use either of those.
63
64 To compile it as a module, choose M here. If unsure, say N.
65
Jan Engelhardtc2df73d2008-10-08 11:35:18 +020066if IP6_NF_IPTABLES
67
Linus Torvalds1da177e2005-04-16 15:20:36 -070068# The simple matches.
Jan Engelhardtaba0d342008-10-08 11:35:17 +020069config IP6_NF_MATCH_AH
70 tristate '"ah" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080071 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070072 help
Jan Engelhardtaba0d342008-10-08 11:35:17 +020073 This module allows one to match AH packets.
74
75 To compile it as a module, choose M here. If unsure, say N.
76
77config IP6_NF_MATCH_EUI64
78 tristate '"eui64" address check'
Jan Engelhardtaba0d342008-10-08 11:35:17 +020079 depends on NETFILTER_ADVANCED
80 help
81 This module performs checking on the IPv6 source address
82 Compares the last 64 bits with the EUI64 (delivered
83 from the MAC address) address
84
85 To compile it as a module, choose M here. If unsure, say N.
86
87config IP6_NF_MATCH_FRAG
88 tristate '"frag" Fragmentation header match support'
Jan Engelhardtaba0d342008-10-08 11:35:17 +020089 depends on NETFILTER_ADVANCED
90 help
91 frag matching allows you to match packets based on the fragmentation
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 header of the packet.
93
94 To compile it as a module, choose M here. If unsure, say N.
95
96config IP6_NF_MATCH_OPTS
Jan Engelhardt77d73582008-10-08 11:35:17 +020097 tristate '"hbh" hop-by-hop and "dst" opts header match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080098 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070099 help
100 This allows one to match packets based on the hop-by-hop
101 and destination options headers of a packet.
102
103 To compile it as a module, choose M here. If unsure, say N.
104
Jan Engelhardt43233622009-02-19 11:16:03 +0100105config IP6_NF_MATCH_HL
106 tristate '"hl" hoplimit match support'
107 depends on NETFILTER_ADVANCED
108 select NETFILTER_XT_MATCH_HL
109 ---help---
110 This is a backwards-compat option for the user's convenience
111 (e.g. when running oldconfig). It selects
Jan Engelhardt8dd1d042009-03-24 13:35:27 -0700112 CONFIG_NETFILTER_XT_MATCH_HL.
Jan Engelhardt43233622009-02-19 11:16:03 +0100113
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114config IP6_NF_MATCH_IPV6HEADER
Jan Engelhardt4c377992007-12-04 23:31:59 -0800115 tristate '"ipv6header" IPv6 Extension Headers Match'
Linus Torvalds44c45eb2008-01-31 00:26:10 +1100116 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117 help
118 This module allows one to match packets based upon
119 the ipv6 extension headers.
120
121 To compile it as a module, choose M here. If unsure, say N.
122
Masahide NAKAMURAa0ca2152007-02-07 15:12:57 -0800123config IP6_NF_MATCH_MH
Jan Engelhardt4c377992007-12-04 23:31:59 -0800124 tristate '"mh" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800125 depends on NETFILTER_ADVANCED
Masahide NAKAMURAa0ca2152007-02-07 15:12:57 -0800126 help
127 This module allows one to match MH packets.
128
129 To compile it as a module, choose M here. If unsure, say N.
130
Florian Westphale26f9a42011-08-19 13:52:40 +0200131config IP6_NF_MATCH_RPFILTER
132 tristate '"rpfilter" reverse path filter match support'
Florian Westphald37d6962013-04-17 22:45:25 +0000133 depends on NETFILTER_ADVANCED && (IP6_NF_MANGLE || IP6_NF_RAW)
Florian Westphale26f9a42011-08-19 13:52:40 +0200134 ---help---
135 This option allows you to match packets whose replies would
136 go out via the interface the packet came in.
137
138 To compile it as a module, choose M here. If unsure, say N.
139 The module will be called ip6t_rpfilter.
140
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200141config IP6_NF_MATCH_RT
142 tristate '"rt" Routing header match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800143 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144 help
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200145 rt matching allows you to match packets based on the routing
146 header of the packet.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700147
148 To compile it as a module, choose M here. If unsure, say N.
149
Linus Torvalds1da177e2005-04-16 15:20:36 -0700150# The targets
Jan Engelhardt43233622009-02-19 11:16:03 +0100151config IP6_NF_TARGET_HL
152 tristate '"HL" hoplimit target support'
Randy Dunlap76b67172010-10-18 11:13:30 +0200153 depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
Jan Engelhardt43233622009-02-19 11:16:03 +0100154 select NETFILTER_XT_TARGET_HL
155 ---help---
Randy Dunlap76b67172010-10-18 11:13:30 +0200156 This is a backwards-compatible option for the user's convenience
Jan Engelhardt43233622009-02-19 11:16:03 +0100157 (e.g. when running oldconfig). It selects
Jan Engelhardt8dd1d042009-03-24 13:35:27 -0700158 CONFIG_NETFILTER_XT_TARGET_HL.
Jan Engelhardt43233622009-02-19 11:16:03 +0100159
Linus Torvalds1da177e2005-04-16 15:20:36 -0700160config IP6_NF_FILTER
161 tristate "Packet filtering"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800162 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163 help
164 Packet filtering defines a table `filter', which has a series of
165 rules for simple packet filtering at local input, forwarding and
166 local output. See the man page for iptables(8).
167
168 To compile it as a module, choose M here. If unsure, say N.
169
Patrick McHardy764d8a92005-08-21 23:31:06 -0700170config IP6_NF_TARGET_REJECT
171 tristate "REJECT target support"
172 depends on IP6_NF_FILTER
Patrick McHardy33b8e772007-12-17 22:47:05 -0800173 default m if NETFILTER_ADVANCED=n
Patrick McHardy764d8a92005-08-21 23:31:06 -0700174 help
175 The REJECT target allows a filtering rule to specify that an ICMPv6
176 error should be issued in response to an incoming packet, rather
177 than silently being dropped.
178
179 To compile it as a module, choose M here. If unsure, say N.
180
Patrick McHardy4ad36222013-08-27 08:50:16 +0200181config IP6_NF_TARGET_SYNPROXY
182 tristate "SYNPROXY target support"
183 depends on NF_CONNTRACK && NETFILTER_ADVANCED
184 select NETFILTER_SYNPROXY
185 select SYN_COOKIES
186 help
187 The SYNPROXY target allows you to intercept TCP connections and
188 establish them using syncookies before they are passed on to the
189 server. This allows to avoid conntrack and server resource usage
190 during SYN-flood attacks.
191
192 To compile it as a module, choose M here. If unsure, say N.
193
Linus Torvalds1da177e2005-04-16 15:20:36 -0700194config IP6_NF_MANGLE
195 tristate "Packet mangling"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800196 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197 help
198 This option adds a `mangle' table to iptables: see the man page for
199 iptables(8). This table is used for various packet alterations
200 which can effect how the packet is routed.
201
202 To compile it as a module, choose M here. If unsure, say N.
203
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204config IP6_NF_RAW
205 tristate 'raw table support (required for TRACE)'
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206 help
207 This option adds a `raw' table to ip6tables. This table is the very
208 first in the netfilter framework and hooks in at the PREROUTING
209 and OUTPUT chains.
Patrick McHardy33b8e772007-12-17 22:47:05 -0800210
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +0500212 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213
James Morris17e6e592008-06-09 15:58:05 -0700214# security table for MAC policy
215config IP6_NF_SECURITY
216 tristate "Security table"
James Morris17e6e592008-06-09 15:58:05 -0700217 depends on SECURITY
Patrick McHardy70eed752008-07-23 16:42:42 -0700218 depends on NETFILTER_ADVANCED
James Morris17e6e592008-06-09 15:58:05 -0700219 help
220 This option adds a `security' table to iptables, for use
221 with Mandatory Access Control (MAC) policy.
Pablo Neira Ayusob0041d12012-09-18 21:03:39 +0200222
James Morris17e6e592008-06-09 15:58:05 -0700223 If unsure, say N.
224
Pablo Neira Ayusob0041d12012-09-18 21:03:39 +0200225config NF_NAT_IPV6
226 tristate "IPv6 NAT"
227 depends on NF_CONNTRACK_IPV6
228 depends on NETFILTER_ADVANCED
229 select NF_NAT
230 help
231 The IPv6 NAT option allows masquerading, port forwarding and other
232 forms of full Network Address Port Translation. It is controlled by
233 the `nat' table in ip6tables, see the man page for ip6tables(8).
234
235 To compile it as a module, choose M here. If unsure, say N.
236
237if NF_NAT_IPV6
238
239config IP6_NF_TARGET_MASQUERADE
240 tristate "MASQUERADE target support"
241 help
242 Masquerading is a special case of NAT: all outgoing connections are
243 changed to seem to come from a particular interface's address, and
244 if the interface goes down, those connections are lost. This is
245 only useful for dialup accounts with dynamic IP address (ie. your IP
246 address will be different on next dialup).
247
248 To compile it as a module, choose M here. If unsure, say N.
249
Pablo Neira Ayusob0041d12012-09-18 21:03:39 +0200250config IP6_NF_TARGET_NPT
251 tristate "NPT (Network Prefix translation) target support"
252 help
253 This option adds the `SNPT' and `DNPT' target, which perform
254 stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
255
256 To compile it as a module, choose M here. If unsure, say N.
257
258endif # NF_NAT_IPV6
259
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200260endif # IP6_NF_IPTABLES
261
Linus Torvalds1da177e2005-04-16 15:20:36 -0700262endmenu
263