blob: 263609a7e0106fc2654653018c6a16ee79d6ce26 [file] [log] [blame]
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -08001menu "Core Netfilter Configuration"
Patrick McHardy3a411352006-12-12 00:27:46 -08002 depends on NET && INET && NETFILTER
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -08003
Pablo Neirae687ad62015-05-13 18:19:38 +02004config NETFILTER_INGRESS
5 bool "Netfilter ingress support"
Pablo Neira Ayuso529985d2015-05-26 18:41:12 +02006 default y
Pablo Neirae687ad62015-05-13 18:19:38 +02007 select NET_INGRESS
8 help
9 This allows you to classify packets from ingress using the Netfilter
10 infrastructure.
11
Harald Weltef9e815b2005-08-09 19:30:24 -070012config NETFILTER_NETLINK
Patrick McHardy2eeeba32007-12-05 01:31:52 -080013 tristate
Harald Welte7af4cc32005-08-09 19:44:15 -070014
Florian Westphal2a951832017-12-07 16:28:26 +010015config NETFILTER_FAMILY_BRIDGE
16 bool
17
18config NETFILTER_FAMILY_ARP
19 bool
20
Pablo Neira Ayuso94139022011-12-23 14:19:50 +010021config NETFILTER_NETLINK_ACCT
22tristate "Netfilter NFACCT over NFNETLINK interface"
23 depends on NETFILTER_ADVANCED
24 select NETFILTER_NETLINK
25 help
26 If this option is enabled, the kernel will include support
27 for extended accounting via NFNETLINK.
28
Harald Welte7af4cc32005-08-09 19:44:15 -070029config NETFILTER_NETLINK_QUEUE
30 tristate "Netfilter NFQUEUE over NFNETLINK interface"
Patrick McHardy33b8e772007-12-17 22:47:05 -080031 depends on NETFILTER_ADVANCED
Patrick McHardy2eeeba32007-12-05 01:31:52 -080032 select NETFILTER_NETLINK
Harald Welte7af4cc32005-08-09 19:44:15 -070033 help
Thomas Vögtle50b521a2006-03-22 13:53:48 -080034 If this option is enabled, the kernel will include support
Harald Welte7af4cc32005-08-09 19:44:15 -070035 for queueing packets via NFNETLINK.
36
Harald Welte0597f262005-08-09 19:58:39 -070037config NETFILTER_NETLINK_LOG
38 tristate "Netfilter LOG over NFNETLINK interface"
Patrick McHardy33b8e772007-12-17 22:47:05 -080039 default m if NETFILTER_ADVANCED=n
Patrick McHardy2eeeba32007-12-05 01:31:52 -080040 select NETFILTER_NETLINK
Harald Welte0597f262005-08-09 19:58:39 -070041 help
42 If this option is enabled, the kernel will include support
43 for logging packets via NFNETLINK.
44
45 This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
46 and is also scheduled to replace the old syslog-based ipt_LOG
47 and ip6t_LOG modules.
48
Patrick McHardyab4f58c2007-12-05 01:31:37 -080049config NF_CONNTRACK
Patrick McHardyb321e142006-12-02 22:05:46 -080050 tristate "Netfilter connection tracking support"
Patrick McHardy33b8e772007-12-17 22:47:05 -080051 default m if NETFILTER_ADVANCED=n
Patrick McHardyb321e142006-12-02 22:05:46 -080052 help
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080053 Connection tracking keeps a record of what packets have passed
54 through your machine, in order to figure out how they are related
55 into connections.
56
Patrick McHardyb321e142006-12-02 22:05:46 -080057 This is required to do Masquerading or other kinds of Network
Russ Dillb11c16b2008-07-08 02:35:27 -070058 Address Translation. It can also be used to enhance packet
59 filtering (see `Connection state match support' below).
Patrick McHardyb321e142006-12-02 22:05:46 -080060
61 To compile it as a module, choose M here. If unsure, say N.
62
Pablo Neira Ayusoc1878862014-06-28 18:39:01 +020063config NF_LOG_COMMON
64 tristate
65
Pablo Neira Ayuso1fddf4b2016-10-27 19:49:42 +010066config NF_LOG_NETDEV
67 tristate "Netdev packet logging"
68 select NF_LOG_COMMON
69
Jan Engelhardtc2df73d2008-10-08 11:35:18 +020070if NF_CONNTRACK
71
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080072config NF_CONNTRACK_MARK
73 bool 'Connection mark tracking support'
Patrick McHardy33b8e772007-12-17 22:47:05 -080074 depends on NETFILTER_ADVANCED
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -080075 help
76 This option enables support for connection marks, used by the
77 `CONNMARK' target and `connmark' match. Similar to the mark value
78 of packets, but this mark value is kept in the conntrack session
79 instead of the individual packets.
80
James Morris7c9728c2006-06-09 00:31:46 -070081config NF_CONNTRACK_SECMARK
82 bool 'Connection tracking security mark support'
Jan Engelhardtc2df73d2008-10-08 11:35:18 +020083 depends on NETWORK_SECMARK
Patrick McHardy33b8e772007-12-17 22:47:05 -080084 default m if NETFILTER_ADVANCED=n
James Morris7c9728c2006-06-09 00:31:46 -070085 help
86 This option enables security markings to be applied to
87 connections. Typically they are copied to connections from
88 packets using the CONNSECMARK target and copied back from
89 connections to packets with the same target, with the packets
90 being originally labeled via SECMARK.
91
92 If unsure, say 'N'.
93
Patrick McHardy5d0aa2c2010-02-15 18:13:33 +010094config NF_CONNTRACK_ZONES
95 bool 'Connection tracking zones'
96 depends on NETFILTER_ADVANCED
97 depends on NETFILTER_XT_TARGET_CT
98 help
99 This option enables support for connection tracking zones.
100 Normally, each connection needs to have a unique system wide
101 identity. Connection tracking zones allow to have multiple
102 connections using the same identity, as long as they are
103 contained in different zones.
104
105 If unsure, say `N'.
106
Jan Engelhardt54b07dc2011-04-21 09:32:45 +0200107config NF_CONNTRACK_PROCFS
108 bool "Supply CT list in procfs (OBSOLETE)"
109 default y
110 depends on PROC_FS
111 ---help---
112 This option enables for the list of known conntrack entries
113 to be shown in procfs under net/netfilter/nf_conntrack. This
114 is considered obsolete in favor of using the conntrack(8)
115 tool which uses Netlink.
116
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -0800117config NF_CONNTRACK_EVENTS
Patrick McHardy8ce22fc2008-01-14 23:31:36 -0800118 bool "Connection tracking events"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800119 depends on NETFILTER_ADVANCED
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -0800120 help
121 If this option is enabled, the connection tracking code will
122 provide a notifier chain that can be used by other kernel code
Thomas Vögtle50b521a2006-03-22 13:53:48 -0800123 to get notified about changes in the connection tracking state.
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -0800124
125 If unsure, say `N'.
126
Pablo Neira Ayusodd705072012-02-28 23:36:48 +0100127config NF_CONNTRACK_TIMEOUT
128 bool 'Connection tracking timeout'
129 depends on NETFILTER_ADVANCED
130 help
131 This option enables support for connection tracking timeout
132 extension. This allows you to attach timeout policies to flow
133 via the CT target.
134
135 If unsure, say `N'.
136
Pablo Neira Ayusoa992ca22011-01-19 16:00:07 +0100137config NF_CONNTRACK_TIMESTAMP
138 bool 'Connection tracking timestamping'
139 depends on NETFILTER_ADVANCED
140 help
141 This option enables support for connection tracking timestamping.
142 This allows you to store the flow start-time and to obtain
143 the flow-stop time (once it has been destroyed) via Connection
144 tracking events.
145
146 If unsure, say `N'.
147
Florian Westphalc539f012013-01-11 06:30:44 +0000148config NF_CONNTRACK_LABELS
149 bool
150 help
151 This option enables support for assigning user-defined flag bits
152 to connection tracking entries. It selected by the connlabel match.
153
Patrick McHardy2bc78042008-03-20 15:15:55 +0100154config NF_CT_PROTO_DCCP
Davide Carattic51d3902016-11-15 15:08:25 +0100155 bool 'DCCP protocol connection tracking support'
Patrick McHardy2bc78042008-03-20 15:15:55 +0100156 depends on NETFILTER_ADVANCED
Davide Carattic51d3902016-11-15 15:08:25 +0100157 default y
Patrick McHardy2bc78042008-03-20 15:15:55 +0100158 help
159 With this option enabled, the layer 3 independent connection
160 tracking code will be able to do state tracking on DCCP connections.
161
Davide Carattic51d3902016-11-15 15:08:25 +0100162 If unsure, say Y.
Patrick McHardy2bc78042008-03-20 15:15:55 +0100163
Patrick McHardyf09943f2006-12-02 22:09:41 -0800164config NF_CT_PROTO_GRE
165 tristate
Patrick McHardyf09943f2006-12-02 22:09:41 -0800166
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -0800167config NF_CT_PROTO_SCTP
Davide Carattia85406a2016-11-15 15:08:26 +0100168 bool 'SCTP protocol connection tracking support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800169 depends on NETFILTER_ADVANCED
Davide Carattia85406a2016-11-15 15:08:26 +0100170 default y
Davide Caratti300ae142017-01-02 13:29:40 +0100171 select LIBCRC32C
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -0800172 help
173 With this option enabled, the layer 3 independent connection
174 tracking code will be able to do state tracking on SCTP connections.
175
Davide Carattia85406a2016-11-15 15:08:26 +0100176 If unsure, say Y.
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -0800177
Patrick McHardy59eecdf2007-07-14 20:48:44 -0700178config NF_CT_PROTO_UDPLITE
Davide Caratti9b91c96c2016-11-15 15:08:27 +0100179 bool 'UDP-Lite protocol connection tracking support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800180 depends on NETFILTER_ADVANCED
Davide Caratti9b91c96c2016-11-15 15:08:27 +0100181 default y
Patrick McHardy59eecdf2007-07-14 20:48:44 -0700182 help
183 With this option enabled, the layer 3 independent connection
184 tracking code will be able to do state tracking on UDP-Lite
185 connections.
186
Davide Caratti9b91c96c2016-11-15 15:08:27 +0100187 If unsure, say Y.
Patrick McHardy59eecdf2007-07-14 20:48:44 -0700188
Patrick McHardy16958902006-12-02 22:08:26 -0800189config NF_CONNTRACK_AMANDA
Patrick McHardyc9386cf2007-01-04 12:16:06 -0800190 tristate "Amanda backup protocol support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800191 depends on NETFILTER_ADVANCED
Patrick McHardy16958902006-12-02 22:08:26 -0800192 select TEXTSEARCH
193 select TEXTSEARCH_KMP
194 help
195 If you are running the Amanda backup package <http://www.amanda.org/>
196 on this machine or machines that will be MASQUERADED through this
197 machine, then you may want to enable this feature. This allows the
198 connection tracking and natting code to allow the sub-channels that
199 Amanda requires for communication of the backup data, messages and
200 index.
201
202 To compile it as a module, choose M here. If unsure, say N.
203
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -0800204config NF_CONNTRACK_FTP
Patrick McHardyc9386cf2007-01-04 12:16:06 -0800205 tristate "FTP protocol support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800206 default m if NETFILTER_ADVANCED=n
Yasuyuki Kozakai9fb9cbb2005-11-09 16:38:16 -0800207 help
208 Tracking FTP connections is problematic: special helpers are
209 required for tracking them, and doing masquerading and other forms
210 of Network Address Translation on them.
211
212 This is FTP support on Layer 3 independent connection tracking.
213 Layer 3 independent connection tracking is experimental scheme
214 which generalize ip_conntrack to support other layer 3 protocols.
215
216 To compile it as a module, choose M here. If unsure, say N.
217
Patrick McHardyf587de02006-12-02 22:08:46 -0800218config NF_CONNTRACK_H323
Patrick McHardy8ce22fc2008-01-14 23:31:36 -0800219 tristate "H.323 protocol support"
Pablo Neira Ayusof09becc2015-06-12 13:58:52 +0200220 depends on IPV6 || IPV6=n
Patrick McHardy33b8e772007-12-17 22:47:05 -0800221 depends on NETFILTER_ADVANCED
Patrick McHardyf587de02006-12-02 22:08:46 -0800222 help
223 H.323 is a VoIP signalling protocol from ITU-T. As one of the most
224 important VoIP protocols, it is widely used by voice hardware and
225 software including voice gateways, IP phones, Netmeeting, OpenPhone,
226 Gnomemeeting, etc.
227
228 With this module you can support H.323 on a connection tracking/NAT
229 firewall.
230
231 This module supports RAS, Fast Start, H.245 Tunnelling, Call
232 Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
233 whiteboard, file transfer, etc. For more information, please
234 visit http://nath323.sourceforge.net/.
235
236 To compile it as a module, choose M here. If unsure, say N.
237
Patrick McHardy869f37d82006-12-02 22:09:06 -0800238config NF_CONNTRACK_IRC
Patrick McHardyc9386cf2007-01-04 12:16:06 -0800239 tristate "IRC protocol support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800240 default m if NETFILTER_ADVANCED=n
Patrick McHardy869f37d82006-12-02 22:09:06 -0800241 help
242 There is a commonly-used extension to IRC called
243 Direct Client-to-Client Protocol (DCC). This enables users to send
244 files to each other, and also chat to each other without the need
245 of a server. DCC Sending is used anywhere you send files over IRC,
246 and DCC Chat is most commonly used by Eggdrop bots. If you are
247 using NAT, this extension will enable you to send files and initiate
248 chats. Note that you do NOT need this extension to get files or
249 have others initiate chats, or everything else in IRC.
250
251 To compile it as a module, choose M here. If unsure, say N.
252
Jiri Olsa93557f52011-01-18 18:12:24 +0100253config NF_CONNTRACK_BROADCAST
254 tristate
255
Patrick McHardy92703ee2006-12-02 22:09:24 -0800256config NF_CONNTRACK_NETBIOS_NS
Patrick McHardy8ce22fc2008-01-14 23:31:36 -0800257 tristate "NetBIOS name service protocol support"
Jiri Olsa93557f52011-01-18 18:12:24 +0100258 select NF_CONNTRACK_BROADCAST
Patrick McHardy92703ee2006-12-02 22:09:24 -0800259 help
260 NetBIOS name service requests are sent as broadcast messages from an
261 unprivileged port and responded to with unicast messages to the
262 same port. This make them hard to firewall properly because connection
263 tracking doesn't deal with broadcasts. This helper tracks locally
264 originating NetBIOS name service requests and the corresponding
265 responses. It relies on correct IP address configuration, specifically
266 netmask and broadcast address. When properly configured, the output
267 of "ip address show" should look similar to this:
268
269 $ ip -4 address show eth0
270 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
271 inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
272
273 To compile it as a module, choose M here. If unsure, say N.
274
Jiri Olsa93557f52011-01-18 18:12:24 +0100275config NF_CONNTRACK_SNMP
276 tristate "SNMP service protocol support"
277 depends on NETFILTER_ADVANCED
278 select NF_CONNTRACK_BROADCAST
279 help
280 SNMP service requests are sent as broadcast messages from an
281 unprivileged port and responded to with unicast messages to the
282 same port. This make them hard to firewall properly because connection
283 tracking doesn't deal with broadcasts. This helper tracks locally
284 originating SNMP service requests and the corresponding
285 responses. It relies on correct IP address configuration, specifically
286 netmask and broadcast address.
287
288 To compile it as a module, choose M here. If unsure, say N.
289
Patrick McHardyf09943f2006-12-02 22:09:41 -0800290config NF_CONNTRACK_PPTP
Patrick McHardyc9386cf2007-01-04 12:16:06 -0800291 tristate "PPtP protocol support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800292 depends on NETFILTER_ADVANCED
Patrick McHardyf09943f2006-12-02 22:09:41 -0800293 select NF_CT_PROTO_GRE
294 help
295 This module adds support for PPTP (Point to Point Tunnelling
296 Protocol, RFC2637) connection tracking and NAT.
297
298 If you are running PPTP sessions over a stateful firewall or NAT
299 box, you may want to enable this feature.
300
301 Please note that not all PPTP modes of operation are supported yet.
302 Specifically these limitations exist:
David Sterba3dde6ad2007-05-09 07:12:20 +0200303 - Blindly assumes that control connections are always established
Patrick McHardyf09943f2006-12-02 22:09:41 -0800304 in PNS->PAC direction. This is a violation of RFC2637.
305 - Only supports a single call within each session
306
307 To compile it as a module, choose M here. If unsure, say N.
308
Michal Schmidt6fecd192007-02-07 15:05:12 -0800309config NF_CONNTRACK_SANE
Kees Cook663ef0d2012-10-02 11:19:54 -0700310 tristate "SANE protocol support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800311 depends on NETFILTER_ADVANCED
Michal Schmidt6fecd192007-02-07 15:05:12 -0800312 help
313 SANE is a protocol for remote access to scanners as implemented
314 by the 'saned' daemon. Like FTP, it uses separate control and
315 data connections.
316
317 With this module you can support SANE on a connection tracking
318 firewall.
319
320 To compile it as a module, choose M here. If unsure, say N.
321
Patrick McHardy9fafcd72006-12-02 22:09:57 -0800322config NF_CONNTRACK_SIP
Patrick McHardy8ce22fc2008-01-14 23:31:36 -0800323 tristate "SIP protocol support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800324 default m if NETFILTER_ADVANCED=n
Patrick McHardy9fafcd72006-12-02 22:09:57 -0800325 help
326 SIP is an application-layer control protocol that can establish,
327 modify, and terminate multimedia sessions (conferences) such as
328 Internet telephony calls. With the ip_conntrack_sip and
329 the nf_nat_sip modules you can support the protocol on a connection
330 tracking/NATing firewall.
331
332 To compile it as a module, choose M here. If unsure, say N.
333
Patrick McHardya536df32006-12-02 22:10:18 -0800334config NF_CONNTRACK_TFTP
Patrick McHardyc9386cf2007-01-04 12:16:06 -0800335 tristate "TFTP protocol support"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800336 depends on NETFILTER_ADVANCED
Patrick McHardya536df32006-12-02 22:10:18 -0800337 help
338 TFTP connection tracking helper, this is required depending
339 on how restrictive your ruleset is.
340 If you are using a tftp client behind -j SNAT or -j MASQUERADING
341 you will need this.
342
343 To compile it as a module, choose M here. If unsure, say N.
344
Pablo Neira Ayusoc1d10ad2006-01-05 12:19:05 -0800345config NF_CT_NETLINK
Patrick McHardy8ce22fc2008-01-14 23:31:36 -0800346 tristate 'Connection tracking netlink interface'
Patrick McHardy2eeeba32007-12-05 01:31:52 -0800347 select NETFILTER_NETLINK
Patrick McHardy33b8e772007-12-17 22:47:05 -0800348 default m if NETFILTER_ADVANCED=n
Pablo Neira Ayusoc1d10ad2006-01-05 12:19:05 -0800349 help
350 This option enables support for a netlink-based userspace interface
351
Pablo Neira Ayuso50978462012-02-28 19:13:48 +0100352config NF_CT_NETLINK_TIMEOUT
353 tristate 'Connection tracking timeout tuning via Netlink'
354 select NETFILTER_NETLINK
355 depends on NETFILTER_ADVANCED
356 help
357 This option enables support for connection tracking timeout
358 fine-grain tuning. This allows you to attach specific timeout
359 policies to flows, instead of using the global timeout policy.
360
361 If unsure, say `N'.
362
Pablo Neira Ayuso6e9c2db2012-06-18 21:14:30 +0200363config NF_CT_NETLINK_HELPER
364 tristate 'Connection tracking helpers in user-space via Netlink'
365 select NETFILTER_NETLINK
366 depends on NF_CT_NETLINK
367 depends on NETFILTER_NETLINK_QUEUE
Ken-ichirou MATSUZAWA83f3e942015-10-05 11:48:47 +0900368 depends on NETFILTER_NETLINK_GLUE_CT
Pablo Neira Ayuso6e9c2db2012-06-18 21:14:30 +0200369 depends on NETFILTER_ADVANCED
370 help
371 This option enables the user-space connection tracking helpers
372 infrastructure.
373
374 If unsure, say `N'.
375
Ken-ichirou MATSUZAWA83f3e942015-10-05 11:48:47 +0900376config NETFILTER_NETLINK_GLUE_CT
Ken-ichirou MATSUZAWAa29a9a52015-10-05 11:50:46 +0900377 bool "NFQUEUE and NFLOG integration with Connection Tracking"
Ken-ichirou MATSUZAWA83f3e942015-10-05 11:48:47 +0900378 default n
Ken-ichirou MATSUZAWAa29a9a52015-10-05 11:50:46 +0900379 depends on (NETFILTER_NETLINK_QUEUE || NETFILTER_NETLINK_LOG) && NF_CT_NETLINK
Pablo Neira Ayuso7c622342012-06-19 02:10:57 +0200380 help
Ken-ichirou MATSUZAWAa29a9a52015-10-05 11:50:46 +0900381 If this option is enabled, NFQUEUE and NFLOG can include
382 Connection Tracking information together with the packet is
383 the enqueued via NFNETLINK.
Pablo Neira Ayuso7c622342012-06-19 02:10:57 +0200384
Patrick McHardyc7232c92012-08-26 19:14:06 +0200385config NF_NAT
386 tristate
387
388config NF_NAT_NEEDED
389 bool
390 depends on NF_NAT
391 default y
392
393config NF_NAT_PROTO_DCCP
Davide Caratti0c4e9662016-10-20 18:33:01 +0200394 bool
Patrick McHardyc7232c92012-08-26 19:14:06 +0200395 depends on NF_NAT && NF_CT_PROTO_DCCP
396 default NF_NAT && NF_CT_PROTO_DCCP
397
398config NF_NAT_PROTO_UDPLITE
Davide Carattib8ad6522016-10-20 18:33:03 +0200399 bool
Patrick McHardyc7232c92012-08-26 19:14:06 +0200400 depends on NF_NAT && NF_CT_PROTO_UDPLITE
401 default NF_NAT && NF_CT_PROTO_UDPLITE
402
403config NF_NAT_PROTO_SCTP
Davide Caratti7a2dd282016-10-20 18:33:02 +0200404 bool
Patrick McHardyc7232c92012-08-26 19:14:06 +0200405 default NF_NAT && NF_CT_PROTO_SCTP
406 depends on NF_NAT && NF_CT_PROTO_SCTP
Patrick McHardyc7232c92012-08-26 19:14:06 +0200407
Patrick McHardyee6eb962012-08-26 19:14:22 +0200408config NF_NAT_AMANDA
409 tristate
410 depends on NF_CONNTRACK && NF_NAT
411 default NF_NAT && NF_CONNTRACK_AMANDA
412
Patrick McHardyd33cbee2012-08-26 19:14:20 +0200413config NF_NAT_FTP
414 tristate
415 depends on NF_CONNTRACK && NF_NAT
416 default NF_NAT && NF_CONNTRACK_FTP
417
Pablo Neira Ayuso5901b6b2012-08-26 19:14:27 +0200418config NF_NAT_IRC
419 tristate
420 depends on NF_CONNTRACK && NF_NAT
421 default NF_NAT && NF_CONNTRACK_IRC
422
Patrick McHardy9a664822012-08-26 19:14:25 +0200423config NF_NAT_SIP
424 tristate
425 depends on NF_CONNTRACK && NF_NAT
426 default NF_NAT && NF_CONNTRACK_SIP
427
Pablo Neira Ayuso320ff562012-08-26 19:14:29 +0200428config NF_NAT_TFTP
429 tristate
430 depends on NF_CONNTRACK && NF_NAT
431 default NF_NAT && NF_CONNTRACK_TFTP
432
Pablo Neira Ayusob59eaf92014-11-26 12:46:50 +0100433config NF_NAT_REDIRECT
434 tristate "IPv4/IPv6 redirect support"
435 depends on NF_NAT
436 help
437 This is the kernel functionality to redirect packets to local
438 machine through NAT.
439
Patrick McHardy48b1de42013-08-27 08:50:14 +0200440config NETFILTER_SYNPROXY
441 tristate
442
Laszlo Attila Toth4b070662009-04-24 16:55:25 +0200443endif # NF_CONNTRACK
444
Patrick McHardy96518512013-10-14 11:00:02 +0200445config NF_TABLES
Eric Leblond5f291c22013-12-29 11:01:29 +0100446 select NETFILTER_NETLINK
Patrick McHardy96518512013-10-14 11:00:02 +0200447 tristate "Netfilter nf_tables support"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100448 help
449 nftables is the new packet classification framework that intends to
450 replace the existing {ip,ip6,arp,eb}_tables infrastructure. It
451 provides a pseudo-state machine with an extensible instruction-set
452 (also known as expressions) that the userspace 'nft' utility
453 (http://www.netfilter.org/projects/nftables) uses to build the
454 rule-set. It also comes with the generic set infrastructure that
455 allows you to construct mappings between matchings and actions
456 for performance lookups.
457
458 To compile it as a module, choose M here.
Patrick McHardy96518512013-10-14 11:00:02 +0200459
Pablo Neira Ayusof04e5992015-03-05 14:56:15 +0100460if NF_TABLES
461
Patrick McHardy1d491442014-01-03 12:16:16 +0000462config NF_TABLES_INET
Pablo Neira Ayusof04e5992015-03-05 14:56:15 +0100463 depends on IPV6
Patrick McHardy1d491442014-01-03 12:16:16 +0000464 select NF_TABLES_IPV4
465 select NF_TABLES_IPV6
466 tristate "Netfilter nf_tables mixed IPv4/IPv6 tables support"
467 help
468 This option enables support for a mixed IPv4/IPv6 "inet" table.
469
Pablo Neira Ayusoed6c4132015-05-26 18:41:40 +0200470config NF_TABLES_NETDEV
471 tristate "Netfilter nf_tables netdev tables support"
472 help
473 This option enables support for the "netdev" table.
474
Patrick McHardy96518512013-10-14 11:00:02 +0200475config NFT_EXTHDR
Manuel Messner935b7f62017-02-07 03:14:53 +0100476 tristate "Netfilter nf_tables exthdr module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100477 help
478 This option adds the "exthdr" expression that you can use to match
Manuel Messner935b7f62017-02-07 03:14:53 +0100479 IPv6 extension headers and tcp options.
Patrick McHardy96518512013-10-14 11:00:02 +0200480
481config NFT_META
Patrick McHardy96518512013-10-14 11:00:02 +0200482 tristate "Netfilter nf_tables meta module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100483 help
484 This option adds the "meta" expression that you can use to match and
485 to set packet metainformation such as the packet mark.
Patrick McHardy96518512013-10-14 11:00:02 +0200486
Anders K. Pedersen2fa84192016-10-28 05:54:15 +0000487config NFT_RT
488 tristate "Netfilter nf_tables routing module"
489 help
490 This option adds the "rt" expression that you can use to match
491 packet routing information such as the packet nexthop.
492
Laura Garcia Liebana91dbc6b2016-08-18 12:13:13 +0200493config NFT_NUMGEN
494 tristate "Netfilter nf_tables number generator module"
495 help
496 This option adds the number generator expression used to perform
497 incremental counting and random numbers bound to a upper limit.
498
Patrick McHardy96518512013-10-14 11:00:02 +0200499config NFT_CT
Patrick McHardy96518512013-10-14 11:00:02 +0200500 depends on NF_CONNTRACK
501 tristate "Netfilter nf_tables conntrack module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100502 help
William Breathitt Graye4670b02017-01-09 17:24:18 -0500503 This option adds the "ct" expression that you can use to match
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100504 connection tracking information such as the flow state.
Patrick McHardy96518512013-10-14 11:00:02 +0200505
Pablo Neira Ayuso0ed63892016-08-09 16:11:46 +0200506config NFT_SET_RBTREE
Patrick McHardy20a69342013-10-11 12:06:22 +0200507 tristate "Netfilter nf_tables rbtree set module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100508 help
509 This option adds the "rbtree" set type (Red Black tree) that is used
510 to build interval-based sets.
Patrick McHardy96518512013-10-14 11:00:02 +0200511
Pablo Neira Ayuso0ed63892016-08-09 16:11:46 +0200512config NFT_SET_HASH
Patrick McHardy20a69342013-10-11 12:06:22 +0200513 tristate "Netfilter nf_tables hash set module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100514 help
515 This option adds the "hash" set type that is used to build one-way
516 mappings between matchings and actions.
Patrick McHardy96518512013-10-14 11:00:02 +0200517
Pablo Neira Ayuso665153f2017-01-18 18:30:13 +0100518config NFT_SET_BITMAP
519 tristate "Netfilter nf_tables bitmap set module"
520 help
521 This option adds the "bitmap" set type that is used to build sets
522 whose keys are smaller or equal to 16 bits.
523
Patrick McHardy96518512013-10-14 11:00:02 +0200524config NFT_COUNTER
Patrick McHardy96518512013-10-14 11:00:02 +0200525 tristate "Netfilter nf_tables counter module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100526 help
527 This option adds the "counter" expression that you can use to
528 include packet and byte counters in a rule.
Patrick McHardy96518512013-10-14 11:00:02 +0200529
530config NFT_LOG
Patrick McHardy96518512013-10-14 11:00:02 +0200531 tristate "Netfilter nf_tables log module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100532 help
533 This option adds the "log" expression that you can use to log
534 packets matching some criteria.
Patrick McHardy96518512013-10-14 11:00:02 +0200535
536config NFT_LIMIT
Patrick McHardy96518512013-10-14 11:00:02 +0200537 tristate "Netfilter nf_tables limit module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100538 help
539 This option adds the "limit" expression that you can use to
540 ratelimit rule matchings.
Patrick McHardy96518512013-10-14 11:00:02 +0200541
Arturo Borrero9ba1f7262014-09-08 13:45:00 +0200542config NFT_MASQ
Arturo Borrero9ba1f7262014-09-08 13:45:00 +0200543 depends on NF_CONNTRACK
544 depends on NF_NAT
545 tristate "Netfilter nf_tables masquerade support"
546 help
547 This option adds the "masquerade" expression that you can use
548 to perform NAT in the masquerade flavour.
549
Arturo Borreroe9105f12014-10-17 12:39:09 +0200550config NFT_REDIR
Arturo Borreroe9105f12014-10-17 12:39:09 +0200551 depends on NF_CONNTRACK
552 depends on NF_NAT
553 tristate "Netfilter nf_tables redirect support"
554 help
555 This options adds the "redirect" expression that you can use
556 to perform NAT in the redirect flavour.
557
Tomasz Bursztykaeb316282013-10-10 13:39:19 +0200558config NFT_NAT
Tomasz Bursztykaeb316282013-10-10 13:39:19 +0200559 depends on NF_CONNTRACK
Pablo Neira Ayuso1e8430f2014-08-11 18:21:50 +0200560 select NF_NAT
Tomasz Bursztykaeb316282013-10-10 13:39:19 +0200561 tristate "Netfilter nf_tables nat module"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100562 help
563 This option adds the "nat" expression that you can use to perform
564 typical Network Address Translation (NAT) packet transformations.
Tomasz Bursztykaeb316282013-10-10 13:39:19 +0200565
Pablo Neira Ayusoc97d22e2016-11-28 00:05:38 +0100566config NFT_OBJREF
567 tristate "Netfilter nf_tables stateful object reference module"
568 help
569 This option adds the "objref" expression that allows you to refer to
570 stateful objects, such as counters and quotas.
571
Eric Leblond0aff0782013-12-06 00:24:13 +0100572config NFT_QUEUE
Eric Leblond0aff0782013-12-06 00:24:13 +0100573 depends on NETFILTER_NETLINK_QUEUE
574 tristate "Netfilter nf_tables queue module"
575 help
576 This is required if you intend to use the userspace queueing
577 infrastructure (also known as NFQUEUE) from nftables.
578
Pablo Neira Ayuso3d2f30a2016-08-18 01:46:06 +0200579config NFT_QUOTA
580 tristate "Netfilter nf_tables quota module"
581 help
582 This option adds the "quota" expression that you can use to match
583 enforce bytes quotas.
584
Eric Leblondbee11dc2013-12-29 12:28:14 +0100585config NFT_REJECT
Eric Leblondbee11dc2013-12-29 12:28:14 +0100586 default m if NETFILTER_ADVANCED=n
587 tristate "Netfilter nf_tables reject support"
Pablo Neira Ayusod497c632013-12-30 15:09:18 +0100588 help
589 This option adds the "reject" expression that you can use to
590 explicitly deny and notify via TCP reset/ICMP informational errors
591 unallowed traffic.
Pablo Neira Ayuso0ca743a2013-10-14 00:06:06 +0200592
Patrick McHardy05513e92014-02-05 15:03:39 +0000593config NFT_REJECT_INET
594 depends on NF_TABLES_INET
595 default NFT_REJECT
596 tristate
597
Pablo Neira Ayuso0ca743a2013-10-14 00:06:06 +0200598config NFT_COMPAT
Pablo Neira Ayuso0ca743a2013-10-14 00:06:06 +0200599 depends on NETFILTER_XTABLES
600 tristate "Netfilter x_tables over nf_tables module"
601 help
602 This is required if you intend to use any of existing
603 x_tables match/target extensions over the nf_tables
604 framework.
605
Laura Garcia Liebanacb1b69b2016-08-11 18:02:07 +0200606config NFT_HASH
607 tristate "Netfilter nf_tables hash module"
608 help
609 This option adds the "hash" expression that you can use to perform
610 a hash operation on registers.
611
Florian Westphalf6d0cbc2016-10-24 16:56:40 +0200612config NFT_FIB
613 tristate
614
615config NFT_FIB_INET
616 depends on NF_TABLES_INET
617 depends on NFT_FIB_IPV4
618 depends on NFT_FIB_IPV6
619 tristate "Netfilter nf_tables fib inet support"
620 help
621 This option allows using the FIB expression from the inet table.
622 The lookup will be delegated to the IPv4 or IPv6 FIB depending
623 on the protocol of the packet.
624
Pablo Neira Ayuso502061f2016-01-03 21:02:18 +0100625if NF_TABLES_NETDEV
626
627config NF_DUP_NETDEV
628 tristate "Netfilter packet duplication support"
629 help
630 This option enables the generic packet duplication infrastructure
631 for Netfilter.
632
633config NFT_DUP_NETDEV
634 tristate "Netfilter nf_tables netdev packet duplication support"
635 select NF_DUP_NETDEV
636 help
637 This option enables packet duplication for the "netdev" family.
638
Pablo Neira Ayuso39e6dea2015-11-25 13:39:38 +0100639config NFT_FWD_NETDEV
640 tristate "Netfilter nf_tables netdev packet forwarding support"
641 select NF_DUP_NETDEV
642 help
643 This option enables packet forwarding for the "netdev" family.
644
Pablo M. Bermudo Garay6392c222017-07-21 01:54:38 +0200645config NFT_FIB_NETDEV
646 depends on NFT_FIB_IPV4
647 depends on NFT_FIB_IPV6
648 tristate "Netfilter nf_tables netdev fib lookups support"
649 help
650 This option allows using the FIB expression from the netdev table.
651 The lookup will be delegated to the IPv4 or IPv6 FIB depending
652 on the protocol of the packet.
653
Pablo Neira Ayuso502061f2016-01-03 21:02:18 +0100654endif # NF_TABLES_NETDEV
655
Pablo Neira Ayusof04e5992015-03-05 14:56:15 +0100656endif # NF_TABLES
657
Harald Welte2e4e6a12006-01-12 13:30:04 -0800658config NETFILTER_XTABLES
659 tristate "Netfilter Xtables support (required for ip_tables)"
Patrick McHardy33b8e772007-12-17 22:47:05 -0800660 default m if NETFILTER_ADVANCED=n
Harald Welte2e4e6a12006-01-12 13:30:04 -0800661 help
662 This is required if you intend to use any of ip_tables,
663 ip6_tables or arp_tables.
664
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200665if NETFILTER_XTABLES
666
Jan Engelhardt28b94982009-02-28 03:23:57 +0100667comment "Xtables combined modules"
668
669config NETFILTER_XT_MARK
670 tristate 'nfmark target and match support'
671 default m if NETFILTER_ADVANCED=n
672 ---help---
673 This option adds the "MARK" target and "mark" match.
674
675 Netfilter mark matching allows you to match packets based on the
676 "nfmark" value in the packet.
677 The target allows you to create rules in the "mangle" table which alter
678 the netfilter mark (nfmark) field associated with the packet.
679
Moritz Sichertf1504302016-06-30 11:46:28 +0200680 Prior to routing, the nfmark can influence the routing method and can
681 also be used by other subsystems to change their behavior.
Jan Engelhardt28b94982009-02-28 03:23:57 +0100682
Jan Engelhardtb8f00ba2010-02-26 14:20:32 +0100683config NETFILTER_XT_CONNMARK
684 tristate 'ctmark target and match support'
685 depends on NF_CONNTRACK
686 depends on NETFILTER_ADVANCED
687 select NF_CONNTRACK_MARK
688 ---help---
689 This option adds the "CONNMARK" target and "connmark" match.
690
691 Netfilter allows you to store a mark value per connection (a.k.a.
692 ctmark), similarly to the packet mark (nfmark). Using this
693 target and match, you can set and match on this mark.
694
Jozsef Kadlecsikd9567982011-02-01 15:56:00 +0100695config NETFILTER_XT_SET
696 tristate 'set target and match support'
697 depends on IP_SET
698 depends on NETFILTER_ADVANCED
699 help
700 This option adds the "SET" target and "set" match.
701
702 Using this target and match, you can add/delete and match
703 elements in the sets created by ipset(8).
704
705 To compile it as a module, choose M here. If unsure, say N.
706
Harald Welte2e4e6a12006-01-12 13:30:04 -0800707# alphabetically ordered list of targets
708
Jan Engelhardt44c58732010-02-26 14:14:22 +0100709comment "Xtables targets"
710
Thomas Graf43f393c2011-01-16 18:10:28 +0100711config NETFILTER_XT_TARGET_AUDIT
712 tristate "AUDIT target support"
713 depends on AUDIT
714 depends on NETFILTER_ADVANCED
715 ---help---
716 This option adds a 'AUDIT' target, which can be used to create
717 audit records for packets dropped/accepted.
718
719 To compileit as a module, choose M here. If unsure, say N.
720
Michael S. Tsirkinedf0e1f2010-07-15 17:20:46 +0200721config NETFILTER_XT_TARGET_CHECKSUM
722 tristate "CHECKSUM target support"
723 depends on IP_NF_MANGLE || IP6_NF_MANGLE
724 depends on NETFILTER_ADVANCED
725 ---help---
726 This option adds a `CHECKSUM' target, which can be used in the iptables mangle
727 table.
728
729 You can use this target to compute and fill in the checksum in
730 a packet that lacks a checksum. This is particularly useful,
731 if you need to work around old applications such as dhcp clients,
732 that do not work well with checksum offloads, but don't want to disable
733 checksum offload in your device.
734
735 To compile it as a module, choose M here. If unsure, say N.
736
Harald Welte2e4e6a12006-01-12 13:30:04 -0800737config NETFILTER_XT_TARGET_CLASSIFY
738 tristate '"CLASSIFY" target support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800739 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -0800740 help
741 This option adds a `CLASSIFY' target, which enables the user to set
742 the priority of a packet. Some qdiscs can use this value for
743 classification, among these are:
744
745 atm, cbq, dsmark, pfifo_fast, htb, prio
746
747 To compile it as a module, choose M here. If unsure, say N.
748
749config NETFILTER_XT_TARGET_CONNMARK
750 tristate '"CONNMARK" target support'
Patrick McHardy587aa642007-03-14 16:37:25 -0700751 depends on NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -0800752 depends on NETFILTER_ADVANCED
Jan Engelhardtb8f00ba2010-02-26 14:20:32 +0100753 select NETFILTER_XT_CONNMARK
754 ---help---
755 This is a backwards-compat option for the user's convenience
756 (e.g. when running oldconfig). It selects
757 CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
Harald Welte2e4e6a12006-01-12 13:30:04 -0800758
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200759config NETFILTER_XT_TARGET_CONNSECMARK
760 tristate '"CONNSECMARK" target support'
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200761 depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200762 default m if NETFILTER_ADVANCED=n
763 help
764 The CONNSECMARK target copies security markings from packets
765 to connections, and restores security markings from connections
766 to packets (if the packets are not already marked). This would
767 normally be used in conjunction with the SECMARK target.
768
769 To compile it as a module, choose M here. If unsure, say N.
770
Patrick McHardy84f3bb92010-02-03 17:17:06 +0100771config NETFILTER_XT_TARGET_CT
772 tristate '"CT" target support'
773 depends on NF_CONNTRACK
774 depends on IP_NF_RAW || IP6_NF_RAW
775 depends on NETFILTER_ADVANCED
776 help
777 This options adds a `CT' target, which allows to specify initial
778 connection tracking parameters like events to be delivered and
779 the helper to be used.
780
781 To compile it as a module, choose M here. If unsure, say N.
782
Yasuyuki Kozakaia4687012006-08-22 00:30:26 -0700783config NETFILTER_XT_TARGET_DSCP
Jan Engelhardtc9fd4962007-12-04 23:38:13 -0800784 tristate '"DSCP" and "TOS" target support'
Yasuyuki Kozakaia4687012006-08-22 00:30:26 -0700785 depends on IP_NF_MANGLE || IP6_NF_MANGLE
Patrick McHardy33b8e772007-12-17 22:47:05 -0800786 depends on NETFILTER_ADVANCED
Yasuyuki Kozakaia4687012006-08-22 00:30:26 -0700787 help
788 This option adds a `DSCP' target, which allows you to manipulate
789 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
790
791 The DSCP field can have any value between 0x0 and 0x3f inclusive.
792
Jan Engelhardtc9fd4962007-12-04 23:38:13 -0800793 It also adds the "TOS" target, which allows you to create rules in
794 the "mangle" table which alter the Type Of Service field of an IPv4
Jan Engelhardt5c350e52007-12-04 23:39:09 -0800795 or the Priority field of an IPv6 packet, prior to routing.
Jan Engelhardtc9fd4962007-12-04 23:38:13 -0800796
Yasuyuki Kozakaia4687012006-08-22 00:30:26 -0700797 To compile it as a module, choose M here. If unsure, say N.
798
Jan Engelhardt563d36e2009-02-18 18:38:40 +0100799config NETFILTER_XT_TARGET_HL
800 tristate '"HL" hoplimit target support'
801 depends on IP_NF_MANGLE || IP6_NF_MANGLE
802 depends on NETFILTER_ADVANCED
803 ---help---
804 This option adds the "HL" (for IPv6) and "TTL" (for IPv4)
805 targets, which enable the user to change the
806 hoplimit/time-to-live value of the IP header.
807
808 While it is safe to decrement the hoplimit/TTL value, the
809 modules also allow to increment and set the hoplimit value of
810 the header to arbitrary values. This is EXTREMELY DANGEROUS
811 since you can easily create immortal packets that loop
812 forever on the network.
813
Hans Schillstromcf308a12012-05-02 07:49:47 +0000814config NETFILTER_XT_TARGET_HMARK
815 tristate '"HMARK" target support'
Pablo Neira Ayusof09becc2015-06-12 13:58:52 +0200816 depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
Hans Schillstromcf308a12012-05-02 07:49:47 +0000817 depends on NETFILTER_ADVANCED
818 ---help---
819 This option adds the "HMARK" target.
820
821 The target allows you to create rules in the "raw" and "mangle" tables
822 which set the skbuff mark by means of hash calculation within a given
Moritz Sichertf1504302016-06-30 11:46:28 +0200823 range. The nfmark can influence the routing method and can also be used
824 by other subsystems to change their behaviour.
Hans Schillstromcf308a12012-05-02 07:49:47 +0000825
826 To compile it as a module, choose M here. If unsure, say N.
827
Luciano Coelho0902b462010-06-15 15:04:00 +0200828config NETFILTER_XT_TARGET_IDLETIMER
829 tristate "IDLETIMER target support"
830 depends on NETFILTER_ADVANCED
831 help
832
833 This option adds the `IDLETIMER' target. Each matching packet
834 resets the timer associated with label specified when the rule is
835 added. When the timer expires, it triggers a sysfs notification.
836 The remaining time for expiration can be read via sysfs.
837
838 To compile it as a module, choose M here. If unsure, say N.
839
Adam Nielsen268cb382009-02-20 10:55:14 +0100840config NETFILTER_XT_TARGET_LED
841 tristate '"LED" target support'
Alex Riesen3ae16f12009-04-06 17:09:43 +0200842 depends on LEDS_CLASS && LEDS_TRIGGERS
Adam Nielsen268cb382009-02-20 10:55:14 +0100843 depends on NETFILTER_ADVANCED
844 help
845 This option adds a `LED' target, which allows you to blink LEDs in
846 response to particular packets passing through your machine.
847
848 This can be used to turn a spare LED into a network activity LED,
849 which only flashes in response to FTP transfers, for example. Or
850 you could have an LED which lights up for a minute or two every time
851 somebody connects to your machine via SSH.
852
853 You will need support for the "led" class to make this work.
854
855 To create an LED trigger for incoming SSH traffic:
856 iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
857
858 Then attach the new trigger to an LED on your system:
859 echo netfilter-ssh > /sys/class/leds/<ledname>/trigger
860
861 For more information on the LEDs available on your system, see
Paul Bolle395cf962011-08-15 02:02:26 +0200862 Documentation/leds/leds-class.txt
Adam Nielsen268cb382009-02-20 10:55:14 +0100863
Richard Weinberger6939c332012-02-10 23:10:52 +0100864config NETFILTER_XT_TARGET_LOG
865 tristate "LOG target support"
Pablo Neira Ayusod79a61d2014-08-29 09:34:49 +0200866 select NF_LOG_COMMON
867 select NF_LOG_IPV4
868 select NF_LOG_IPV6 if IPV6
Richard Weinberger6939c332012-02-10 23:10:52 +0100869 default m if NETFILTER_ADVANCED=n
870 help
871 This option adds a `LOG' target, which allows you to create rules in
872 any iptables table which records the packet header to the syslog.
873
874 To compile it as a module, choose M here. If unsure, say N.
875
Harald Welte2e4e6a12006-01-12 13:30:04 -0800876config NETFILTER_XT_TARGET_MARK
877 tristate '"MARK" target support'
Jan Engelhardt28b94982009-02-28 03:23:57 +0100878 depends on NETFILTER_ADVANCED
879 select NETFILTER_XT_MARK
880 ---help---
881 This is a backwards-compat option for the user's convenience
882 (e.g. when running oldconfig). It selects
883 CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
Harald Welte2e4e6a12006-01-12 13:30:04 -0800884
Pablo Neira Ayuso84a59ca2014-09-04 09:47:21 +0200885config NETFILTER_XT_NAT
886 tristate '"SNAT and DNAT" targets support'
887 depends on NF_NAT
888 ---help---
889 This option enables the SNAT and DNAT targets.
890
891 To compile it as a module, choose M here. If unsure, say N.
892
Jan Engelhardtb3d54b32012-09-21 11:37:59 +0200893config NETFILTER_XT_TARGET_NETMAP
894 tristate '"NETMAP" target support'
895 depends on NF_NAT
896 ---help---
897 NETMAP is an implementation of static 1:1 NAT mapping of network
898 addresses. It maps the network address part, while keeping the host
899 address part intact.
900
901 To compile it as a module, choose M here. If unsure, say N.
902
Patrick McHardybaf7b1e2006-11-29 02:35:38 +0100903config NETFILTER_XT_TARGET_NFLOG
904 tristate '"NFLOG" target support'
Patrick McHardy33b8e772007-12-17 22:47:05 -0800905 default m if NETFILTER_ADVANCED=n
Eric Leblond293a4f22008-12-10 17:24:33 -0800906 select NETFILTER_NETLINK_LOG
Patrick McHardybaf7b1e2006-11-29 02:35:38 +0100907 help
908 This option enables the NFLOG target, which allows to LOG
Eric Leblond293a4f22008-12-10 17:24:33 -0800909 messages through nfnetlink_log.
Patrick McHardybaf7b1e2006-11-29 02:35:38 +0100910
911 To compile it as a module, choose M here. If unsure, say N.
912
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200913config NETFILTER_XT_TARGET_NFQUEUE
914 tristate '"NFQUEUE" target Support'
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200915 depends on NETFILTER_ADVANCED
Florian Westphal5f2cafe2011-01-18 15:18:08 +0100916 select NETFILTER_NETLINK_QUEUE
Jan Engelhardtaba0d342008-10-08 11:35:17 +0200917 help
918 This target replaced the old obsolete QUEUE target.
919
920 As opposed to QUEUE, it supports 65535 different queues,
921 not just one.
922
923 To compile it as a module, choose M here. If unsure, say N.
924
Pablo Neira Ayuso10db9062012-12-20 01:54:51 +0000925config NETFILTER_XT_TARGET_NOTRACK
926 tristate '"NOTRACK" target support (DEPRECATED)'
Pablo Neira Ayuso757ae312013-01-02 16:30:01 +0000927 depends on NF_CONNTRACK
928 depends on IP_NF_RAW || IP6_NF_RAW
929 depends on NETFILTER_ADVANCED
Pablo Neira Ayuso10db9062012-12-20 01:54:51 +0000930 select NETFILTER_XT_TARGET_CT
931
Patrick McHardy58590342007-12-04 23:40:05 -0800932config NETFILTER_XT_TARGET_RATEEST
933 tristate '"RATEEST" target support'
Patrick McHardyb26e76b2008-01-14 23:30:56 -0800934 depends on NETFILTER_ADVANCED
Patrick McHardy58590342007-12-04 23:40:05 -0800935 help
936 This option adds a `RATEEST' target, which allows to measure
937 rates similar to TC estimators. The `rateest' match can be
938 used to match on the measured rates.
939
940 To compile it as a module, choose M here. If unsure, say N.
941
Jan Engelhardt2cbc78a2012-09-21 11:41:34 +0200942config NETFILTER_XT_TARGET_REDIRECT
943 tristate "REDIRECT target support"
944 depends on NF_NAT
Pablo Neira Ayusob59eaf92014-11-26 12:46:50 +0100945 select NF_NAT_REDIRECT
Jan Engelhardt2cbc78a2012-09-21 11:41:34 +0200946 ---help---
947 REDIRECT is a special case of NAT: all incoming connections are
948 mapped onto the incoming interface's address, causing the packets to
949 come to the local machine instead of passing through. This is
950 useful for transparent proxies.
951
952 To compile it as a module, choose M here. If unsure, say N.
953
Jan Engelhardte281b192010-04-19 14:17:47 +0200954config NETFILTER_XT_TARGET_TEE
Arnd Hannemannfe6fb552010-06-22 08:22:21 +0200955 tristate '"TEE" - packet cloning to alternate destination'
Jan Engelhardte281b192010-04-19 14:17:47 +0200956 depends on NETFILTER_ADVANCED
Pablo Neira Ayusof09becc2015-06-12 13:58:52 +0200957 depends on IPV6 || IPV6=n
Randy Dunlap83827f62010-05-14 13:52:30 -0700958 depends on !NF_CONNTRACK || NF_CONNTRACK
Pablo Neira Ayusobbde9fc2015-05-31 17:54:44 +0200959 select NF_DUP_IPV4
Arnd Bergmann08a7f5d2016-02-05 10:20:21 +0100960 select NF_DUP_IPV6 if IPV6
Jan Engelhardte281b192010-04-19 14:17:47 +0200961 ---help---
962 This option adds a "TEE" target with which a packet can be cloned and
963 this clone be rerouted to another nexthop.
964
KOVACS Krisztiane8439272008-10-08 11:35:12 +0200965config NETFILTER_XT_TARGET_TPROXY
Florian Westphalfd158d72013-07-29 15:41:52 +0200966 tristate '"TPROXY" target transparent proxying support'
KOVACS Krisztiane8439272008-10-08 11:35:12 +0200967 depends on NETFILTER_XTABLES
968 depends on NETFILTER_ADVANCED
Pablo Neira Ayusof09becc2015-06-12 13:58:52 +0200969 depends on IPV6 || IPV6=n
970 depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
Florian Westphalfd158d72013-07-29 15:41:52 +0200971 depends on IP_NF_MANGLE
KOVACS Krisztiane8439272008-10-08 11:35:12 +0200972 select NF_DEFRAG_IPV4
Arnd Bergmann74ec4d52015-11-10 13:22:15 +0100973 select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n
KOVACS Krisztiane8439272008-10-08 11:35:12 +0200974 help
975 This option adds a `TPROXY' target, which is somewhat similar to
976 REDIRECT. It can only be used in the mangle table and is useful
977 to redirect traffic to a transparent proxy. It does _not_ depend
978 on Netfilter connection tracking and NAT, unlike REDIRECT.
Florian Westphalfd158d72013-07-29 15:41:52 +0200979 For it to work you will have to configure certain iptables rules
980 and use policy routing. For more information on how to set it up
981 see Documentation/networking/tproxy.txt.
KOVACS Krisztiane8439272008-10-08 11:35:12 +0200982
983 To compile it as a module, choose M here. If unsure, say N.
984
Jozsef Kadlecsikba9dda32007-07-07 22:21:23 -0700985config NETFILTER_XT_TARGET_TRACE
986 tristate '"TRACE" target support'
Jozsef Kadlecsikba9dda32007-07-07 22:21:23 -0700987 depends on IP_NF_RAW || IP6_NF_RAW
Patrick McHardy33b8e772007-12-17 22:47:05 -0800988 depends on NETFILTER_ADVANCED
Jozsef Kadlecsikba9dda32007-07-07 22:21:23 -0700989 help
990 The TRACE target allows you to mark packets so that the kernel
991 will log every rule which match the packets as those traverse
992 the tables, chains, rules.
993
994 If you want to compile it as a module, say M here and read
Dirk Hohndele4031492007-10-30 13:37:19 -0700995 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Jozsef Kadlecsikba9dda32007-07-07 22:21:23 -0700996
James Morris5e6874c2006-06-09 00:30:57 -0700997config NETFILTER_XT_TARGET_SECMARK
998 tristate '"SECMARK" target support'
Jan Engelhardtc2df73d2008-10-08 11:35:18 +0200999 depends on NETWORK_SECMARK
Patrick McHardy33b8e772007-12-17 22:47:05 -08001000 default m if NETFILTER_ADVANCED=n
James Morris5e6874c2006-06-09 00:30:57 -07001001 help
1002 The SECMARK target allows security marking of network
1003 packets, for use with security subsystems.
1004
1005 To compile it as a module, choose M here. If unsure, say N.
1006
Patrick McHardycdd289a2007-02-07 15:09:46 -08001007config NETFILTER_XT_TARGET_TCPMSS
1008 tristate '"TCPMSS" target support'
Pablo Neira Ayusof09becc2015-06-12 13:58:52 +02001009 depends on IPV6 || IPV6=n
Patrick McHardy33b8e772007-12-17 22:47:05 -08001010 default m if NETFILTER_ADVANCED=n
Patrick McHardycdd289a2007-02-07 15:09:46 -08001011 ---help---
1012 This option adds a `TCPMSS' target, which allows you to alter the
1013 MSS value of TCP SYN packets, to control the maximum size for that
1014 connection (usually limiting it to your outgoing interface's MTU
1015 minus 40).
1016
1017 This is used to overcome criminally braindead ISPs or servers which
1018 block ICMP Fragmentation Needed packets. The symptoms of this
1019 problem are that everything works fine from your Linux
1020 firewall/router, but machines behind it can never exchange large
1021 packets:
1022 1) Web browsers connect, then hang with no data received.
1023 2) Small mail works fine, but large emails hang.
1024 3) ssh works fine, but scp hangs after initial handshaking.
1025
1026 Workaround: activate this option and add a rule to your firewall
1027 configuration like:
1028
1029 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
1030 -j TCPMSS --clamp-mss-to-pmtu
1031
1032 To compile it as a module, choose M here. If unsure, say N.
1033
Sven Schnelle338e8a72007-12-04 23:21:50 -08001034config NETFILTER_XT_TARGET_TCPOPTSTRIP
Kees Cook663ef0d2012-10-02 11:19:54 -07001035 tristate '"TCPOPTSTRIP" target support'
Sven Schnelle338e8a72007-12-04 23:21:50 -08001036 depends on IP_NF_MANGLE || IP6_NF_MANGLE
Patrick McHardy33b8e772007-12-17 22:47:05 -08001037 depends on NETFILTER_ADVANCED
Sven Schnelle338e8a72007-12-04 23:21:50 -08001038 help
1039 This option adds a "TCPOPTSTRIP" target, which allows you to strip
1040 TCP options from TCP packets.
1041
Jan Engelhardt44c58732010-02-26 14:14:22 +01001042# alphabetically ordered list of matches
1043
1044comment "Xtables matches"
1045
Florian Westphalde81bbe2011-03-15 20:16:20 +01001046config NETFILTER_XT_MATCH_ADDRTYPE
1047 tristate '"addrtype" address type match support'
Anton Blanchard5cca4ac2015-01-21 10:53:50 +11001048 default m if NETFILTER_ADVANCED=n
Florian Westphalde81bbe2011-03-15 20:16:20 +01001049 ---help---
1050 This option allows you to match what routing thinks of an address,
1051 eg. UNICAST, LOCAL, BROADCAST, ...
1052
1053 If you want to compile it as a module, say M here and read
1054 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
1055
Willem de Bruijne6f30c72013-01-18 07:17:30 +00001056config NETFILTER_XT_MATCH_BPF
1057 tristate '"bpf" match support'
1058 depends on NETFILTER_ADVANCED
1059 help
1060 BPF matching applies a linux socket filter to each packet and
1061 accepts those for which the filter returns non-zero.
1062
1063 To compile it as a module, choose M here. If unsure, say N.
1064
Daniel Borkmann82a37132013-12-29 18:27:12 +01001065config NETFILTER_XT_MATCH_CGROUP
1066 tristate '"control group" match support'
1067 depends on NETFILTER_ADVANCED
1068 depends on CGROUPS
1069 select CGROUP_NET_CLASSID
1070 ---help---
1071 Socket/process control group matching allows you to match locally
1072 generated packets based on which net_cls control group processes
1073 belong to.
1074
Pablo Neira Ayuso0269ea42009-03-16 17:10:36 +01001075config NETFILTER_XT_MATCH_CLUSTER
1076 tristate '"cluster" match support'
1077 depends on NF_CONNTRACK
1078 depends on NETFILTER_ADVANCED
1079 ---help---
1080 This option allows you to build work-load-sharing clusters of
1081 network servers/stateful firewalls without having a dedicated
1082 load-balancing router/server/switch. Basically, this match returns
1083 true when the packet must be handled by this cluster node. Thus,
1084 all nodes see all packets and this match decides which node handles
1085 what packets. The work-load sharing algorithm is based on source
1086 address hashing.
1087
1088 If you say Y or M here, try `iptables -m cluster --help` for
1089 more information.
1090
Harald Welte2e4e6a12006-01-12 13:30:04 -08001091config NETFILTER_XT_MATCH_COMMENT
1092 tristate '"comment" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001093 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001094 help
1095 This option adds a `comment' dummy-match, which allows you to put
1096 comments in your iptables ruleset.
1097
1098 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +05001099 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Harald Welte2e4e6a12006-01-12 13:30:04 -08001100
1101config NETFILTER_XT_MATCH_CONNBYTES
1102 tristate '"connbytes" per-connection counter match support'
Patrick McHardy587aa642007-03-14 16:37:25 -07001103 depends on NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -08001104 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001105 help
1106 This option adds a `connbytes' match, which allows you to match the
1107 number of bytes and/or packets for each direction within a connection.
1108
1109 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +05001110 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Harald Welte2e4e6a12006-01-12 13:30:04 -08001111
Florian Westphalc539f012013-01-11 06:30:44 +00001112config NETFILTER_XT_MATCH_CONNLABEL
1113 tristate '"connlabel" match support'
1114 select NF_CONNTRACK_LABELS
Florian Westphal35612a22013-02-03 01:24:07 +00001115 depends on NF_CONNTRACK
Florian Westphalc539f012013-01-11 06:30:44 +00001116 depends on NETFILTER_ADVANCED
1117 ---help---
1118 This match allows you to test and assign userspace-defined labels names
1119 to a connection. The kernel only stores bit values - mapping
1120 names to bits is done by userspace.
1121
1122 Unlike connmark, more than 32 flag bits may be assigned to a
1123 connection simultaneously.
1124
Jan Engelhardt370786f2007-07-14 20:47:26 -07001125config NETFILTER_XT_MATCH_CONNLIMIT
Randy Dunlap48192242013-11-06 21:48:22 -08001126 tristate '"connlimit" match support'
Cornelia Huck3fd8f9e2007-07-18 02:38:32 -07001127 depends on NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -08001128 depends on NETFILTER_ADVANCED
Jan Engelhardt370786f2007-07-14 20:47:26 -07001129 ---help---
1130 This match allows you to match against the number of parallel
1131 connections to a server per client IP address (or address block).
1132
Harald Welte2e4e6a12006-01-12 13:30:04 -08001133config NETFILTER_XT_MATCH_CONNMARK
1134 tristate '"connmark" connection mark match support'
Patrick McHardy587aa642007-03-14 16:37:25 -07001135 depends on NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -08001136 depends on NETFILTER_ADVANCED
Jan Engelhardtb8f00ba2010-02-26 14:20:32 +01001137 select NETFILTER_XT_CONNMARK
1138 ---help---
1139 This is a backwards-compat option for the user's convenience
1140 (e.g. when running oldconfig). It selects
1141 CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
Harald Welte2e4e6a12006-01-12 13:30:04 -08001142
1143config NETFILTER_XT_MATCH_CONNTRACK
1144 tristate '"conntrack" connection tracking match support'
Patrick McHardy587aa642007-03-14 16:37:25 -07001145 depends on NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -08001146 default m if NETFILTER_ADVANCED=n
Harald Welte2e4e6a12006-01-12 13:30:04 -08001147 help
1148 This is a general conntrack match module, a superset of the state match.
1149
1150 It allows matching on additional conntrack information, which is
1151 useful in complex configurations, such as NAT gateways with multiple
1152 internet links or tunnels.
1153
1154 To compile it as a module, choose M here. If unsure, say N.
1155
Eric Dumazete8648a12010-07-23 12:59:36 +02001156config NETFILTER_XT_MATCH_CPU
1157 tristate '"cpu" match support'
1158 depends on NETFILTER_ADVANCED
1159 help
1160 CPU matching allows you to match packets based on the CPU
1161 currently handling the packet.
1162
1163 To compile it as a module, choose M here. If unsure, say N.
1164
Harald Welte2e4e6a12006-01-12 13:30:04 -08001165config NETFILTER_XT_MATCH_DCCP
Jan Engelhardt4c377992007-12-04 23:31:59 -08001166 tristate '"dccp" protocol match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001167 depends on NETFILTER_ADVANCED
Patrick McHardyf3261af2008-05-08 01:16:04 -07001168 default IP_DCCP
Harald Welte2e4e6a12006-01-12 13:30:04 -08001169 help
1170 With this option enabled, you will be able to use the iptables
1171 `dccp' match in order to match on DCCP source/destination ports
1172 and DCCP flags.
1173
1174 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +05001175 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Harald Welte2e4e6a12006-01-12 13:30:04 -08001176
Patrick McHardy92917472011-02-03 00:05:43 +01001177config NETFILTER_XT_MATCH_DEVGROUP
1178 tristate '"devgroup" match support'
1179 depends on NETFILTER_ADVANCED
1180 help
1181 This options adds a `devgroup' match, which allows to match on the
1182 device group a network device is assigned to.
1183
1184 To compile it as a module, choose M here. If unsure, say N.
1185
Yasuyuki Kozakai9ba16272006-08-22 00:29:37 -07001186config NETFILTER_XT_MATCH_DSCP
Jan Engelhardtc3b33e62007-12-04 23:37:54 -08001187 tristate '"dscp" and "tos" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001188 depends on NETFILTER_ADVANCED
Yasuyuki Kozakai9ba16272006-08-22 00:29:37 -07001189 help
1190 This option adds a `DSCP' match, which allows you to match against
1191 the IPv4/IPv6 header DSCP field (differentiated services codepoint).
1192
1193 The DSCP field can have any value between 0x0 and 0x3f inclusive.
1194
Jan Engelhardtc3b33e62007-12-04 23:37:54 -08001195 It will also add a "tos" match, which allows you to match packets
1196 based on the Type Of Service fields of the IPv4 packet (which share
1197 the same bits as DSCP).
1198
Yasuyuki Kozakai9ba16272006-08-22 00:29:37 -07001199 To compile it as a module, choose M here. If unsure, say N.
1200
Jan Engelhardtd446a8202011-06-09 21:03:07 +02001201config NETFILTER_XT_MATCH_ECN
1202 tristate '"ecn" match support'
1203 depends on NETFILTER_ADVANCED
1204 ---help---
1205 This option adds an "ECN" match, which allows you to match against
1206 the IPv4 and TCP header ECN fields.
1207
1208 To compile it as a module, choose M here. If unsure, say N.
1209
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -08001210config NETFILTER_XT_MATCH_ESP
Jan Engelhardt4c377992007-12-04 23:31:59 -08001211 tristate '"esp" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001212 depends on NETFILTER_ADVANCED
Yasuyuki Kozakaidc5ab2f2006-04-01 02:22:30 -08001213 help
1214 This match extension allows you to match a range of SPIs
1215 inside ESP header of IPSec packets.
1216
1217 To compile it as a module, choose M here. If unsure, say N.
1218
Jan Engelhardtaba0d342008-10-08 11:35:17 +02001219config NETFILTER_XT_MATCH_HASHLIMIT
1220 tristate '"hashlimit" match support'
Pablo Neira Ayusof09becc2015-06-12 13:58:52 +02001221 depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
Jan Engelhardtaba0d342008-10-08 11:35:17 +02001222 depends on NETFILTER_ADVANCED
1223 help
1224 This option adds a `hashlimit' match.
1225
1226 As opposed to `limit', this match dynamically creates a hash table
1227 of limit buckets, based on your selection of source/destination
1228 addresses and/or ports.
1229
1230 It enables you to express policies like `10kpps for any given
1231 destination address' or `500pps from any given source address'
1232 with a single rule.
1233
Harald Welte2e4e6a12006-01-12 13:30:04 -08001234config NETFILTER_XT_MATCH_HELPER
1235 tristate '"helper" match support'
Patrick McHardy587aa642007-03-14 16:37:25 -07001236 depends on NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -08001237 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001238 help
1239 Helper matching allows you to match packets in dynamic connections
1240 tracked by a conntrack-helper, ie. ip_conntrack_ftp
1241
1242 To compile it as a module, choose M here. If unsure, say Y.
1243
Jan Engelhardtcfac5ef2009-02-18 18:39:31 +01001244config NETFILTER_XT_MATCH_HL
1245 tristate '"hl" hoplimit/TTL match support'
1246 depends on NETFILTER_ADVANCED
1247 ---help---
1248 HL matching allows you to match packets based on the hoplimit
1249 in the IPv6 header, or the time-to-live field in the IPv4
1250 header of the packet.
1251
fan.du6a649f32013-12-18 11:27:02 +08001252config NETFILTER_XT_MATCH_IPCOMP
1253 tristate '"ipcomp" match support'
1254 depends on NETFILTER_ADVANCED
1255 help
1256 This match extension allows you to match a range of CPIs(16 bits)
1257 inside IPComp header of IPSec packets.
1258
1259 To compile it as a module, choose M here. If unsure, say N.
1260
Jan Engelhardtf72e25a2008-01-14 23:42:47 -08001261config NETFILTER_XT_MATCH_IPRANGE
1262 tristate '"iprange" address range match support'
Jan Engelhardtf72e25a2008-01-14 23:42:47 -08001263 depends on NETFILTER_ADVANCED
1264 ---help---
1265 This option adds a "iprange" match, which allows you to match based on
1266 an IP address range. (Normal iptables only matches on single addresses
1267 with an optional mask.)
1268
1269 If unsure, say M.
1270
Hannes Eder9c3e1c32010-07-23 12:42:58 +02001271config NETFILTER_XT_MATCH_IPVS
1272 tristate '"ipvs" match support'
1273 depends on IP_VS
1274 depends on NETFILTER_ADVANCED
1275 depends on NF_CONNTRACK
1276 help
1277 This option allows you to match against IPVS properties of a packet.
1278
1279 If unsure, say N.
1280
James Chapman74f77a6b2014-01-06 10:17:08 +00001281config NETFILTER_XT_MATCH_L2TP
1282 tristate '"l2tp" match support'
1283 depends on NETFILTER_ADVANCED
1284 default L2TP
1285 ---help---
1286 This option adds an "L2TP" match, which allows you to match against
1287 L2TP protocol header fields.
1288
1289 To compile it as a module, choose M here. If unsure, say N.
1290
Harald Welte2e4e6a12006-01-12 13:30:04 -08001291config NETFILTER_XT_MATCH_LENGTH
1292 tristate '"length" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001293 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001294 help
1295 This option allows you to match the length of a packet against a
1296 specific value or range of values.
1297
1298 To compile it as a module, choose M here. If unsure, say N.
1299
1300config NETFILTER_XT_MATCH_LIMIT
1301 tristate '"limit" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001302 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001303 help
1304 limit matching allows you to control the rate at which a rule can be
1305 matched: mainly useful in combination with the LOG target ("LOG
1306 target support", below) and to avoid some Denial of Service attacks.
1307
1308 To compile it as a module, choose M here. If unsure, say N.
1309
1310config NETFILTER_XT_MATCH_MAC
1311 tristate '"mac" address match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001312 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001313 help
1314 MAC matching allows you to match packets based on the source
1315 Ethernet address of the packet.
1316
1317 To compile it as a module, choose M here. If unsure, say N.
1318
1319config NETFILTER_XT_MATCH_MARK
1320 tristate '"mark" match support'
Jan Engelhardt28b94982009-02-28 03:23:57 +01001321 depends on NETFILTER_ADVANCED
1322 select NETFILTER_XT_MARK
1323 ---help---
1324 This is a backwards-compat option for the user's convenience
1325 (e.g. when running oldconfig). It selects
1326 CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
Harald Welte2e4e6a12006-01-12 13:30:04 -08001327
Jan Engelhardtaba0d342008-10-08 11:35:17 +02001328config NETFILTER_XT_MATCH_MULTIPORT
1329 tristate '"multiport" Multiple port match support'
Jan Engelhardtaba0d342008-10-08 11:35:17 +02001330 depends on NETFILTER_ADVANCED
1331 help
1332 Multiport matching allows you to match TCP or UDP packets based on
1333 a series of source or destination ports: normally a rule can only
1334 match a single range of ports.
1335
1336 To compile it as a module, choose M here. If unsure, say N.
1337
Pablo Neira Ayusoceb98d02011-12-23 14:28:59 +01001338config NETFILTER_XT_MATCH_NFACCT
1339 tristate '"nfacct" match support'
Pablo Neira Ayusobc94b522011-12-28 15:03:30 +00001340 depends on NETFILTER_ADVANCED
Pablo Neira Ayusoceb98d02011-12-23 14:28:59 +01001341 select NETFILTER_NETLINK_ACCT
1342 help
1343 This option allows you to use the extended accounting through
1344 nfnetlink_acct.
1345
1346 To compile it as a module, choose M here. If unsure, say N.
1347
Jan Engelhardt115bc8f2010-03-16 20:06:55 +01001348config NETFILTER_XT_MATCH_OSF
1349 tristate '"osf" Passive OS fingerprint match'
1350 depends on NETFILTER_ADVANCED && NETFILTER_NETLINK
1351 help
1352 This option selects the Passive OS Fingerprinting match module
1353 that allows to passively match the remote operating system by
1354 analyzing incoming TCP SYN packets.
1355
1356 Rules and loading software can be downloaded from
1357 http://www.ioremap.net/projects/osf
1358
1359 To compile it as a module, choose M here. If unsure, say N.
1360
Jan Engelhardt0265ab42007-12-04 23:27:38 -08001361config NETFILTER_XT_MATCH_OWNER
1362 tristate '"owner" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001363 depends on NETFILTER_ADVANCED
Jan Engelhardt0265ab42007-12-04 23:27:38 -08001364 ---help---
1365 Socket owner matching allows you to match locally-generated packets
1366 based on who created the socket: the user or group. It is also
1367 possible to check whether a socket actually exists.
1368
Patrick McHardyc4b88512006-03-20 18:03:40 -08001369config NETFILTER_XT_MATCH_POLICY
1370 tristate 'IPsec "policy" match support'
Jan Engelhardtc2df73d2008-10-08 11:35:18 +02001371 depends on XFRM
Patrick McHardy33b8e772007-12-17 22:47:05 -08001372 default m if NETFILTER_ADVANCED=n
Patrick McHardyc4b88512006-03-20 18:03:40 -08001373 help
1374 Policy matching allows you to match packets based on the
1375 IPsec policy that was used during decapsulation/will
1376 be used during encapsulation.
1377
1378 To compile it as a module, choose M here. If unsure, say N.
1379
Harald Welte2e4e6a12006-01-12 13:30:04 -08001380config NETFILTER_XT_MATCH_PHYSDEV
1381 tristate '"physdev" match support'
Jan Engelhardtc2df73d2008-10-08 11:35:18 +02001382 depends on BRIDGE && BRIDGE_NETFILTER
Patrick McHardy33b8e772007-12-17 22:47:05 -08001383 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001384 help
1385 Physdev packet matching matches against the physical bridge ports
1386 the IP packet arrived on or will leave by.
1387
1388 To compile it as a module, choose M here. If unsure, say N.
1389
1390config NETFILTER_XT_MATCH_PKTTYPE
1391 tristate '"pkttype" packet type match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001392 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001393 help
1394 Packet type matching allows you to match a packet by
1395 its "class", eg. BROADCAST, MULTICAST, ...
1396
1397 Typical usage:
1398 iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
1399
1400 To compile it as a module, choose M here. If unsure, say N.
1401
Patrick McHardy62b77432006-05-29 18:20:32 -07001402config NETFILTER_XT_MATCH_QUOTA
1403 tristate '"quota" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001404 depends on NETFILTER_ADVANCED
Patrick McHardy62b77432006-05-29 18:20:32 -07001405 help
1406 This option adds a `quota' match, which allows to match on a
1407 byte counter.
1408
1409 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +05001410 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Patrick McHardy62b77432006-05-29 18:20:32 -07001411
Patrick McHardy50c164a2007-12-04 13:02:19 +01001412config NETFILTER_XT_MATCH_RATEEST
1413 tristate '"rateest" match support'
Patrick McHardyb26e76b2008-01-14 23:30:56 -08001414 depends on NETFILTER_ADVANCED
Patrick McHardy50c164a2007-12-04 13:02:19 +01001415 select NETFILTER_XT_TARGET_RATEEST
1416 help
1417 This option adds a `rateest' match, which allows to match on the
1418 rate estimated by the RATEEST target.
1419
1420 To compile it as a module, choose M here. If unsure, say N.
1421
Harald Welte2e4e6a12006-01-12 13:30:04 -08001422config NETFILTER_XT_MATCH_REALM
1423 tristate '"realm" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001424 depends on NETFILTER_ADVANCED
Patrick McHardyc7066f72011-01-14 13:36:42 +01001425 select IP_ROUTE_CLASSID
Harald Welte2e4e6a12006-01-12 13:30:04 -08001426 help
1427 This option adds a `realm' match, which allows you to use the realm
1428 key from the routing subsystem inside iptables.
Patrick McHardy33b8e772007-12-17 22:47:05 -08001429
Harald Welte2e4e6a12006-01-12 13:30:04 -08001430 This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
1431 in tc world.
Patrick McHardy33b8e772007-12-17 22:47:05 -08001432
Harald Welte2e4e6a12006-01-12 13:30:04 -08001433 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +05001434 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Harald Welte2e4e6a12006-01-12 13:30:04 -08001435
Jan Engelhardte948b202008-10-08 11:35:00 +02001436config NETFILTER_XT_MATCH_RECENT
1437 tristate '"recent" match support'
Jan Engelhardte948b202008-10-08 11:35:00 +02001438 depends on NETFILTER_ADVANCED
1439 ---help---
1440 This match is used for creating one or many lists of recently
1441 used addresses and then matching against that/those list(s).
1442
1443 Short options are available by using 'iptables -m recent -h'
1444 Official Website: <http://snowman.net/projects/ipt_recent/>
1445
Harald Welte2e4e6a12006-01-12 13:30:04 -08001446config NETFILTER_XT_MATCH_SCTP
Kees Cook663ef0d2012-10-02 11:19:54 -07001447 tristate '"sctp" protocol match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001448 depends on NETFILTER_ADVANCED
Patrick McHardyf3261af2008-05-08 01:16:04 -07001449 default IP_SCTP
Harald Welte2e4e6a12006-01-12 13:30:04 -08001450 help
1451 With this option enabled, you will be able to use the
1452 `sctp' match in order to match on SCTP source/destination ports
1453 and SCTP chunk types.
1454
1455 If you want to compile it as a module, say M here and read
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +05001456 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
Harald Welte2e4e6a12006-01-12 13:30:04 -08001457
KOVACS Krisztian136cdc72008-10-08 11:35:12 +02001458config NETFILTER_XT_MATCH_SOCKET
Kees Cook663ef0d2012-10-02 11:19:54 -07001459 tristate '"socket" match support'
KOVACS Krisztian136cdc72008-10-08 11:35:12 +02001460 depends on NETFILTER_XTABLES
1461 depends on NETFILTER_ADVANCED
Pablo Neira Ayusof09becc2015-06-12 13:58:52 +02001462 depends on IPV6 || IPV6=n
1463 depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
Pablo Neira Ayuso8db4c5b2016-10-27 19:49:48 +01001464 depends on NF_SOCKET_IPV4
1465 depends on NF_SOCKET_IPV6
KOVACS Krisztian136cdc72008-10-08 11:35:12 +02001466 select NF_DEFRAG_IPV4
Arnd Bergmann74ec4d52015-11-10 13:22:15 +01001467 select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n
KOVACS Krisztian136cdc72008-10-08 11:35:12 +02001468 help
1469 This option adds a `socket' match, which can be used to match
1470 packets for which a TCP or UDP socket lookup finds a valid socket.
1471 It can be used in combination with the MARK target and policy
1472 routing to implement full featured non-locally bound sockets.
1473
1474 To compile it as a module, choose M here. If unsure, say N.
1475
Harald Welte2e4e6a12006-01-12 13:30:04 -08001476config NETFILTER_XT_MATCH_STATE
1477 tristate '"state" match support'
Patrick McHardy587aa642007-03-14 16:37:25 -07001478 depends on NF_CONNTRACK
Patrick McHardy33b8e772007-12-17 22:47:05 -08001479 default m if NETFILTER_ADVANCED=n
Harald Welte2e4e6a12006-01-12 13:30:04 -08001480 help
1481 Connection state matching allows you to match packets based on their
1482 relationship to a tracked connection (ie. previous packets). This
1483 is a powerful tool for packet classification.
1484
1485 To compile it as a module, choose M here. If unsure, say N.
1486
Patrick McHardyf3389802006-05-29 18:21:00 -07001487config NETFILTER_XT_MATCH_STATISTIC
1488 tristate '"statistic" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001489 depends on NETFILTER_ADVANCED
Patrick McHardyf3389802006-05-29 18:21:00 -07001490 help
Patrick McHardy68c16922006-06-27 03:02:14 -07001491 This option adds a `statistic' match, which allows you to match
1492 on packets periodically or randomly with a given percentage.
1493
1494 To compile it as a module, choose M here. If unsure, say N.
Patrick McHardyf3389802006-05-29 18:21:00 -07001495
Harald Welte2e4e6a12006-01-12 13:30:04 -08001496config NETFILTER_XT_MATCH_STRING
1497 tristate '"string" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001498 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001499 select TEXTSEARCH
1500 select TEXTSEARCH_KMP
1501 select TEXTSEARCH_BM
1502 select TEXTSEARCH_FSM
1503 help
1504 This option adds a `string' match, which allows you to look for
1505 pattern matchings in packets.
1506
1507 To compile it as a module, choose M here. If unsure, say N.
1508
1509config NETFILTER_XT_MATCH_TCPMSS
1510 tristate '"tcpmss" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001511 depends on NETFILTER_ADVANCED
Harald Welte2e4e6a12006-01-12 13:30:04 -08001512 help
1513 This option adds a `tcpmss' match, which allows you to examine the
1514 MSS value of TCP SYN packets, which control the maximum packet size
1515 for that connection.
1516
1517 To compile it as a module, choose M here. If unsure, say N.
1518
Jan Engelhardtee4411a2007-09-28 14:46:43 -07001519config NETFILTER_XT_MATCH_TIME
1520 tristate '"time" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001521 depends on NETFILTER_ADVANCED
Jan Engelhardtee4411a2007-09-28 14:46:43 -07001522 ---help---
1523 This option adds a "time" match, which allows you to match based on
1524 the packet arrival time (at the machine which netfilter is running)
1525 on) or departure time/date (for locally generated packets).
1526
1527 If you say Y here, try `iptables -m time --help` for
1528 more information.
1529
1530 If you want to compile it as a module, say M here.
1531 If unsure, say N.
1532
Jan Engelhardt1b50b8a2007-07-07 22:20:36 -07001533config NETFILTER_XT_MATCH_U32
1534 tristate '"u32" match support'
Patrick McHardy33b8e772007-12-17 22:47:05 -08001535 depends on NETFILTER_ADVANCED
Jan Engelhardt1b50b8a2007-07-07 22:20:36 -07001536 ---help---
1537 u32 allows you to extract quantities of up to 4 bytes from a packet,
1538 AND them with specified masks, shift them by specified amounts and
1539 test whether the results are in any of a set of specified ranges.
1540 The specification of what to extract is general enough to skip over
1541 headers with lengths stored in the packet, as in IP or TCP header
1542 lengths.
1543
1544 Details and examples are in the kernel module source.
1545
Jan Engelhardtc2df73d2008-10-08 11:35:18 +02001546endif # NETFILTER_XTABLES
Harald Weltea6c1cd572006-02-13 15:42:48 -08001547
Jan Engelhardtc2df73d2008-10-08 11:35:18 +02001548endmenu
Harald Weltef9e815b2005-08-09 19:30:24 -07001549
Jozsef Kadlecsika7b4f982011-02-01 15:28:35 +01001550source "net/netfilter/ipset/Kconfig"
1551
Julius Volzcb7f6a72008-09-19 12:32:57 +02001552source "net/netfilter/ipvs/Kconfig"