blob: a7f842b29b67b2ca5ff2c2cbe13588e3098ce44b [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
Linus Torvalds1da177e2005-04-16 15:20:36 -070028config IP6_NF_IPTABLES
Patrick McHardy844dc7c2006-10-30 15:12:16 -080029 tristate "IP6 tables support (required for filtering)"
Patrick McHardy8ce22fc2008-01-14 23:31:36 -080030 depends on INET && IPV6
Patrick McHardya3c941b2007-02-12 11:15:02 -080031 select NETFILTER_XTABLES
Patrick McHardy33b8e772007-12-17 22:47:05 -080032 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -070033 help
34 ip6tables is a general, extensible packet identification framework.
35 Currently only the packet filtering and packet mangling subsystem
36 for IPv6 use this, but connection tracking is going to follow.
37 Say 'Y' or 'M' here if you want to use either of those.
38
39 To compile it as a module, choose M here. If unsure, say N.
40
Jan Engelhardtc2df73d2008-10-08 11:35:18 +020041if IP6_NF_IPTABLES
42
Linus Torvalds1da177e2005-04-16 15:20:36 -070043# The simple matches.
Jan Engelhardtaba0d342008-10-08 11:35:17 +020044config IP6_NF_MATCH_AH
45 tristate '"ah" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080046 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070047 help
Jan Engelhardtaba0d342008-10-08 11:35:17 +020048 This module allows one to match AH packets.
49
50 To compile it as a module, choose M here. If unsure, say N.
51
52config IP6_NF_MATCH_EUI64
53 tristate '"eui64" address check'
Jan Engelhardtaba0d342008-10-08 11:35:17 +020054 depends on NETFILTER_ADVANCED
55 help
56 This module performs checking on the IPv6 source address
57 Compares the last 64 bits with the EUI64 (delivered
58 from the MAC address) address
59
60 To compile it as a module, choose M here. If unsure, say N.
61
62config IP6_NF_MATCH_FRAG
63 tristate '"frag" Fragmentation header match support'
Jan Engelhardtaba0d342008-10-08 11:35:17 +020064 depends on NETFILTER_ADVANCED
65 help
66 frag matching allows you to match packets based on the fragmentation
Linus Torvalds1da177e2005-04-16 15:20:36 -070067 header of the packet.
68
69 To compile it as a module, choose M here. If unsure, say N.
70
71config IP6_NF_MATCH_OPTS
Jan Engelhardt77d73582008-10-08 11:35:17 +020072 tristate '"hbh" hop-by-hop and "dst" opts header match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080073 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070074 help
75 This allows one to match packets based on the hop-by-hop
76 and destination options headers of a packet.
77
78 To compile it as a module, choose M here. If unsure, say N.
79
Jan Engelhardt43233622009-02-19 11:16:03 +010080config IP6_NF_MATCH_HL
81 tristate '"hl" hoplimit match support'
82 depends on NETFILTER_ADVANCED
83 select NETFILTER_XT_MATCH_HL
84 ---help---
85 This is a backwards-compat option for the user's convenience
86 (e.g. when running oldconfig). It selects
Jan Engelhardt8dd1d042009-03-24 13:35:27 -070087 CONFIG_NETFILTER_XT_MATCH_HL.
Jan Engelhardt43233622009-02-19 11:16:03 +010088
Linus Torvalds1da177e2005-04-16 15:20:36 -070089config IP6_NF_MATCH_IPV6HEADER
Jan Engelhardt4c377992007-12-04 23:31:59 -080090 tristate '"ipv6header" IPv6 Extension Headers Match'
Linus Torvalds44c45eb2008-01-31 00:26:10 +110091 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 help
93 This module allows one to match packets based upon
94 the ipv6 extension headers.
95
96 To compile it as a module, choose M here. If unsure, say N.
97
Masahide NAKAMURAa0ca2152007-02-07 15:12:57 -080098config IP6_NF_MATCH_MH
Jan Engelhardt4c377992007-12-04 23:31:59 -080099 tristate '"mh" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800100 depends on NETFILTER_ADVANCED
Masahide NAKAMURAa0ca2152007-02-07 15:12:57 -0800101 help
102 This module allows one to match MH packets.
103
104 To compile it as a module, choose M here. If unsure, say N.
105
Florian Westphale26f9a42011-08-19 13:52:40 +0200106config IP6_NF_MATCH_RPFILTER
107 tristate '"rpfilter" reverse path filter match support'
Florian Westphald37d6962013-04-17 22:45:25 +0000108 depends on NETFILTER_ADVANCED && (IP6_NF_MANGLE || IP6_NF_RAW)
Florian Westphale26f9a42011-08-19 13:52:40 +0200109 ---help---
110 This option allows you to match packets whose replies would
111 go out via the interface the packet came in.
112
113 To compile it as a module, choose M here. If unsure, say N.
114 The module will be called ip6t_rpfilter.
115
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200116config IP6_NF_MATCH_RT
117 tristate '"rt" Routing header match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800118 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119 help
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200120 rt matching allows you to match packets based on the routing
121 header of the packet.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122
123 To compile it as a module, choose M here. If unsure, say N.
124
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125# The targets
Jan Engelhardt43233622009-02-19 11:16:03 +0100126config IP6_NF_TARGET_HL
127 tristate '"HL" hoplimit target support'
Randy Dunlap76b67172010-10-18 11:13:30 +0200128 depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
Jan Engelhardt43233622009-02-19 11:16:03 +0100129 select NETFILTER_XT_TARGET_HL
130 ---help---
Randy Dunlap76b67172010-10-18 11:13:30 +0200131 This is a backwards-compatible option for the user's convenience
Jan Engelhardt43233622009-02-19 11:16:03 +0100132 (e.g. when running oldconfig). It selects
Jan Engelhardt8dd1d042009-03-24 13:35:27 -0700133 CONFIG_NETFILTER_XT_TARGET_HL.
Jan Engelhardt43233622009-02-19 11:16:03 +0100134
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135config IP6_NF_FILTER
136 tristate "Packet filtering"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800137 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138 help
139 Packet filtering defines a table `filter', which has a series of
140 rules for simple packet filtering at local input, forwarding and
141 local output. See the man page for iptables(8).
142
143 To compile it as a module, choose M here. If unsure, say N.
144
Patrick McHardy764d8a92005-08-21 23:31:06 -0700145config IP6_NF_TARGET_REJECT
146 tristate "REJECT target support"
147 depends on IP6_NF_FILTER
Patrick McHardy33b8e772007-12-17 22:47:05 -0800148 default m if NETFILTER_ADVANCED=n
Patrick McHardy764d8a92005-08-21 23:31:06 -0700149 help
150 The REJECT target allows a filtering rule to specify that an ICMPv6
151 error should be issued in response to an incoming packet, rather
152 than silently being dropped.
153
154 To compile it as a module, choose M here. If unsure, say N.
155
Patrick McHardy4ad36222013-08-27 08:50:16 +0200156config IP6_NF_TARGET_SYNPROXY
157 tristate "SYNPROXY target support"
158 depends on NF_CONNTRACK && NETFILTER_ADVANCED
159 select NETFILTER_SYNPROXY
160 select SYN_COOKIES
161 help
162 The SYNPROXY target allows you to intercept TCP connections and
163 establish them using syncookies before they are passed on to the
164 server. This allows to avoid conntrack and server resource usage
165 during SYN-flood attacks.
166
167 To compile it as a module, choose M here. If unsure, say N.
168
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169config IP6_NF_MANGLE
170 tristate "Packet mangling"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800171 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 help
173 This option adds a `mangle' table to iptables: see the man page for
174 iptables(8). This table is used for various packet alterations
175 which can effect how the packet is routed.
176
177 To compile it as a module, choose M here. If unsure, say N.
178
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179config IP6_NF_RAW
180 tristate 'raw table support (required for TRACE)'
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181 help
182 This option adds a `raw' table to ip6tables. This table is the very
183 first in the netfilter framework and hooks in at the PREROUTING
184 and OUTPUT chains.
Patrick McHardy33b8e772007-12-17 22:47:05 -0800185
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +0500187 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188
James Morris17e6e592008-06-09 15:58:05 -0700189# security table for MAC policy
190config IP6_NF_SECURITY
191 tristate "Security table"
James Morris17e6e592008-06-09 15:58:05 -0700192 depends on SECURITY
Patrick McHardy70eed752008-07-23 16:42:42 -0700193 depends on NETFILTER_ADVANCED
James Morris17e6e592008-06-09 15:58:05 -0700194 help
195 This option adds a `security' table to iptables, for use
196 with Mandatory Access Control (MAC) policy.
Pablo Neira Ayusob0041d12012-09-18 21:03:39 +0200197
James Morris17e6e592008-06-09 15:58:05 -0700198 If unsure, say N.
199
Pablo Neira Ayusob0041d12012-09-18 21:03:39 +0200200config NF_NAT_IPV6
201 tristate "IPv6 NAT"
202 depends on NF_CONNTRACK_IPV6
203 depends on NETFILTER_ADVANCED
204 select NF_NAT
205 help
206 The IPv6 NAT option allows masquerading, port forwarding and other
207 forms of full Network Address Port Translation. It is controlled by
208 the `nat' table in ip6tables, see the man page for ip6tables(8).
209
210 To compile it as a module, choose M here. If unsure, say N.
211
212if NF_NAT_IPV6
213
214config IP6_NF_TARGET_MASQUERADE
215 tristate "MASQUERADE target support"
216 help
217 Masquerading is a special case of NAT: all outgoing connections are
218 changed to seem to come from a particular interface's address, and
219 if the interface goes down, those connections are lost. This is
220 only useful for dialup accounts with dynamic IP address (ie. your IP
221 address will be different on next dialup).
222
223 To compile it as a module, choose M here. If unsure, say N.
224
Pablo Neira Ayusob0041d12012-09-18 21:03:39 +0200225config IP6_NF_TARGET_NPT
226 tristate "NPT (Network Prefix translation) target support"
227 help
228 This option adds the `SNPT' and `DNPT' target, which perform
229 stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
230
231 To compile it as a module, choose M here. If unsure, say N.
232
233endif # NF_NAT_IPV6
234
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200235endif # IP6_NF_IPTABLES
236
Linus Torvalds1da177e2005-04-16 15:20:36 -0700237endmenu
238