blob: 3b73254d7bf1102cb89d9efab0b8500d2a87752a [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 McHardy58a317f2012-08-26 19:14:12 +020028config NF_NAT_IPV6
29 tristate "IPv6 NAT"
30 depends on NF_CONNTRACK_IPV6
31 depends on NETFILTER_ADVANCED
32 select NF_NAT
33 help
34 The IPv6 NAT option allows masquerading, port forwarding and other
35 forms of full Network Address Port Translation. It is controlled by
36 the `nat' table in ip6tables, see the man page for ip6tables(8).
37
38 To compile it as a module, choose M here. If unsure, say N.
39
Linus Torvalds1da177e2005-04-16 15:20:36 -070040config IP6_NF_IPTABLES
Patrick McHardy844dc7c2006-10-30 15:12:16 -080041 tristate "IP6 tables support (required for filtering)"
Patrick McHardy8ce22fc2008-01-14 23:31:36 -080042 depends on INET && IPV6
Patrick McHardya3c941b2007-02-12 11:15:02 -080043 select NETFILTER_XTABLES
Patrick McHardy33b8e772007-12-17 22:47:05 -080044 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -070045 help
46 ip6tables is a general, extensible packet identification framework.
47 Currently only the packet filtering and packet mangling subsystem
48 for IPv6 use this, but connection tracking is going to follow.
49 Say 'Y' or 'M' here if you want to use either of those.
50
51 To compile it as a module, choose M here. If unsure, say N.
52
Jan Engelhardtc2df73d2008-10-08 11:35:18 +020053if IP6_NF_IPTABLES
54
Linus Torvalds1da177e2005-04-16 15:20:36 -070055# The simple matches.
Jan Engelhardtaba0d342008-10-08 11:35:17 +020056config IP6_NF_MATCH_AH
57 tristate '"ah" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080058 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070059 help
Jan Engelhardtaba0d342008-10-08 11:35:17 +020060 This module allows one to match AH packets.
61
62 To compile it as a module, choose M here. If unsure, say N.
63
64config IP6_NF_MATCH_EUI64
65 tristate '"eui64" address check'
Jan Engelhardtaba0d342008-10-08 11:35:17 +020066 depends on NETFILTER_ADVANCED
67 help
68 This module performs checking on the IPv6 source address
69 Compares the last 64 bits with the EUI64 (delivered
70 from the MAC address) address
71
72 To compile it as a module, choose M here. If unsure, say N.
73
74config IP6_NF_MATCH_FRAG
75 tristate '"frag" Fragmentation header match support'
Jan Engelhardtaba0d342008-10-08 11:35:17 +020076 depends on NETFILTER_ADVANCED
77 help
78 frag matching allows you to match packets based on the fragmentation
Linus Torvalds1da177e2005-04-16 15:20:36 -070079 header of the packet.
80
81 To compile it as a module, choose M here. If unsure, say N.
82
83config IP6_NF_MATCH_OPTS
Jan Engelhardt77d73582008-10-08 11:35:17 +020084 tristate '"hbh" hop-by-hop and "dst" opts header match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080085 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -070086 help
87 This allows one to match packets based on the hop-by-hop
88 and destination options headers of a packet.
89
90 To compile it as a module, choose M here. If unsure, say N.
91
Jan Engelhardt43233622009-02-19 11:16:03 +010092config IP6_NF_MATCH_HL
93 tristate '"hl" hoplimit match support'
94 depends on NETFILTER_ADVANCED
95 select NETFILTER_XT_MATCH_HL
96 ---help---
97 This is a backwards-compat option for the user's convenience
98 (e.g. when running oldconfig). It selects
Jan Engelhardt8dd1d042009-03-24 13:35:27 -070099 CONFIG_NETFILTER_XT_MATCH_HL.
Jan Engelhardt43233622009-02-19 11:16:03 +0100100
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101config IP6_NF_MATCH_IPV6HEADER
Jan Engelhardt4c377992007-12-04 23:31:59 -0800102 tristate '"ipv6header" IPv6 Extension Headers Match'
Linus Torvalds44c45eb2008-01-31 00:26:10 +1100103 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 help
105 This module allows one to match packets based upon
106 the ipv6 extension headers.
107
108 To compile it as a module, choose M here. If unsure, say N.
109
Masahide NAKAMURAa0ca2152007-02-07 15:12:57 -0800110config IP6_NF_MATCH_MH
Jan Engelhardt4c377992007-12-04 23:31:59 -0800111 tristate '"mh" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800112 depends on NETFILTER_ADVANCED
Masahide NAKAMURAa0ca2152007-02-07 15:12:57 -0800113 help
114 This module allows one to match MH packets.
115
116 To compile it as a module, choose M here. If unsure, say N.
117
Florian Westphale26f9a42011-08-19 13:52:40 +0200118config IP6_NF_MATCH_RPFILTER
119 tristate '"rpfilter" reverse path filter match support'
120 depends on NETFILTER_ADVANCED
121 ---help---
122 This option allows you to match packets whose replies would
123 go out via the interface the packet came in.
124
125 To compile it as a module, choose M here. If unsure, say N.
126 The module will be called ip6t_rpfilter.
127
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200128config IP6_NF_MATCH_RT
129 tristate '"rt" Routing header match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800130 depends on NETFILTER_ADVANCED
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131 help
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200132 rt matching allows you to match packets based on the routing
133 header of the packet.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134
135 To compile it as a module, choose M here. If unsure, say N.
136
Linus Torvalds1da177e2005-04-16 15:20:36 -0700137# The targets
Jan Engelhardt43233622009-02-19 11:16:03 +0100138config IP6_NF_TARGET_HL
139 tristate '"HL" hoplimit target support'
Randy Dunlap76b67172010-10-18 11:13:30 +0200140 depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
Jan Engelhardt43233622009-02-19 11:16:03 +0100141 select NETFILTER_XT_TARGET_HL
142 ---help---
Randy Dunlap76b67172010-10-18 11:13:30 +0200143 This is a backwards-compatible option for the user's convenience
Jan Engelhardt43233622009-02-19 11:16:03 +0100144 (e.g. when running oldconfig). It selects
Jan Engelhardt8dd1d042009-03-24 13:35:27 -0700145 CONFIG_NETFILTER_XT_TARGET_HL.
Jan Engelhardt43233622009-02-19 11:16:03 +0100146
Patrick McHardyb3f644f2012-08-26 19:14:14 +0200147config IP6_NF_TARGET_MASQUERADE
148 tristate "MASQUERADE target support"
149 depends on NF_NAT_IPV6
150 help
151 Masquerading is a special case of NAT: all outgoing connections are
152 changed to seem to come from a particular interface's address, and
153 if the interface goes down, those connections are lost. This is
154 only useful for dialup accounts with dynamic IP address (ie. your IP
155 address will be different on next dialup).
156
157 To compile it as a module, choose M here. If unsure, say N.
158
Patrick McHardyed72d9e2012-08-26 19:14:18 +0200159config IP6_NF_TARGET_NETMAP
160 tristate "NETMAP target support"
161 depends on NF_NAT_IPV6
162 help
163 NETMAP is an implementation of static 1:1 NAT mapping of network
164 addresses. It maps the network address part, while keeping the host
165 address part intact.
166
167 To compile it as a module, choose M here. If unsure, say N.
168
Patrick McHardy115e23a2012-08-26 19:14:16 +0200169config IP6_NF_TARGET_REDIRECT
170 tristate "REDIRECT target support"
171 depends on NF_NAT_IPV6
172 help
173 REDIRECT is a special case of NAT: all incoming connections are
174 mapped onto the incoming interface's address, causing the packets to
175 come to the local machine instead of passing through. This is
176 useful for transparent proxies.
177
178 To compile it as a module, choose M here. If unsure, say N.
179
Patrick McHardy8a91bb02012-08-26 19:14:31 +0200180config IP6_NF_TARGET_NPT
181 tristate "NPT (Network Prefix translation) target support"
182 depends on NETFILTER_ADVANCED
183 help
184 This option adds the `SNPT' and `DNPT' target, which perform
185 stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
186
187 To compile it as a module, choose M here. If unsure, say N.
188
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189config IP6_NF_FILTER
190 tristate "Packet filtering"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800191 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700192 help
193 Packet filtering defines a table `filter', which has a series of
194 rules for simple packet filtering at local input, forwarding and
195 local output. See the man page for iptables(8).
196
197 To compile it as a module, choose M here. If unsure, say N.
198
Patrick McHardy764d8a92005-08-21 23:31:06 -0700199config IP6_NF_TARGET_REJECT
200 tristate "REJECT target support"
201 depends on IP6_NF_FILTER
Patrick McHardy33b8e772007-12-17 22:47:05 -0800202 default m if NETFILTER_ADVANCED=n
Patrick McHardy764d8a92005-08-21 23:31:06 -0700203 help
204 The REJECT target allows a filtering rule to specify that an ICMPv6
205 error should be issued in response to an incoming packet, rather
206 than silently being dropped.
207
208 To compile it as a module, choose M here. If unsure, say N.
209
Linus Torvalds1da177e2005-04-16 15:20:36 -0700210config IP6_NF_MANGLE
211 tristate "Packet mangling"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800212 default m if NETFILTER_ADVANCED=n
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213 help
214 This option adds a `mangle' table to iptables: see the man page for
215 iptables(8). This table is used for various packet alterations
216 which can effect how the packet is routed.
217
218 To compile it as a module, choose M here. If unsure, say N.
219
Linus Torvalds1da177e2005-04-16 15:20:36 -0700220config IP6_NF_RAW
221 tristate 'raw table support (required for TRACE)'
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222 help
223 This option adds a `raw' table to ip6tables. This table is the very
224 first in the netfilter framework and hooks in at the PREROUTING
225 and OUTPUT chains.
Patrick McHardy33b8e772007-12-17 22:47:05 -0800226
Linus Torvalds1da177e2005-04-16 15:20:36 -0700227 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +0500228 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700229
James Morris17e6e592008-06-09 15:58:05 -0700230# security table for MAC policy
231config IP6_NF_SECURITY
232 tristate "Security table"
James Morris17e6e592008-06-09 15:58:05 -0700233 depends on SECURITY
Patrick McHardy70eed752008-07-23 16:42:42 -0700234 depends on NETFILTER_ADVANCED
James Morris17e6e592008-06-09 15:58:05 -0700235 help
236 This option adds a `security' table to iptables, for use
237 with Mandatory Access Control (MAC) policy.
238
239 If unsure, say N.
240
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200241endif # IP6_NF_IPTABLES
242
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243endmenu
244