1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 29fb9cbb1SYasuyuki Kozakaimenu "Core Netfilter Configuration" 3864e898bSMasahiro Yamada depends on INET && NETFILTER 49fb9cbb1SYasuyuki Kozakai 5e687ad60SPablo Neiraconfig NETFILTER_INGRESS 6e687ad60SPablo Neira bool "Netfilter ingress support" 7529985deSPablo Neira Ayuso default y 8e687ad60SPablo Neira select NET_INGRESS 9e687ad60SPablo Neira help 10e687ad60SPablo Neira This allows you to classify packets from ingress using the Netfilter 11e687ad60SPablo Neira infrastructure. 12e687ad60SPablo Neira 1342df6e1dSLukas Wunnerconfig NETFILTER_EGRESS 1442df6e1dSLukas Wunner bool "Netfilter egress support" 1542df6e1dSLukas Wunner default y 1642df6e1dSLukas Wunner select NET_EGRESS 1742df6e1dSLukas Wunner help 1842df6e1dSLukas Wunner This allows you to classify packets before transmission using the 1942df6e1dSLukas Wunner Netfilter infrastructure. 2042df6e1dSLukas Wunner 2142df6e1dSLukas Wunnerconfig NETFILTER_SKIP_EGRESS 2242df6e1dSLukas Wunner def_bool NETFILTER_EGRESS && (NET_CLS_ACT || IFB) 2342df6e1dSLukas Wunner 24f9e815b3SHarald Welteconfig NETFILTER_NETLINK 252eeeba39SPatrick McHardy tristate 267af4cc3fSHarald Welte 272a95183aSFlorian Westphalconfig NETFILTER_FAMILY_BRIDGE 282a95183aSFlorian Westphal bool 292a95183aSFlorian Westphal 302a95183aSFlorian Westphalconfig NETFILTER_FAMILY_ARP 312a95183aSFlorian Westphal bool 322a95183aSFlorian Westphal 3384601d6eSFlorian Westphalconfig NETFILTER_BPF_LINK 3484601d6eSFlorian Westphal def_bool BPF_SYSCALL 3584601d6eSFlorian Westphal 36e2cf17d3SFlorian Westphalconfig NETFILTER_NETLINK_HOOK 37e2cf17d3SFlorian Westphal tristate "Netfilter base hook dump support" 38e2cf17d3SFlorian Westphal depends on NETFILTER_ADVANCED 39d4fb1f95SFlorian Westphal depends on NF_TABLES 40e2cf17d3SFlorian Westphal select NETFILTER_NETLINK 41e2cf17d3SFlorian Westphal help 42e2cf17d3SFlorian Westphal If this option is enabled, the kernel will include support 43e2cf17d3SFlorian Westphal to list the base netfilter hooks via NFNETLINK. 44e2cf17d3SFlorian Westphal This is helpful for debugging. 45e2cf17d3SFlorian Westphal 4694139027SPablo Neira Ayusoconfig NETFILTER_NETLINK_ACCT 4794139027SPablo Neira Ayuso tristate "Netfilter NFACCT over NFNETLINK interface" 4894139027SPablo Neira Ayuso depends on NETFILTER_ADVANCED 4994139027SPablo Neira Ayuso select NETFILTER_NETLINK 5094139027SPablo Neira Ayuso help 5194139027SPablo Neira Ayuso If this option is enabled, the kernel will include support 5294139027SPablo Neira Ayuso for extended accounting via NFNETLINK. 5394139027SPablo Neira Ayuso 547af4cc3fSHarald Welteconfig NETFILTER_NETLINK_QUEUE 557af4cc3fSHarald Welte tristate "Netfilter NFQUEUE over NFNETLINK interface" 5633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 572eeeba39SPatrick McHardy select NETFILTER_NETLINK 587af4cc3fSHarald Welte help 597af4cc3fSHarald Welte If this option is enabled, the kernel will include support 607af4cc3fSHarald Welte for queueing packets via NFNETLINK. 617af4cc3fSHarald Welte 620597f268SHarald Welteconfig NETFILTER_NETLINK_LOG 630597f268SHarald Welte tristate "Netfilter LOG over NFNETLINK interface" 6433b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 652eeeba39SPatrick McHardy select NETFILTER_NETLINK 660597f268SHarald Welte help 670597f268SHarald Welte If this option is enabled, the kernel will include support 680597f268SHarald Welte for logging packets via NFNETLINK. 690597f268SHarald Welte 700597f268SHarald Welte This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms, 710597f268SHarald Welte and is also scheduled to replace the old syslog-based ipt_LOG 720597f268SHarald Welte and ip6t_LOG modules. 730597f268SHarald Welte 74f6b7b5f4SFernando Fernandez Manceraconfig NETFILTER_NETLINK_OSF 75f6b7b5f4SFernando Fernandez Mancera tristate "Netfilter OSF over NFNETLINK interface" 76f6b7b5f4SFernando Fernandez Mancera depends on NETFILTER_ADVANCED 77f6b7b5f4SFernando Fernandez Mancera select NETFILTER_NETLINK 78f6b7b5f4SFernando Fernandez Mancera help 79f6b7b5f4SFernando Fernandez Mancera If this option is enabled, the kernel will include support 80f6b7b5f4SFernando Fernandez Mancera for passive OS fingerprint via NFNETLINK. 81f6b7b5f4SFernando Fernandez Mancera 82ab4f58c7SPatrick McHardyconfig NF_CONNTRACK 83b321e144SPatrick McHardy tristate "Netfilter connection tracking support" 8433b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 85a0ae2562SFlorian Westphal select NF_DEFRAG_IPV4 86a0ae2562SFlorian Westphal select NF_DEFRAG_IPV6 if IPV6 != n 87b321e144SPatrick McHardy help 889fb9cbb1SYasuyuki Kozakai Connection tracking keeps a record of what packets have passed 899fb9cbb1SYasuyuki Kozakai through your machine, in order to figure out how they are related 909fb9cbb1SYasuyuki Kozakai into connections. 919fb9cbb1SYasuyuki Kozakai 92b321e144SPatrick McHardy This is required to do Masquerading or other kinds of Network 93b11c16beSRuss Dill Address Translation. It can also be used to enhance packet 94b11c16beSRuss Dill filtering (see `Connection state match support' below). 95b321e144SPatrick McHardy 96b321e144SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 97b321e144SPatrick McHardy 98db3187aeSFlorian Westphalconfig NF_LOG_SYSLOG 99db3187aeSFlorian Westphal tristate "Syslog packet logging" 100db3187aeSFlorian Westphal default m if NETFILTER_ADVANCED=n 101db3187aeSFlorian Westphal help 102db3187aeSFlorian Westphal This option enable support for packet logging via syslog. 103e465cccdSFlorian Westphal It supports IPv4, IPV6, ARP and common transport protocols such 104e465cccdSFlorian Westphal as TCP and UDP. 105db3187aeSFlorian Westphal This is a simpler but less flexible logging method compared to 106db3187aeSFlorian Westphal CONFIG_NETFILTER_NETLINK_LOG. 107db3187aeSFlorian Westphal If both are enabled the backend to use can be configured at run-time 108db3187aeSFlorian Westphal by means of per-address-family sysctl tunables. 109db3187aeSFlorian Westphal 110c2df73deSJan Engelhardtif NF_CONNTRACK 111625c5561SFlorian Westphalconfig NETFILTER_CONNCOUNT 112625c5561SFlorian Westphal tristate 113c2df73deSJan Engelhardt 1149fb9cbb1SYasuyuki Kozakaiconfig NF_CONNTRACK_MARK 1159fb9cbb1SYasuyuki Kozakai bool 'Connection mark tracking support' 11633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1179fb9cbb1SYasuyuki Kozakai help 1189fb9cbb1SYasuyuki Kozakai This option enables support for connection marks, used by the 1199fb9cbb1SYasuyuki Kozakai `CONNMARK' target and `connmark' match. Similar to the mark value 1209fb9cbb1SYasuyuki Kozakai of packets, but this mark value is kept in the conntrack session 1219fb9cbb1SYasuyuki Kozakai instead of the individual packets. 1229fb9cbb1SYasuyuki Kozakai 1237c9728c3SJames Morrisconfig NF_CONNTRACK_SECMARK 1247c9728c3SJames Morris bool 'Connection tracking security mark support' 125c2df73deSJan Engelhardt depends on NETWORK_SECMARK 12677076934SVegard Nossum default y if NETFILTER_ADVANCED=n 1277c9728c3SJames Morris help 1287c9728c3SJames Morris This option enables security markings to be applied to 1297c9728c3SJames Morris connections. Typically they are copied to connections from 1307c9728c3SJames Morris packets using the CONNSECMARK target and copied back from 1317c9728c3SJames Morris connections to packets with the same target, with the packets 1327c9728c3SJames Morris being originally labeled via SECMARK. 1337c9728c3SJames Morris 1347c9728c3SJames Morris If unsure, say 'N'. 1357c9728c3SJames Morris 1365d0aa2ccSPatrick McHardyconfig NF_CONNTRACK_ZONES 1375d0aa2ccSPatrick McHardy bool 'Connection tracking zones' 1385d0aa2ccSPatrick McHardy depends on NETFILTER_ADVANCED 1395d0aa2ccSPatrick McHardy help 1405d0aa2ccSPatrick McHardy This option enables support for connection tracking zones. 1415d0aa2ccSPatrick McHardy Normally, each connection needs to have a unique system wide 1425d0aa2ccSPatrick McHardy identity. Connection tracking zones allow to have multiple 1435d0aa2ccSPatrick McHardy connections using the same identity, as long as they are 1445d0aa2ccSPatrick McHardy contained in different zones. 1455d0aa2ccSPatrick McHardy 1465d0aa2ccSPatrick McHardy If unsure, say `N'. 1475d0aa2ccSPatrick McHardy 14854b07dcaSJan Engelhardtconfig NF_CONNTRACK_PROCFS 14954b07dcaSJan Engelhardt bool "Supply CT list in procfs (OBSOLETE)" 15054b07dcaSJan Engelhardt depends on PROC_FS 151a7f7f624SMasahiro Yamada help 15254b07dcaSJan Engelhardt This option enables for the list of known conntrack entries 15354b07dcaSJan Engelhardt to be shown in procfs under net/netfilter/nf_conntrack. This 15454b07dcaSJan Engelhardt is considered obsolete in favor of using the conntrack(8) 15554b07dcaSJan Engelhardt tool which uses Netlink. 15654b07dcaSJan Engelhardt 1579fb9cbb1SYasuyuki Kozakaiconfig NF_CONNTRACK_EVENTS 1588ce22fcaSPatrick McHardy bool "Connection tracking events" 15933b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1609fb9cbb1SYasuyuki Kozakai help 1619fb9cbb1SYasuyuki Kozakai If this option is enabled, the connection tracking code will 1629fb9cbb1SYasuyuki Kozakai provide a notifier chain that can be used by other kernel code 1639fb9cbb1SYasuyuki Kozakai to get notified about changes in the connection tracking state. 1649fb9cbb1SYasuyuki Kozakai 1659fb9cbb1SYasuyuki Kozakai If unsure, say `N'. 1669fb9cbb1SYasuyuki Kozakai 167dd705072SPablo Neira Ayusoconfig NF_CONNTRACK_TIMEOUT 168dd705072SPablo Neira Ayuso bool 'Connection tracking timeout' 169dd705072SPablo Neira Ayuso depends on NETFILTER_ADVANCED 170dd705072SPablo Neira Ayuso help 171dd705072SPablo Neira Ayuso This option enables support for connection tracking timeout 172dd705072SPablo Neira Ayuso extension. This allows you to attach timeout policies to flow 173dd705072SPablo Neira Ayuso via the CT target. 174dd705072SPablo Neira Ayuso 175dd705072SPablo Neira Ayuso If unsure, say `N'. 176dd705072SPablo Neira Ayuso 177a992ca2aSPablo Neira Ayusoconfig NF_CONNTRACK_TIMESTAMP 178a992ca2aSPablo Neira Ayuso bool 'Connection tracking timestamping' 179a992ca2aSPablo Neira Ayuso depends on NETFILTER_ADVANCED 180a992ca2aSPablo Neira Ayuso help 181a992ca2aSPablo Neira Ayuso This option enables support for connection tracking timestamping. 182a992ca2aSPablo Neira Ayuso This allows you to store the flow start-time and to obtain 183a992ca2aSPablo Neira Ayuso the flow-stop time (once it has been destroyed) via Connection 184a992ca2aSPablo Neira Ayuso tracking events. 185a992ca2aSPablo Neira Ayuso 186a992ca2aSPablo Neira Ayuso If unsure, say `N'. 187a992ca2aSPablo Neira Ayuso 188c539f017SFlorian Westphalconfig NF_CONNTRACK_LABELS 1897bdfcea8SFlorian Westphal bool "Connection tracking labels" 190c539f017SFlorian Westphal help 191c539f017SFlorian Westphal This option enables support for assigning user-defined flag bits 1927bdfcea8SFlorian Westphal to connection tracking entries. It can be used with xtables connlabel 1937bdfcea8SFlorian Westphal match and the nftables ct expression. 194c539f017SFlorian Westphal 195c0c3ab63SXin Longconfig NF_CONNTRACK_OVS 196c0c3ab63SXin Long bool 197c0c3ab63SXin Long 198f09943feSPatrick McHardyconfig NF_CT_PROTO_GRE 19922fc4c4cSFlorian Westphal bool 200f09943feSPatrick McHardy 2019fb9cbb1SYasuyuki Kozakaiconfig NF_CT_PROTO_SCTP 202a85406afSDavide Caratti bool 'SCTP protocol connection tracking support' 20333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 204a85406afSDavide Caratti default y 20599de9d40SEric Biggers select NET_CRC32C 2069fb9cbb1SYasuyuki Kozakai help 2079fb9cbb1SYasuyuki Kozakai With this option enabled, the layer 3 independent connection 2089fb9cbb1SYasuyuki Kozakai tracking code will be able to do state tracking on SCTP connections. 2099fb9cbb1SYasuyuki Kozakai 210a85406afSDavide Caratti If unsure, say Y. 2119fb9cbb1SYasuyuki Kozakai 21216958900SPatrick McHardyconfig NF_CONNTRACK_AMANDA 213c9386cfdSPatrick McHardy tristate "Amanda backup protocol support" 21433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 21516958900SPatrick McHardy select TEXTSEARCH 21616958900SPatrick McHardy select TEXTSEARCH_KMP 21716958900SPatrick McHardy help 21816958900SPatrick McHardy If you are running the Amanda backup package <http://www.amanda.org/> 21916958900SPatrick McHardy on this machine or machines that will be MASQUERADED through this 22016958900SPatrick McHardy machine, then you may want to enable this feature. This allows the 22116958900SPatrick McHardy connection tracking and natting code to allow the sub-channels that 22216958900SPatrick McHardy Amanda requires for communication of the backup data, messages and 22316958900SPatrick McHardy index. 22416958900SPatrick McHardy 22516958900SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 22616958900SPatrick McHardy 2279fb9cbb1SYasuyuki Kozakaiconfig NF_CONNTRACK_FTP 228c9386cfdSPatrick McHardy tristate "FTP protocol support" 22933b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 2309fb9cbb1SYasuyuki Kozakai help 2319fb9cbb1SYasuyuki Kozakai Tracking FTP connections is problematic: special helpers are 2329fb9cbb1SYasuyuki Kozakai required for tracking them, and doing masquerading and other forms 2339fb9cbb1SYasuyuki Kozakai of Network Address Translation on them. 2349fb9cbb1SYasuyuki Kozakai 2359fb9cbb1SYasuyuki Kozakai This is FTP support on Layer 3 independent connection tracking. 2369fb9cbb1SYasuyuki Kozakai 2379fb9cbb1SYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 2389fb9cbb1SYasuyuki Kozakai 239f587de0eSPatrick McHardyconfig NF_CONNTRACK_H323 2408ce22fcaSPatrick McHardy tristate "H.323 protocol support" 24133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 242f587de0eSPatrick McHardy help 243f587de0eSPatrick McHardy H.323 is a VoIP signalling protocol from ITU-T. As one of the most 244f587de0eSPatrick McHardy important VoIP protocols, it is widely used by voice hardware and 245f587de0eSPatrick McHardy software including voice gateways, IP phones, Netmeeting, OpenPhone, 246f587de0eSPatrick McHardy Gnomemeeting, etc. 247f587de0eSPatrick McHardy 248f587de0eSPatrick McHardy With this module you can support H.323 on a connection tracking/NAT 249f587de0eSPatrick McHardy firewall. 250f587de0eSPatrick McHardy 251f587de0eSPatrick McHardy This module supports RAS, Fast Start, H.245 Tunnelling, Call 252f587de0eSPatrick McHardy Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat, 253f587de0eSPatrick McHardy whiteboard, file transfer, etc. For more information, please 254f587de0eSPatrick McHardy visit http://nath323.sourceforge.net/. 255f587de0eSPatrick McHardy 256f587de0eSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 257f587de0eSPatrick McHardy 258869f37d8SPatrick McHardyconfig NF_CONNTRACK_IRC 259c9386cfdSPatrick McHardy tristate "IRC protocol support" 26033b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 261869f37d8SPatrick McHardy help 262869f37d8SPatrick McHardy There is a commonly-used extension to IRC called 263869f37d8SPatrick McHardy Direct Client-to-Client Protocol (DCC). This enables users to send 264869f37d8SPatrick McHardy files to each other, and also chat to each other without the need 265869f37d8SPatrick McHardy of a server. DCC Sending is used anywhere you send files over IRC, 266869f37d8SPatrick McHardy and DCC Chat is most commonly used by Eggdrop bots. If you are 267869f37d8SPatrick McHardy using NAT, this extension will enable you to send files and initiate 268869f37d8SPatrick McHardy chats. Note that you do NOT need this extension to get files or 269869f37d8SPatrick McHardy have others initiate chats, or everything else in IRC. 270869f37d8SPatrick McHardy 271869f37d8SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 272869f37d8SPatrick McHardy 27393557f53SJiri Olsaconfig NF_CONNTRACK_BROADCAST 27493557f53SJiri Olsa tristate 27593557f53SJiri Olsa 27692703eeeSPatrick McHardyconfig NF_CONNTRACK_NETBIOS_NS 2778ce22fcaSPatrick McHardy tristate "NetBIOS name service protocol support" 27893557f53SJiri Olsa select NF_CONNTRACK_BROADCAST 27992703eeeSPatrick McHardy help 28092703eeeSPatrick McHardy NetBIOS name service requests are sent as broadcast messages from an 28192703eeeSPatrick McHardy unprivileged port and responded to with unicast messages to the 28292703eeeSPatrick McHardy same port. This make them hard to firewall properly because connection 28392703eeeSPatrick McHardy tracking doesn't deal with broadcasts. This helper tracks locally 28492703eeeSPatrick McHardy originating NetBIOS name service requests and the corresponding 28592703eeeSPatrick McHardy responses. It relies on correct IP address configuration, specifically 28692703eeeSPatrick McHardy netmask and broadcast address. When properly configured, the output 28792703eeeSPatrick McHardy of "ip address show" should look similar to this: 28892703eeeSPatrick McHardy 28992703eeeSPatrick McHardy $ ip -4 address show eth0 29092703eeeSPatrick McHardy 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 29192703eeeSPatrick McHardy inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0 29292703eeeSPatrick McHardy 29392703eeeSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 29492703eeeSPatrick McHardy 29593557f53SJiri Olsaconfig NF_CONNTRACK_SNMP 29693557f53SJiri Olsa tristate "SNMP service protocol support" 29793557f53SJiri Olsa depends on NETFILTER_ADVANCED 29893557f53SJiri Olsa select NF_CONNTRACK_BROADCAST 29993557f53SJiri Olsa help 30093557f53SJiri Olsa SNMP service requests are sent as broadcast messages from an 30193557f53SJiri Olsa unprivileged port and responded to with unicast messages to the 30293557f53SJiri Olsa same port. This make them hard to firewall properly because connection 30393557f53SJiri Olsa tracking doesn't deal with broadcasts. This helper tracks locally 30493557f53SJiri Olsa originating SNMP service requests and the corresponding 30593557f53SJiri Olsa responses. It relies on correct IP address configuration, specifically 30693557f53SJiri Olsa netmask and broadcast address. 30793557f53SJiri Olsa 30893557f53SJiri Olsa To compile it as a module, choose M here. If unsure, say N. 30993557f53SJiri Olsa 310f09943feSPatrick McHardyconfig NF_CONNTRACK_PPTP 311c9386cfdSPatrick McHardy tristate "PPtP protocol support" 31233b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 313f09943feSPatrick McHardy select NF_CT_PROTO_GRE 314f09943feSPatrick McHardy help 315f09943feSPatrick McHardy This module adds support for PPTP (Point to Point Tunnelling 316f09943feSPatrick McHardy Protocol, RFC2637) connection tracking and NAT. 317f09943feSPatrick McHardy 318f09943feSPatrick McHardy If you are running PPTP sessions over a stateful firewall or NAT 319f09943feSPatrick McHardy box, you may want to enable this feature. 320f09943feSPatrick McHardy 321f09943feSPatrick McHardy Please note that not all PPTP modes of operation are supported yet. 322f09943feSPatrick McHardy Specifically these limitations exist: 3233dde6ad8SDavid Sterba - Blindly assumes that control connections are always established 324f09943feSPatrick McHardy in PNS->PAC direction. This is a violation of RFC2637. 325f09943feSPatrick McHardy - Only supports a single call within each session 326f09943feSPatrick McHardy 327f09943feSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 328f09943feSPatrick McHardy 3296fecd198SMichal Schmidtconfig NF_CONNTRACK_SANE 330663ef0d1SKees Cook tristate "SANE protocol support" 33133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 3326fecd198SMichal Schmidt help 3336fecd198SMichal Schmidt SANE is a protocol for remote access to scanners as implemented 3346fecd198SMichal Schmidt by the 'saned' daemon. Like FTP, it uses separate control and 3356fecd198SMichal Schmidt data connections. 3366fecd198SMichal Schmidt 3376fecd198SMichal Schmidt With this module you can support SANE on a connection tracking 3386fecd198SMichal Schmidt firewall. 3396fecd198SMichal Schmidt 3406fecd198SMichal Schmidt To compile it as a module, choose M here. If unsure, say N. 3416fecd198SMichal Schmidt 3429fafcd7bSPatrick McHardyconfig NF_CONNTRACK_SIP 3438ce22fcaSPatrick McHardy tristate "SIP protocol support" 34433b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 3459fafcd7bSPatrick McHardy help 3469fafcd7bSPatrick McHardy SIP is an application-layer control protocol that can establish, 3479fafcd7bSPatrick McHardy modify, and terminate multimedia sessions (conferences) such as 34805ba4c89SYonatan Goldschmidt Internet telephony calls. With the nf_conntrack_sip and 3499fafcd7bSPatrick McHardy the nf_nat_sip modules you can support the protocol on a connection 3509fafcd7bSPatrick McHardy tracking/NATing firewall. 3519fafcd7bSPatrick McHardy 3529fafcd7bSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 3539fafcd7bSPatrick McHardy 354a536df35SPatrick McHardyconfig NF_CONNTRACK_TFTP 355c9386cfdSPatrick McHardy tristate "TFTP protocol support" 35633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 357a536df35SPatrick McHardy help 358a536df35SPatrick McHardy TFTP connection tracking helper, this is required depending 359a536df35SPatrick McHardy on how restrictive your ruleset is. 360a536df35SPatrick McHardy If you are using a tftp client behind -j SNAT or -j MASQUERADING 361a536df35SPatrick McHardy you will need this. 362a536df35SPatrick McHardy 363a536df35SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 364a536df35SPatrick McHardy 365c1d10adbSPablo Neira Ayusoconfig NF_CT_NETLINK 3668ce22fcaSPatrick McHardy tristate 'Connection tracking netlink interface' 3672eeeba39SPatrick McHardy select NETFILTER_NETLINK 36833b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 369c1d10adbSPablo Neira Ayuso help 370c1d10adbSPablo Neira Ayuso This option enables support for a netlink-based userspace interface 371c1d10adbSPablo Neira Ayuso 37250978462SPablo Neira Ayusoconfig NF_CT_NETLINK_TIMEOUT 37350978462SPablo Neira Ayuso tristate 'Connection tracking timeout tuning via Netlink' 37450978462SPablo Neira Ayuso select NETFILTER_NETLINK 37550978462SPablo Neira Ayuso depends on NETFILTER_ADVANCED 376c7530326SHarsha Sharma depends on NF_CONNTRACK_TIMEOUT 37750978462SPablo Neira Ayuso help 37850978462SPablo Neira Ayuso This option enables support for connection tracking timeout 37950978462SPablo Neira Ayuso fine-grain tuning. This allows you to attach specific timeout 38050978462SPablo Neira Ayuso policies to flows, instead of using the global timeout policy. 38150978462SPablo Neira Ayuso 38250978462SPablo Neira Ayuso If unsure, say `N'. 38350978462SPablo Neira Ayuso 3846e9c2db3SPablo Neira Ayusoconfig NF_CT_NETLINK_HELPER 3856e9c2db3SPablo Neira Ayuso tristate 'Connection tracking helpers in user-space via Netlink' 3866e9c2db3SPablo Neira Ayuso select NETFILTER_NETLINK 3876e9c2db3SPablo Neira Ayuso depends on NF_CT_NETLINK 3886e9c2db3SPablo Neira Ayuso depends on NETFILTER_NETLINK_QUEUE 38983f3e94dSKen-ichirou MATSUZAWA depends on NETFILTER_NETLINK_GLUE_CT 3906e9c2db3SPablo Neira Ayuso depends on NETFILTER_ADVANCED 3916e9c2db3SPablo Neira Ayuso help 3926e9c2db3SPablo Neira Ayuso This option enables the user-space connection tracking helpers 3936e9c2db3SPablo Neira Ayuso infrastructure. 3946e9c2db3SPablo Neira Ayuso 3956e9c2db3SPablo Neira Ayuso If unsure, say `N'. 3966e9c2db3SPablo Neira Ayuso 39783f3e94dSKen-ichirou MATSUZAWAconfig NETFILTER_NETLINK_GLUE_CT 398a29a9a58SKen-ichirou MATSUZAWA bool "NFQUEUE and NFLOG integration with Connection Tracking" 3997c622345SPablo Neira Ayuso default n 400a29a9a58SKen-ichirou MATSUZAWA depends on (NETFILTER_NETLINK_QUEUE || NETFILTER_NETLINK_LOG) && NF_CT_NETLINK 4017c622345SPablo Neira Ayuso help 402a29a9a58SKen-ichirou MATSUZAWA If this option is enabled, NFQUEUE and NFLOG can include 403a29a9a58SKen-ichirou MATSUZAWA Connection Tracking information together with the packet is 404a29a9a58SKen-ichirou MATSUZAWA the enqueued via NFNETLINK. 4057c622345SPablo Neira Ayuso 406c7232c99SPatrick McHardyconfig NF_NAT 4073bf195aeSFlorian Westphal tristate "Network Address Translation support" 4083bf195aeSFlorian Westphal depends on NF_CONNTRACK 4093bf195aeSFlorian Westphal default m if NETFILTER_ADVANCED=n 4103bf195aeSFlorian Westphal help 4113bf195aeSFlorian Westphal The NAT option allows masquerading, port forwarding and other 4123bf195aeSFlorian Westphal forms of full Network Address Port Translation. This can be 4133bf195aeSFlorian Westphal controlled by iptables, ip6tables or nft. 414c7232c99SPatrick McHardy 415ee6eb966SPatrick McHardyconfig NF_NAT_AMANDA 416ee6eb966SPatrick McHardy tristate 417ee6eb966SPatrick McHardy depends on NF_CONNTRACK && NF_NAT 418ee6eb966SPatrick McHardy default NF_NAT && NF_CONNTRACK_AMANDA 419ee6eb966SPatrick McHardy 420d33cbeebSPatrick McHardyconfig NF_NAT_FTP 421d33cbeebSPatrick McHardy tristate 422d33cbeebSPatrick McHardy depends on NF_CONNTRACK && NF_NAT 423d33cbeebSPatrick McHardy default NF_NAT && NF_CONNTRACK_FTP 424d33cbeebSPatrick McHardy 4255901b6beSPablo Neira Ayusoconfig NF_NAT_IRC 4265901b6beSPablo Neira Ayuso tristate 4275901b6beSPablo Neira Ayuso depends on NF_CONNTRACK && NF_NAT 4285901b6beSPablo Neira Ayuso default NF_NAT && NF_CONNTRACK_IRC 4295901b6beSPablo Neira Ayuso 4309a664821SPatrick McHardyconfig NF_NAT_SIP 4319a664821SPatrick McHardy tristate 4329a664821SPatrick McHardy depends on NF_CONNTRACK && NF_NAT 4339a664821SPatrick McHardy default NF_NAT && NF_CONNTRACK_SIP 4349a664821SPatrick McHardy 435320ff567SPablo Neira Ayusoconfig NF_NAT_TFTP 436320ff567SPablo Neira Ayuso tristate 437320ff567SPablo Neira Ayuso depends on NF_CONNTRACK && NF_NAT 438320ff567SPablo Neira Ayuso default NF_NAT && NF_CONNTRACK_TFTP 439320ff567SPablo Neira Ayuso 440b59eaf9eSPablo Neira Ayusoconfig NF_NAT_REDIRECT 4411ac89d20SFlorian Westphal bool 442b59eaf9eSPablo Neira Ayuso 443d1aca8abSFlorian Westphalconfig NF_NAT_MASQUERADE 444d1aca8abSFlorian Westphal bool 445d1aca8abSFlorian Westphal 446ebddb140SXin Longconfig NF_NAT_OVS 447ebddb140SXin Long bool 448ebddb140SXin Long 44948b1de4cSPatrick McHardyconfig NETFILTER_SYNPROXY 45048b1de4cSPatrick McHardy tristate 45148b1de4cSPatrick McHardy 4524b070662SLaszlo Attila Tothendif # NF_CONNTRACK 4534b070662SLaszlo Attila Toth 45496518518SPatrick McHardyconfig NF_TABLES 4555f291c28SEric Leblond select NETFILTER_NETLINK 45699de9d40SEric Biggers select NET_CRC32C 45796518518SPatrick McHardy tristate "Netfilter nf_tables support" 458d497c635SPablo Neira Ayuso help 459d497c635SPablo Neira Ayuso nftables is the new packet classification framework that intends to 460d497c635SPablo Neira Ayuso replace the existing {ip,ip6,arp,eb}_tables infrastructure. It 461d497c635SPablo Neira Ayuso provides a pseudo-state machine with an extensible instruction-set 462d497c635SPablo Neira Ayuso (also known as expressions) that the userspace 'nft' utility 46350935339SAlexander A. Klimov (https://www.netfilter.org/projects/nftables) uses to build the 464d497c635SPablo Neira Ayuso rule-set. It also comes with the generic set infrastructure that 465d497c635SPablo Neira Ayuso allows you to construct mappings between matchings and actions 466d497c635SPablo Neira Ayuso for performance lookups. 467d497c635SPablo Neira Ayuso 468d497c635SPablo Neira Ayuso To compile it as a module, choose M here. 46996518518SPatrick McHardy 470f04e599eSPablo Neira Ayusoif NF_TABLES 4711d49144cSPatrick McHardyconfig NF_TABLES_INET 472f04e599eSPablo Neira Ayuso depends on IPV6 4731d49144cSPatrick McHardy select NF_TABLES_IPV4 4741d49144cSPatrick McHardy select NF_TABLES_IPV6 47502c7b25eSPablo Neira Ayuso bool "Netfilter nf_tables mixed IPv4/IPv6 tables support" 4761d49144cSPatrick McHardy help 4771d49144cSPatrick McHardy This option enables support for a mixed IPv4/IPv6 "inet" table. 4781d49144cSPatrick McHardy 479ed6c4136SPablo Neira Ayusoconfig NF_TABLES_NETDEV 48002c7b25eSPablo Neira Ayuso bool "Netfilter nf_tables netdev tables support" 481ed6c4136SPablo Neira Ayuso help 482ed6c4136SPablo Neira Ayuso This option enables support for the "netdev" table. 483ed6c4136SPablo Neira Ayuso 48491dbc6beSLaura Garcia Liebanaconfig NFT_NUMGEN 48591dbc6beSLaura Garcia Liebana tristate "Netfilter nf_tables number generator module" 48691dbc6beSLaura Garcia Liebana help 48791dbc6beSLaura Garcia Liebana This option adds the number generator expression used to perform 48891dbc6beSLaura Garcia Liebana incremental counting and random numbers bound to a upper limit. 48991dbc6beSLaura Garcia Liebana 49096518518SPatrick McHardyconfig NFT_CT 49196518518SPatrick McHardy depends on NF_CONNTRACK 49296518518SPatrick McHardy tristate "Netfilter nf_tables conntrack module" 493d497c635SPablo Neira Ayuso help 494e4670b05SWilliam Breathitt Gray This option adds the "ct" expression that you can use to match 495d497c635SPablo Neira Ayuso connection tracking information such as the flow state. 49696518518SPatrick McHardy 497fd72f265SPablo Neira Ayusoconfig NFT_EXTHDR_DCCP 498fd72f265SPablo Neira Ayuso bool "Netfilter nf_tables exthdr DCCP support (DEPRECATED)" 499fd72f265SPablo Neira Ayuso default n 500fd72f265SPablo Neira Ayuso help 501fd72f265SPablo Neira Ayuso This option adds support for matching on DCCP extension headers. 502fd72f265SPablo Neira Ayuso 503a3c90f7aSPablo Neira Ayusoconfig NFT_FLOW_OFFLOAD 5049be9d04bSArnd Bergmann depends on NF_CONNTRACK && NF_FLOW_TABLE 505a3c90f7aSPablo Neira Ayuso tristate "Netfilter nf_tables hardware flow offload module" 506a3c90f7aSPablo Neira Ayuso help 507a3c90f7aSPablo Neira Ayuso This option adds the "flow_offload" expression that you can use to 508a3c90f7aSPablo Neira Ayuso choose what flows are placed into the hardware. 509a3c90f7aSPablo Neira Ayuso 510290180e2SPablo Neira Ayusoconfig NFT_CONNLIMIT 511290180e2SPablo Neira Ayuso tristate "Netfilter nf_tables connlimit module" 512290180e2SPablo Neira Ayuso depends on NF_CONNTRACK 513290180e2SPablo Neira Ayuso depends on NETFILTER_ADVANCED 514290180e2SPablo Neira Ayuso select NETFILTER_CONNCOUNT 515290180e2SPablo Neira Ayuso help 516290180e2SPablo Neira Ayuso This option adds the "connlimit" expression that you can use to 517290180e2SPablo Neira Ayuso ratelimit rule matchings per connections. 518290180e2SPablo Neira Ayuso 51996518518SPatrick McHardyconfig NFT_LOG 52096518518SPatrick McHardy tristate "Netfilter nf_tables log module" 521d497c635SPablo Neira Ayuso help 522d497c635SPablo Neira Ayuso This option adds the "log" expression that you can use to log 523d497c635SPablo Neira Ayuso packets matching some criteria. 52496518518SPatrick McHardy 52596518518SPatrick McHardyconfig NFT_LIMIT 52696518518SPatrick McHardy tristate "Netfilter nf_tables limit module" 527d497c635SPablo Neira Ayuso help 528d497c635SPablo Neira Ayuso This option adds the "limit" expression that you can use to 529d497c635SPablo Neira Ayuso ratelimit rule matchings. 53096518518SPatrick McHardy 5319ba1f726SArturo Borreroconfig NFT_MASQ 5329ba1f726SArturo Borrero depends on NF_CONNTRACK 5339ba1f726SArturo Borrero depends on NF_NAT 534a9ce849eSFlorian Westphal select NF_NAT_MASQUERADE 5359ba1f726SArturo Borrero tristate "Netfilter nf_tables masquerade support" 5369ba1f726SArturo Borrero help 5379ba1f726SArturo Borrero This option adds the "masquerade" expression that you can use 5389ba1f726SArturo Borrero to perform NAT in the masquerade flavour. 5399ba1f726SArturo Borrero 540e9105f1bSArturo Borreroconfig NFT_REDIR 541e9105f1bSArturo Borrero depends on NF_CONNTRACK 542e9105f1bSArturo Borrero depends on NF_NAT 543e9105f1bSArturo Borrero tristate "Netfilter nf_tables redirect support" 544c78efc99SFlorian Westphal select NF_NAT_REDIRECT 545e9105f1bSArturo Borrero help 546e9105f1bSArturo Borrero This options adds the "redirect" expression that you can use 547e9105f1bSArturo Borrero to perform NAT in the redirect flavour. 548e9105f1bSArturo Borrero 549eb31628eSTomasz Bursztykaconfig NFT_NAT 550eb31628eSTomasz Bursztyka depends on NF_CONNTRACK 5511e8430f3SPablo Neira Ayuso select NF_NAT 552db8ab388SFlorian Westphal depends on NF_TABLES_IPV4 || NF_TABLES_IPV6 553eb31628eSTomasz Bursztyka tristate "Netfilter nf_tables nat module" 554d497c635SPablo Neira Ayuso help 555d497c635SPablo Neira Ayuso This option adds the "nat" expression that you can use to perform 556d497c635SPablo Neira Ayuso typical Network Address Translation (NAT) packet transformations. 557eb31628eSTomasz Bursztyka 558af308b94SPablo Neira Ayusoconfig NFT_TUNNEL 559af308b94SPablo Neira Ayuso tristate "Netfilter nf_tables tunnel module" 560af308b94SPablo Neira Ayuso help 561af308b94SPablo Neira Ayuso This option adds the "tunnel" expression that you can use to set 562af308b94SPablo Neira Ayuso tunneling policies. 563af308b94SPablo Neira Ayuso 5640aff078dSEric Leblondconfig NFT_QUEUE 5650aff078dSEric Leblond depends on NETFILTER_NETLINK_QUEUE 5660aff078dSEric Leblond tristate "Netfilter nf_tables queue module" 5670aff078dSEric Leblond help 5680aff078dSEric Leblond This is required if you intend to use the userspace queueing 5690aff078dSEric Leblond infrastructure (also known as NFQUEUE) from nftables. 5700aff078dSEric Leblond 5713d2f30a1SPablo Neira Ayusoconfig NFT_QUOTA 5723d2f30a1SPablo Neira Ayuso tristate "Netfilter nf_tables quota module" 5733d2f30a1SPablo Neira Ayuso help 5743d2f30a1SPablo Neira Ayuso This option adds the "quota" expression that you can use to match 5753d2f30a1SPablo Neira Ayuso enforce bytes quotas. 5763d2f30a1SPablo Neira Ayuso 577bee11dc7SEric Leblondconfig NFT_REJECT 578bee11dc7SEric Leblond default m if NETFILTER_ADVANCED=n 579bee11dc7SEric Leblond tristate "Netfilter nf_tables reject support" 580d497c635SPablo Neira Ayuso help 581d497c635SPablo Neira Ayuso This option adds the "reject" expression that you can use to 582d497c635SPablo Neira Ayuso explicitly deny and notify via TCP reset/ICMP informational errors 583d497c635SPablo Neira Ayuso unallowed traffic. 5840ca743a5SPablo Neira Ayuso 58505513e9eSPatrick McHardyconfig NFT_REJECT_INET 58605513e9eSPatrick McHardy depends on NF_TABLES_INET 58705513e9eSPatrick McHardy default NFT_REJECT 58805513e9eSPatrick McHardy tristate 58905513e9eSPatrick McHardy 5900ca743a5SPablo Neira Ayusoconfig NFT_COMPAT 5910ca743a5SPablo Neira Ayuso depends on NETFILTER_XTABLES 5920ca743a5SPablo Neira Ayuso tristate "Netfilter x_tables over nf_tables module" 5930ca743a5SPablo Neira Ayuso help 5940ca743a5SPablo Neira Ayuso This is required if you intend to use any of existing 5950ca743a5SPablo Neira Ayuso x_tables match/target extensions over the nf_tables 5960ca743a5SPablo Neira Ayuso framework. 5970ca743a5SPablo Neira Ayuso 598cb1b69b0SLaura Garcia Liebanaconfig NFT_HASH 599cb1b69b0SLaura Garcia Liebana tristate "Netfilter nf_tables hash module" 600cb1b69b0SLaura Garcia Liebana help 601cb1b69b0SLaura Garcia Liebana This option adds the "hash" expression that you can use to perform 602cb1b69b0SLaura Garcia Liebana a hash operation on registers. 603cb1b69b0SLaura Garcia Liebana 604f6d0cbcfSFlorian Westphalconfig NFT_FIB 605f6d0cbcfSFlorian Westphal tristate 606f6d0cbcfSFlorian Westphal 607f6d0cbcfSFlorian Westphalconfig NFT_FIB_INET 608f6d0cbcfSFlorian Westphal depends on NF_TABLES_INET 609f6d0cbcfSFlorian Westphal depends on NFT_FIB_IPV4 610f6d0cbcfSFlorian Westphal depends on NFT_FIB_IPV6 611f6d0cbcfSFlorian Westphal tristate "Netfilter nf_tables fib inet support" 612f6d0cbcfSFlorian Westphal help 613f6d0cbcfSFlorian Westphal This option allows using the FIB expression from the inet table. 614f6d0cbcfSFlorian Westphal The lookup will be delegated to the IPv4 or IPv6 FIB depending 615f6d0cbcfSFlorian Westphal on the protocol of the packet. 616f6d0cbcfSFlorian Westphal 6176c472602SFlorian Westphalconfig NFT_XFRM 6186c472602SFlorian Westphal tristate "Netfilter nf_tables xfrm/IPSec security association matching" 6196c472602SFlorian Westphal depends on XFRM 6206c472602SFlorian Westphal help 6216c472602SFlorian Westphal This option adds an expression that you can use to extract properties 6226c472602SFlorian Westphal of a packets security association. 6236c472602SFlorian Westphal 624554ced0aSMáté Ecklconfig NFT_SOCKET 625554ced0aSMáté Eckl tristate "Netfilter nf_tables socket match support" 626554ced0aSMáté Eckl select NF_SOCKET_IPV4 6275d400a49SMáté Eckl select NF_SOCKET_IPV6 if NF_TABLES_IPV6 628554ced0aSMáté Eckl help 629554ced0aSMáté Eckl This option allows matching for the presence or absence of a 630554ced0aSMáté Eckl corresponding socket and its attributes. 631554ced0aSMáté Eckl 632b96af92dSFernando Fernandez Manceraconfig NFT_OSF 633b96af92dSFernando Fernandez Mancera tristate "Netfilter nf_tables passive OS fingerprint support" 634b96af92dSFernando Fernandez Mancera depends on NETFILTER_ADVANCED 635b96af92dSFernando Fernandez Mancera select NETFILTER_NETLINK_OSF 636b96af92dSFernando Fernandez Mancera help 637b96af92dSFernando Fernandez Mancera This option allows matching packets from an specific OS. 638b96af92dSFernando Fernandez Mancera 6394ed8eb65SMáté Ecklconfig NFT_TPROXY 6404ed8eb65SMáté Eckl tristate "Netfilter nf_tables tproxy support" 6414ed8eb65SMáté Eckl select NF_DEFRAG_IPV4 6424ed8eb65SMáté Eckl select NF_DEFRAG_IPV6 if NF_TABLES_IPV6 6434ed8eb65SMáté Eckl select NF_TPROXY_IPV4 6444ed8eb65SMáté Eckl select NF_TPROXY_IPV6 if NF_TABLES_IPV6 6454ed8eb65SMáté Eckl help 6464ed8eb65SMáté Eckl This makes transparent proxy support available in nftables. 6474ed8eb65SMáté Eckl 648ad49d86eSFernando Fernandez Manceraconfig NFT_SYNPROXY 649ad49d86eSFernando Fernandez Mancera tristate "Netfilter nf_tables SYNPROXY expression support" 650ad49d86eSFernando Fernandez Mancera depends on NF_CONNTRACK && NETFILTER_ADVANCED 651ad49d86eSFernando Fernandez Mancera select NETFILTER_SYNPROXY 652ad49d86eSFernando Fernandez Mancera select SYN_COOKIES 653ad49d86eSFernando Fernandez Mancera help 654ad49d86eSFernando Fernandez Mancera The SYNPROXY expression allows you to intercept TCP connections and 655ad49d86eSFernando Fernandez Mancera establish them using syncookies before they are passed on to the 656ad49d86eSFernando Fernandez Mancera server. This allows to avoid conntrack and server resource usage 657ad49d86eSFernando Fernandez Mancera during SYN-flood attacks. 658ad49d86eSFernando Fernandez Mancera 659502061f8SPablo Neira Ayusoif NF_TABLES_NETDEV 660502061f8SPablo Neira Ayuso 661502061f8SPablo Neira Ayusoconfig NF_DUP_NETDEV 662502061f8SPablo Neira Ayuso tristate "Netfilter packet duplication support" 663502061f8SPablo Neira Ayuso help 664502061f8SPablo Neira Ayuso This option enables the generic packet duplication infrastructure 665502061f8SPablo Neira Ayuso for Netfilter. 666502061f8SPablo Neira Ayuso 667502061f8SPablo Neira Ayusoconfig NFT_DUP_NETDEV 668502061f8SPablo Neira Ayuso tristate "Netfilter nf_tables netdev packet duplication support" 669502061f8SPablo Neira Ayuso select NF_DUP_NETDEV 670502061f8SPablo Neira Ayuso help 671502061f8SPablo Neira Ayuso This option enables packet duplication for the "netdev" family. 672502061f8SPablo Neira Ayuso 67339e6dea2SPablo Neira Ayusoconfig NFT_FWD_NETDEV 67439e6dea2SPablo Neira Ayuso tristate "Netfilter nf_tables netdev packet forwarding support" 67539e6dea2SPablo Neira Ayuso select NF_DUP_NETDEV 67639e6dea2SPablo Neira Ayuso help 67739e6dea2SPablo Neira Ayuso This option enables packet forwarding for the "netdev" family. 67839e6dea2SPablo Neira Ayuso 6796392c226SPablo M. Bermudo Garayconfig NFT_FIB_NETDEV 6806392c226SPablo M. Bermudo Garay depends on NFT_FIB_IPV4 6816392c226SPablo M. Bermudo Garay depends on NFT_FIB_IPV6 6826392c226SPablo M. Bermudo Garay tristate "Netfilter nf_tables netdev fib lookups support" 6836392c226SPablo M. Bermudo Garay help 6846392c226SPablo M. Bermudo Garay This option allows using the FIB expression from the netdev table. 6856392c226SPablo M. Bermudo Garay The lookup will be delegated to the IPv4 or IPv6 FIB depending 6866392c226SPablo M. Bermudo Garay on the protocol of the packet. 6876392c226SPablo M. Bermudo Garay 6886bbb9ad3SJose M. Guisado Gomezconfig NFT_REJECT_NETDEV 6896bbb9ad3SJose M. Guisado Gomez depends on NFT_REJECT_IPV4 6906bbb9ad3SJose M. Guisado Gomez depends on NFT_REJECT_IPV6 6916bbb9ad3SJose M. Guisado Gomez tristate "Netfilter nf_tables netdev REJECT support" 6926bbb9ad3SJose M. Guisado Gomez help 6936bbb9ad3SJose M. Guisado Gomez This option enables the REJECT support from the netdev table. 6946bbb9ad3SJose M. Guisado Gomez The return packet generation will be delegated to the IPv4 6956bbb9ad3SJose M. Guisado Gomez or IPv6 ICMP or TCP RST implementation depending on the 6966bbb9ad3SJose M. Guisado Gomez protocol of the packet. 6976bbb9ad3SJose M. Guisado Gomez 698502061f8SPablo Neira Ayusoendif # NF_TABLES_NETDEV 699502061f8SPablo Neira Ayuso 700f04e599eSPablo Neira Ayusoendif # NF_TABLES 701f04e599eSPablo Neira Ayuso 7027c23b629SPablo Neira Ayusoconfig NF_FLOW_TABLE_INET 7037c23b629SPablo Neira Ayuso tristate "Netfilter flow table mixed IPv4/IPv6 module" 7041e80380bSFelix Fietkau depends on NF_FLOW_TABLE 7057c23b629SPablo Neira Ayuso help 7067c23b629SPablo Neira Ayuso This option adds the flow table mixed IPv4/IPv6 support. 7077c23b629SPablo Neira Ayuso 7087c23b629SPablo Neira Ayuso To compile it as a module, choose M here. 7097c23b629SPablo Neira Ayuso 710ac2a6666SPablo Neira Ayusoconfig NF_FLOW_TABLE 711ac2a6666SPablo Neira Ayuso tristate "Netfilter flow table module" 7126be3bcd7SPablo Neira Ayuso depends on NETFILTER_INGRESS 7136be3bcd7SPablo Neira Ayuso depends on NF_CONNTRACK 7146be3bcd7SPablo Neira Ayuso depends on NF_TABLES 715ac2a6666SPablo Neira Ayuso help 716ac2a6666SPablo Neira Ayuso This option adds the flow table core infrastructure. 717ac2a6666SPablo Neira Ayuso 718ac2a6666SPablo Neira Ayuso To compile it as a module, choose M here. 719ac2a6666SPablo Neira Ayuso 720b0381776SVlad Buslovconfig NF_FLOW_TABLE_PROCFS 721b0381776SVlad Buslov bool "Supply flow table statistics in procfs" 722b06ada6dSPablo Neira Ayuso depends on NF_FLOW_TABLE 723b0381776SVlad Buslov depends on PROC_FS 724b0381776SVlad Buslov help 725b0381776SVlad Buslov This option enables for the flow table offload statistics 726b0381776SVlad Buslov to be shown in procfs under net/netfilter/nf_flowtable. 727b0381776SVlad Buslov 7282e4e6a17SHarald Welteconfig NETFILTER_XTABLES 7292e4e6a17SHarald Welte tristate "Netfilter Xtables support (required for ip_tables)" 73033b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 7312e4e6a17SHarald Welte help 7322e4e6a17SHarald Welte This is required if you intend to use any of ip_tables, 7332e4e6a17SHarald Welte ip6_tables or arp_tables. 7342e4e6a17SHarald Welte 735c2df73deSJan Engelhardtif NETFILTER_XTABLES 736c2df73deSJan Engelhardt 73747a6959fSFlorian Westphalconfig NETFILTER_XTABLES_COMPAT 73847a6959fSFlorian Westphal bool "Netfilter Xtables 32bit support" 73947a6959fSFlorian Westphal depends on COMPAT 74047a6959fSFlorian Westphal help 74147a6959fSFlorian Westphal This option provides a translation layer to run 32bit arp,ip(6),ebtables 74247a6959fSFlorian Westphal binaries on 64bit kernels. 74347a6959fSFlorian Westphal 74447a6959fSFlorian Westphal If unsure, say N. 74547a6959fSFlorian Westphal 746*9fce6658SPablo Neira Ayusoconfig NETFILTER_XTABLES_LEGACY 747*9fce6658SPablo Neira Ayuso bool "Netfilter legacy tables support" 748*9fce6658SPablo Neira Ayuso depends on !PREEMPT_RT 749*9fce6658SPablo Neira Ayuso help 750*9fce6658SPablo Neira Ayuso Say Y here if you still require support for legacy tables. This is 751*9fce6658SPablo Neira Ayuso required by the legacy tools (iptables-legacy) and is not needed if 752*9fce6658SPablo Neira Ayuso you use iptables over nftables (iptables-nft). 753*9fce6658SPablo Neira Ayuso Legacy support is not limited to IP, it also includes EBTABLES and 754*9fce6658SPablo Neira Ayuso ARPTABLES. 755*9fce6658SPablo Neira Ayuso 75628b94988SJan Engelhardtcomment "Xtables combined modules" 75728b94988SJan Engelhardt 75828b94988SJan Engelhardtconfig NETFILTER_XT_MARK 75928b94988SJan Engelhardt tristate 'nfmark target and match support' 76028b94988SJan Engelhardt default m if NETFILTER_ADVANCED=n 761a7f7f624SMasahiro Yamada help 76228b94988SJan Engelhardt This option adds the "MARK" target and "mark" match. 76328b94988SJan Engelhardt 76428b94988SJan Engelhardt Netfilter mark matching allows you to match packets based on the 76528b94988SJan Engelhardt "nfmark" value in the packet. 76628b94988SJan Engelhardt The target allows you to create rules in the "mangle" table which alter 76728b94988SJan Engelhardt the netfilter mark (nfmark) field associated with the packet. 76828b94988SJan Engelhardt 769f1504307SMoritz Sichert Prior to routing, the nfmark can influence the routing method and can 770f1504307SMoritz Sichert also be used by other subsystems to change their behavior. 77128b94988SJan Engelhardt 772b8f00ba2SJan Engelhardtconfig NETFILTER_XT_CONNMARK 773b8f00ba2SJan Engelhardt tristate 'ctmark target and match support' 774b8f00ba2SJan Engelhardt depends on NF_CONNTRACK 775b8f00ba2SJan Engelhardt depends on NETFILTER_ADVANCED 776b8f00ba2SJan Engelhardt select NF_CONNTRACK_MARK 777a7f7f624SMasahiro Yamada help 778b8f00ba2SJan Engelhardt This option adds the "CONNMARK" target and "connmark" match. 779b8f00ba2SJan Engelhardt 780b8f00ba2SJan Engelhardt Netfilter allows you to store a mark value per connection (a.k.a. 781b8f00ba2SJan Engelhardt ctmark), similarly to the packet mark (nfmark). Using this 782b8f00ba2SJan Engelhardt target and match, you can set and match on this mark. 783b8f00ba2SJan Engelhardt 784d956798dSJozsef Kadlecsikconfig NETFILTER_XT_SET 785d956798dSJozsef Kadlecsik tristate 'set target and match support' 786d956798dSJozsef Kadlecsik depends on IP_SET 787d956798dSJozsef Kadlecsik depends on NETFILTER_ADVANCED 788d956798dSJozsef Kadlecsik help 789d956798dSJozsef Kadlecsik This option adds the "SET" target and "set" match. 790d956798dSJozsef Kadlecsik 791d956798dSJozsef Kadlecsik Using this target and match, you can add/delete and match 792d956798dSJozsef Kadlecsik elements in the sets created by ipset(8). 793d956798dSJozsef Kadlecsik 794d956798dSJozsef Kadlecsik To compile it as a module, choose M here. If unsure, say N. 795d956798dSJozsef Kadlecsik 7962e4e6a17SHarald Welte# alphabetically ordered list of targets 7972e4e6a17SHarald Welte 79844c58731SJan Engelhardtcomment "Xtables targets" 79944c58731SJan Engelhardt 80043f393caSThomas Grafconfig NETFILTER_XT_TARGET_AUDIT 80143f393caSThomas Graf tristate "AUDIT target support" 80243f393caSThomas Graf depends on AUDIT 80343f393caSThomas Graf depends on NETFILTER_ADVANCED 804a7f7f624SMasahiro Yamada help 80543f393caSThomas Graf This option adds a 'AUDIT' target, which can be used to create 80643f393caSThomas Graf audit records for packets dropped/accepted. 80743f393caSThomas Graf 80843f393caSThomas Graf To compileit as a module, choose M here. If unsure, say N. 80943f393caSThomas Graf 810edf0e1fbSMichael S. Tsirkinconfig NETFILTER_XT_TARGET_CHECKSUM 811edf0e1fbSMichael S. Tsirkin tristate "CHECKSUM target support" 812a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT 813edf0e1fbSMichael S. Tsirkin depends on NETFILTER_ADVANCED 814a7f7f624SMasahiro Yamada help 815edf0e1fbSMichael S. Tsirkin This option adds a `CHECKSUM' target, which can be used in the iptables mangle 81610568f6cSFlorian Westphal table to work around buggy DHCP clients in virtualized environments. 817edf0e1fbSMichael S. Tsirkin 81810568f6cSFlorian Westphal Some old DHCP clients drop packets because they are not aware 81910568f6cSFlorian Westphal that the checksum would normally be offloaded to hardware and 82010568f6cSFlorian Westphal thus should be considered valid. 82110568f6cSFlorian Westphal This target can be used to fill in the checksum using iptables 82210568f6cSFlorian Westphal when such packets are sent via a virtual network device. 823edf0e1fbSMichael S. Tsirkin 824edf0e1fbSMichael S. Tsirkin To compile it as a module, choose M here. If unsure, say N. 825edf0e1fbSMichael S. Tsirkin 8262e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_CLASSIFY 8272e4e6a17SHarald Welte tristate '"CLASSIFY" target support' 82833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 8292e4e6a17SHarald Welte help 8302e4e6a17SHarald Welte This option adds a `CLASSIFY' target, which enables the user to set 8312e4e6a17SHarald Welte the priority of a packet. Some qdiscs can use this value for 8322e4e6a17SHarald Welte classification, among these are: 8332e4e6a17SHarald Welte 8342e4e6a17SHarald Welte atm, cbq, dsmark, pfifo_fast, htb, prio 8352e4e6a17SHarald Welte 8362e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 8372e4e6a17SHarald Welte 8382e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_CONNMARK 8392e4e6a17SHarald Welte tristate '"CONNMARK" target support' 840587aa641SPatrick McHardy depends on NF_CONNTRACK 84133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 842b8f00ba2SJan Engelhardt select NETFILTER_XT_CONNMARK 843a7f7f624SMasahiro Yamada help 844b8f00ba2SJan Engelhardt This is a backwards-compat option for the user's convenience 845b8f00ba2SJan Engelhardt (e.g. when running oldconfig). It selects 846b8f00ba2SJan Engelhardt CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module). 8472e4e6a17SHarald Welte 848aba0d348SJan Engelhardtconfig NETFILTER_XT_TARGET_CONNSECMARK 849aba0d348SJan Engelhardt tristate '"CONNSECMARK" target support' 850c2df73deSJan Engelhardt depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK 851aba0d348SJan Engelhardt default m if NETFILTER_ADVANCED=n 852aba0d348SJan Engelhardt help 853aba0d348SJan Engelhardt The CONNSECMARK target copies security markings from packets 854aba0d348SJan Engelhardt to connections, and restores security markings from connections 855aba0d348SJan Engelhardt to packets (if the packets are not already marked). This would 856aba0d348SJan Engelhardt normally be used in conjunction with the SECMARK target. 857aba0d348SJan Engelhardt 858aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 859aba0d348SJan Engelhardt 86084f3bb9aSPatrick McHardyconfig NETFILTER_XT_TARGET_CT 86184f3bb9aSPatrick McHardy tristate '"CT" target support' 86284f3bb9aSPatrick McHardy depends on NF_CONNTRACK 863a9525c7fSFlorian Westphal depends on IP_NF_RAW || IP6_NF_RAW || NFT_COMPAT 86484f3bb9aSPatrick McHardy depends on NETFILTER_ADVANCED 86584f3bb9aSPatrick McHardy help 86684f3bb9aSPatrick McHardy This options adds a `CT' target, which allows to specify initial 86784f3bb9aSPatrick McHardy connection tracking parameters like events to be delivered and 86884f3bb9aSPatrick McHardy the helper to be used. 86984f3bb9aSPatrick McHardy 87084f3bb9aSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 87184f3bb9aSPatrick McHardy 872a468701dSYasuyuki Kozakaiconfig NETFILTER_XT_TARGET_DSCP 873c9fd4968SJan Engelhardt tristate '"DSCP" and "TOS" target support' 874a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT 87533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 876a468701dSYasuyuki Kozakai help 877a468701dSYasuyuki Kozakai This option adds a `DSCP' target, which allows you to manipulate 878a468701dSYasuyuki Kozakai the IPv4/IPv6 header DSCP field (differentiated services codepoint). 879a468701dSYasuyuki Kozakai 880a468701dSYasuyuki Kozakai The DSCP field can have any value between 0x0 and 0x3f inclusive. 881a468701dSYasuyuki Kozakai 882c9fd4968SJan Engelhardt It also adds the "TOS" target, which allows you to create rules in 883c9fd4968SJan Engelhardt the "mangle" table which alter the Type Of Service field of an IPv4 8845c350e5aSJan Engelhardt or the Priority field of an IPv6 packet, prior to routing. 885c9fd4968SJan Engelhardt 886a468701dSYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 887a468701dSYasuyuki Kozakai 888563d36ebSJan Engelhardtconfig NETFILTER_XT_TARGET_HL 889563d36ebSJan Engelhardt tristate '"HL" hoplimit target support' 890a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT 891563d36ebSJan Engelhardt depends on NETFILTER_ADVANCED 892a7f7f624SMasahiro Yamada help 893563d36ebSJan Engelhardt This option adds the "HL" (for IPv6) and "TTL" (for IPv4) 894563d36ebSJan Engelhardt targets, which enable the user to change the 895563d36ebSJan Engelhardt hoplimit/time-to-live value of the IP header. 896563d36ebSJan Engelhardt 897563d36ebSJan Engelhardt While it is safe to decrement the hoplimit/TTL value, the 898563d36ebSJan Engelhardt modules also allow to increment and set the hoplimit value of 899563d36ebSJan Engelhardt the header to arbitrary values. This is EXTREMELY DANGEROUS 900563d36ebSJan Engelhardt since you can easily create immortal packets that loop 901563d36ebSJan Engelhardt forever on the network. 902563d36ebSJan Engelhardt 903cf308a1fSHans Schillstromconfig NETFILTER_XT_TARGET_HMARK 904cf308a1fSHans Schillstrom tristate '"HMARK" target support' 905f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 906cf308a1fSHans Schillstrom depends on NETFILTER_ADVANCED 907a7f7f624SMasahiro Yamada help 908cf308a1fSHans Schillstrom This option adds the "HMARK" target. 909cf308a1fSHans Schillstrom 910cf308a1fSHans Schillstrom The target allows you to create rules in the "raw" and "mangle" tables 911cf308a1fSHans Schillstrom which set the skbuff mark by means of hash calculation within a given 912f1504307SMoritz Sichert range. The nfmark can influence the routing method and can also be used 913f1504307SMoritz Sichert by other subsystems to change their behaviour. 914cf308a1fSHans Schillstrom 915cf308a1fSHans Schillstrom To compile it as a module, choose M here. If unsure, say N. 916cf308a1fSHans Schillstrom 9170902b469SLuciano Coelhoconfig NETFILTER_XT_TARGET_IDLETIMER 9180902b469SLuciano Coelho tristate "IDLETIMER target support" 9190902b469SLuciano Coelho depends on NETFILTER_ADVANCED 9200902b469SLuciano Coelho help 9210902b469SLuciano Coelho 9220902b469SLuciano Coelho This option adds the `IDLETIMER' target. Each matching packet 9230902b469SLuciano Coelho resets the timer associated with label specified when the rule is 9240902b469SLuciano Coelho added. When the timer expires, it triggers a sysfs notification. 9250902b469SLuciano Coelho The remaining time for expiration can be read via sysfs. 9260902b469SLuciano Coelho 9270902b469SLuciano Coelho To compile it as a module, choose M here. If unsure, say N. 9280902b469SLuciano Coelho 929268cb38eSAdam Nielsenconfig NETFILTER_XT_TARGET_LED 930268cb38eSAdam Nielsen tristate '"LED" target support' 9313ae16f13SAlex Riesen depends on LEDS_CLASS && LEDS_TRIGGERS 932268cb38eSAdam Nielsen depends on NETFILTER_ADVANCED 933268cb38eSAdam Nielsen help 934268cb38eSAdam Nielsen This option adds a `LED' target, which allows you to blink LEDs in 935268cb38eSAdam Nielsen response to particular packets passing through your machine. 936268cb38eSAdam Nielsen 937268cb38eSAdam Nielsen This can be used to turn a spare LED into a network activity LED, 938268cb38eSAdam Nielsen which only flashes in response to FTP transfers, for example. Or 939268cb38eSAdam Nielsen you could have an LED which lights up for a minute or two every time 940268cb38eSAdam Nielsen somebody connects to your machine via SSH. 941268cb38eSAdam Nielsen 942268cb38eSAdam Nielsen You will need support for the "led" class to make this work. 943268cb38eSAdam Nielsen 944268cb38eSAdam Nielsen To create an LED trigger for incoming SSH traffic: 945268cb38eSAdam Nielsen iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000 946268cb38eSAdam Nielsen 947268cb38eSAdam Nielsen Then attach the new trigger to an LED on your system: 948268cb38eSAdam Nielsen echo netfilter-ssh > /sys/class/leds/<ledname>/trigger 949268cb38eSAdam Nielsen 950268cb38eSAdam Nielsen For more information on the LEDs available on your system, see 9518dab9197SMauro Carvalho Chehab Documentation/leds/leds-class.rst 952268cb38eSAdam Nielsen 9536939c33aSRichard Weinbergerconfig NETFILTER_XT_TARGET_LOG 9546939c33aSRichard Weinberger tristate "LOG target support" 955db3187aeSFlorian Westphal select NF_LOG_SYSLOG 9565d400a49SMáté Eckl select NF_LOG_IPV6 if IP6_NF_IPTABLES 9576939c33aSRichard Weinberger default m if NETFILTER_ADVANCED=n 9586939c33aSRichard Weinberger help 9596939c33aSRichard Weinberger This option adds a `LOG' target, which allows you to create rules in 9606939c33aSRichard Weinberger any iptables table which records the packet header to the syslog. 9616939c33aSRichard Weinberger 9626939c33aSRichard Weinberger To compile it as a module, choose M here. If unsure, say N. 9636939c33aSRichard Weinberger 9642e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_MARK 9652e4e6a17SHarald Welte tristate '"MARK" target support' 96628b94988SJan Engelhardt depends on NETFILTER_ADVANCED 96728b94988SJan Engelhardt select NETFILTER_XT_MARK 968a7f7f624SMasahiro Yamada help 96928b94988SJan Engelhardt This is a backwards-compat option for the user's convenience 97028b94988SJan Engelhardt (e.g. when running oldconfig). It selects 97128b94988SJan Engelhardt CONFIG_NETFILTER_XT_MARK (combined mark/MARK module). 9722e4e6a17SHarald Welte 97384a59ca5SPablo Neira Ayusoconfig NETFILTER_XT_NAT 97484a59ca5SPablo Neira Ayuso tristate '"SNAT and DNAT" targets support' 97584a59ca5SPablo Neira Ayuso depends on NF_NAT 976a7f7f624SMasahiro Yamada help 97784a59ca5SPablo Neira Ayuso This option enables the SNAT and DNAT targets. 97884a59ca5SPablo Neira Ayuso 97984a59ca5SPablo Neira Ayuso To compile it as a module, choose M here. If unsure, say N. 98084a59ca5SPablo Neira Ayuso 981b3d54b3eSJan Engelhardtconfig NETFILTER_XT_TARGET_NETMAP 982b3d54b3eSJan Engelhardt tristate '"NETMAP" target support' 983b3d54b3eSJan Engelhardt depends on NF_NAT 984a7f7f624SMasahiro Yamada help 985b3d54b3eSJan Engelhardt NETMAP is an implementation of static 1:1 NAT mapping of network 986b3d54b3eSJan Engelhardt addresses. It maps the network address part, while keeping the host 987b3d54b3eSJan Engelhardt address part intact. 988b3d54b3eSJan Engelhardt 989b3d54b3eSJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 990b3d54b3eSJan Engelhardt 991baf7b1e1SPatrick McHardyconfig NETFILTER_XT_TARGET_NFLOG 992baf7b1e1SPatrick McHardy tristate '"NFLOG" target support' 99333b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 994293a4f28SEric Leblond select NETFILTER_NETLINK_LOG 995baf7b1e1SPatrick McHardy help 996baf7b1e1SPatrick McHardy This option enables the NFLOG target, which allows to LOG 997293a4f28SEric Leblond messages through nfnetlink_log. 998baf7b1e1SPatrick McHardy 999baf7b1e1SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1000baf7b1e1SPatrick McHardy 1001aba0d348SJan Engelhardtconfig NETFILTER_XT_TARGET_NFQUEUE 1002aba0d348SJan Engelhardt tristate '"NFQUEUE" target Support' 1003aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 10045f2cafe7SFlorian Westphal select NETFILTER_NETLINK_QUEUE 1005aba0d348SJan Engelhardt help 1006aba0d348SJan Engelhardt This target replaced the old obsolete QUEUE target. 1007aba0d348SJan Engelhardt 1008aba0d348SJan Engelhardt As opposed to QUEUE, it supports 65535 different queues, 1009aba0d348SJan Engelhardt not just one. 1010aba0d348SJan Engelhardt 1011aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1012aba0d348SJan Engelhardt 101310db9069SPablo Neira Ayusoconfig NETFILTER_XT_TARGET_NOTRACK 101410db9069SPablo Neira Ayuso tristate '"NOTRACK" target support (DEPRECATED)' 1015757ae316SPablo Neira Ayuso depends on NF_CONNTRACK 1016757ae316SPablo Neira Ayuso depends on IP_NF_RAW || IP6_NF_RAW 1017757ae316SPablo Neira Ayuso depends on NETFILTER_ADVANCED 101810db9069SPablo Neira Ayuso select NETFILTER_XT_TARGET_CT 101910db9069SPablo Neira Ayuso 10205859034dSPatrick McHardyconfig NETFILTER_XT_TARGET_RATEEST 10215859034dSPatrick McHardy tristate '"RATEEST" target support' 1022b26e76b7SPatrick McHardy depends on NETFILTER_ADVANCED 10235859034dSPatrick McHardy help 10245859034dSPatrick McHardy This option adds a `RATEEST' target, which allows to measure 10255859034dSPatrick McHardy rates similar to TC estimators. The `rateest' match can be 10265859034dSPatrick McHardy used to match on the measured rates. 10275859034dSPatrick McHardy 10285859034dSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 10295859034dSPatrick McHardy 10302cbc78a2SJan Engelhardtconfig NETFILTER_XT_TARGET_REDIRECT 10312cbc78a2SJan Engelhardt tristate "REDIRECT target support" 10322cbc78a2SJan Engelhardt depends on NF_NAT 1033b59eaf9eSPablo Neira Ayuso select NF_NAT_REDIRECT 1034a7f7f624SMasahiro Yamada help 10352cbc78a2SJan Engelhardt REDIRECT is a special case of NAT: all incoming connections are 10362cbc78a2SJan Engelhardt mapped onto the incoming interface's address, causing the packets to 10372cbc78a2SJan Engelhardt come to the local machine instead of passing through. This is 10382cbc78a2SJan Engelhardt useful for transparent proxies. 10392cbc78a2SJan Engelhardt 10402cbc78a2SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 10412cbc78a2SJan Engelhardt 1042adf82accSFlorian Westphalconfig NETFILTER_XT_TARGET_MASQUERADE 1043adf82accSFlorian Westphal tristate "MASQUERADE target support" 1044adf82accSFlorian Westphal depends on NF_NAT 1045adf82accSFlorian Westphal default m if NETFILTER_ADVANCED=n 1046adf82accSFlorian Westphal select NF_NAT_MASQUERADE 1047adf82accSFlorian Westphal help 1048adf82accSFlorian Westphal Masquerading is a special case of NAT: all outgoing connections are 1049adf82accSFlorian Westphal changed to seem to come from a particular interface's address, and 1050adf82accSFlorian Westphal if the interface goes down, those connections are lost. This is 1051adf82accSFlorian Westphal only useful for dialup accounts with dynamic IP address (ie. your IP 1052adf82accSFlorian Westphal address will be different on next dialup). 1053adf82accSFlorian Westphal 1054adf82accSFlorian Westphal To compile it as a module, choose M here. If unsure, say N. 1055adf82accSFlorian Westphal 1056e281b198SJan Engelhardtconfig NETFILTER_XT_TARGET_TEE 1057fe6fb552SArnd Hannemann tristate '"TEE" - packet cloning to alternate destination' 1058e281b198SJan Engelhardt depends on NETFILTER_ADVANCED 105983827f6aSRandy Dunlap depends on !NF_CONNTRACK || NF_CONNTRACK 1060d1fa3810SArnd Bergmann depends on IP6_NF_IPTABLES || !IP6_NF_IPTABLES 1061bbde9fc1SPablo Neira Ayuso select NF_DUP_IPV4 10625d400a49SMáté Eckl select NF_DUP_IPV6 if IP6_NF_IPTABLES 1063a7f7f624SMasahiro Yamada help 1064e281b198SJan Engelhardt This option adds a "TEE" target with which a packet can be cloned and 1065e281b198SJan Engelhardt this clone be rerouted to another nexthop. 1066e281b198SJan Engelhardt 1067e8439270SKOVACS Krisztianconfig NETFILTER_XT_TARGET_TPROXY 1068fd158d79SFlorian Westphal tristate '"TPROXY" target transparent proxying support' 1069e8439270SKOVACS Krisztian depends on NETFILTER_XTABLES 1070e8439270SKOVACS Krisztian depends on NETFILTER_ADVANCED 1071f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 1072a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || NFT_COMPAT 1073e8439270SKOVACS Krisztian select NF_DEFRAG_IPV4 107474ec4d55SArnd Bergmann select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n 107545ca4e0cSMáté Eckl select NF_TPROXY_IPV4 107645ca4e0cSMáté Eckl select NF_TPROXY_IPV6 if IP6_NF_IPTABLES 1077e8439270SKOVACS Krisztian help 1078e8439270SKOVACS Krisztian This option adds a `TPROXY' target, which is somewhat similar to 1079e8439270SKOVACS Krisztian REDIRECT. It can only be used in the mangle table and is useful 1080e8439270SKOVACS Krisztian to redirect traffic to a transparent proxy. It does _not_ depend 1081e8439270SKOVACS Krisztian on Netfilter connection tracking and NAT, unlike REDIRECT. 1082fd158d79SFlorian Westphal For it to work you will have to configure certain iptables rules 1083fd158d79SFlorian Westphal and use policy routing. For more information on how to set it up 10844ac0b122SMauro Carvalho Chehab see Documentation/networking/tproxy.rst. 1085e8439270SKOVACS Krisztian 1086e8439270SKOVACS Krisztian To compile it as a module, choose M here. If unsure, say N. 1087e8439270SKOVACS Krisztian 1088ba9dda3aSJozsef Kadlecsikconfig NETFILTER_XT_TARGET_TRACE 1089ba9dda3aSJozsef Kadlecsik tristate '"TRACE" target support' 1090ba9dda3aSJozsef Kadlecsik depends on IP_NF_RAW || IP6_NF_RAW 109133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1092ba9dda3aSJozsef Kadlecsik help 1093ba9dda3aSJozsef Kadlecsik The TRACE target allows you to mark packets so that the kernel 1094ba9dda3aSJozsef Kadlecsik will log every rule which match the packets as those traverse 1095ba9dda3aSJozsef Kadlecsik the tables, chains, rules. 1096ba9dda3aSJozsef Kadlecsik 1097ba9dda3aSJozsef Kadlecsik If you want to compile it as a module, say M here and read 1098cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 1099ba9dda3aSJozsef Kadlecsik 11005e6874cdSJames Morrisconfig NETFILTER_XT_TARGET_SECMARK 11015e6874cdSJames Morris tristate '"SECMARK" target support' 1102c2df73deSJan Engelhardt depends on NETWORK_SECMARK 110333b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 11045e6874cdSJames Morris help 11055e6874cdSJames Morris The SECMARK target allows security marking of network 11065e6874cdSJames Morris packets, for use with security subsystems. 11075e6874cdSJames Morris 11085e6874cdSJames Morris To compile it as a module, choose M here. If unsure, say N. 11095e6874cdSJames Morris 1110cdd289a2SPatrick McHardyconfig NETFILTER_XT_TARGET_TCPMSS 1111cdd289a2SPatrick McHardy tristate '"TCPMSS" target support' 111233b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 1113a7f7f624SMasahiro Yamada help 1114cdd289a2SPatrick McHardy This option adds a `TCPMSS' target, which allows you to alter the 1115cdd289a2SPatrick McHardy MSS value of TCP SYN packets, to control the maximum size for that 1116cdd289a2SPatrick McHardy connection (usually limiting it to your outgoing interface's MTU 1117cdd289a2SPatrick McHardy minus 40). 1118cdd289a2SPatrick McHardy 1119cdd289a2SPatrick McHardy This is used to overcome criminally braindead ISPs or servers which 1120cdd289a2SPatrick McHardy block ICMP Fragmentation Needed packets. The symptoms of this 1121cdd289a2SPatrick McHardy problem are that everything works fine from your Linux 1122cdd289a2SPatrick McHardy firewall/router, but machines behind it can never exchange large 1123cdd289a2SPatrick McHardy packets: 1124cdd289a2SPatrick McHardy 1) Web browsers connect, then hang with no data received. 1125cdd289a2SPatrick McHardy 2) Small mail works fine, but large emails hang. 1126cdd289a2SPatrick McHardy 3) ssh works fine, but scp hangs after initial handshaking. 1127cdd289a2SPatrick McHardy 1128cdd289a2SPatrick McHardy Workaround: activate this option and add a rule to your firewall 1129cdd289a2SPatrick McHardy configuration like: 1130cdd289a2SPatrick McHardy 1131cdd289a2SPatrick McHardy iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ 1132cdd289a2SPatrick McHardy -j TCPMSS --clamp-mss-to-pmtu 1133cdd289a2SPatrick McHardy 1134cdd289a2SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1135cdd289a2SPatrick McHardy 1136338e8a79SSven Schnelleconfig NETFILTER_XT_TARGET_TCPOPTSTRIP 1137663ef0d1SKees Cook tristate '"TCPOPTSTRIP" target support' 1138a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT 113933b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1140338e8a79SSven Schnelle help 1141338e8a79SSven Schnelle This option adds a "TCPOPTSTRIP" target, which allows you to strip 1142338e8a79SSven Schnelle TCP options from TCP packets. 1143338e8a79SSven Schnelle 114444c58731SJan Engelhardt# alphabetically ordered list of matches 114544c58731SJan Engelhardt 114644c58731SJan Engelhardtcomment "Xtables matches" 114744c58731SJan Engelhardt 1148de81bbeaSFlorian Westphalconfig NETFILTER_XT_MATCH_ADDRTYPE 1149de81bbeaSFlorian Westphal tristate '"addrtype" address type match support' 11505cca4aceSAnton Blanchard default m if NETFILTER_ADVANCED=n 1151a7f7f624SMasahiro Yamada help 1152de81bbeaSFlorian Westphal This option allows you to match what routing thinks of an address, 1153de81bbeaSFlorian Westphal eg. UNICAST, LOCAL, BROADCAST, ... 1154de81bbeaSFlorian Westphal 1155de81bbeaSFlorian Westphal If you want to compile it as a module, say M here and read 1156cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 1157de81bbeaSFlorian Westphal 1158e6f30c73SWillem de Bruijnconfig NETFILTER_XT_MATCH_BPF 1159e6f30c73SWillem de Bruijn tristate '"bpf" match support' 1160e6f30c73SWillem de Bruijn depends on NETFILTER_ADVANCED 1161e6f30c73SWillem de Bruijn help 1162e6f30c73SWillem de Bruijn BPF matching applies a linux socket filter to each packet and 1163e6f30c73SWillem de Bruijn accepts those for which the filter returns non-zero. 1164e6f30c73SWillem de Bruijn 1165e6f30c73SWillem de Bruijn To compile it as a module, choose M here. If unsure, say N. 1166e6f30c73SWillem de Bruijn 116782a37132SDaniel Borkmannconfig NETFILTER_XT_MATCH_CGROUP 116882a37132SDaniel Borkmann tristate '"control group" match support' 116982a37132SDaniel Borkmann depends on NETFILTER_ADVANCED 117082a37132SDaniel Borkmann depends on CGROUPS 11713ba0032aSMichal Koutný select SOCK_CGROUP_DATA 1172a7f7f624SMasahiro Yamada help 117382a37132SDaniel Borkmann Socket/process control group matching allows you to match locally 117482a37132SDaniel Borkmann generated packets based on which net_cls control group processes 117582a37132SDaniel Borkmann belong to. 117682a37132SDaniel Borkmann 11770269ea49SPablo Neira Ayusoconfig NETFILTER_XT_MATCH_CLUSTER 11780269ea49SPablo Neira Ayuso tristate '"cluster" match support' 11790269ea49SPablo Neira Ayuso depends on NF_CONNTRACK 11800269ea49SPablo Neira Ayuso depends on NETFILTER_ADVANCED 1181a7f7f624SMasahiro Yamada help 11820269ea49SPablo Neira Ayuso This option allows you to build work-load-sharing clusters of 11830269ea49SPablo Neira Ayuso network servers/stateful firewalls without having a dedicated 11840269ea49SPablo Neira Ayuso load-balancing router/server/switch. Basically, this match returns 11850269ea49SPablo Neira Ayuso true when the packet must be handled by this cluster node. Thus, 11860269ea49SPablo Neira Ayuso all nodes see all packets and this match decides which node handles 11870269ea49SPablo Neira Ayuso what packets. The work-load sharing algorithm is based on source 11880269ea49SPablo Neira Ayuso address hashing. 11890269ea49SPablo Neira Ayuso 11900269ea49SPablo Neira Ayuso If you say Y or M here, try `iptables -m cluster --help` for 11910269ea49SPablo Neira Ayuso more information. 11920269ea49SPablo Neira Ayuso 11932e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_COMMENT 11942e4e6a17SHarald Welte tristate '"comment" match support' 119533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 11962e4e6a17SHarald Welte help 11972e4e6a17SHarald Welte This option adds a `comment' dummy-match, which allows you to put 11982e4e6a17SHarald Welte comments in your iptables ruleset. 11992e4e6a17SHarald Welte 12002e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1201cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12022e4e6a17SHarald Welte 12032e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNBYTES 12042e4e6a17SHarald Welte tristate '"connbytes" per-connection counter match support' 1205587aa641SPatrick McHardy depends on NF_CONNTRACK 120633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 12072e4e6a17SHarald Welte help 12082e4e6a17SHarald Welte This option adds a `connbytes' match, which allows you to match the 12092e4e6a17SHarald Welte number of bytes and/or packets for each direction within a connection. 12102e4e6a17SHarald Welte 12112e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1212cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12132e4e6a17SHarald Welte 1214c539f017SFlorian Westphalconfig NETFILTER_XT_MATCH_CONNLABEL 1215c539f017SFlorian Westphal tristate '"connlabel" match support' 1216c539f017SFlorian Westphal select NF_CONNTRACK_LABELS 121735612a22SFlorian Westphal depends on NF_CONNTRACK 1218c539f017SFlorian Westphal depends on NETFILTER_ADVANCED 1219a7f7f624SMasahiro Yamada help 1220c539f017SFlorian Westphal This match allows you to test and assign userspace-defined labels names 1221c539f017SFlorian Westphal to a connection. The kernel only stores bit values - mapping 1222c539f017SFlorian Westphal names to bits is done by userspace. 1223c539f017SFlorian Westphal 1224c539f017SFlorian Westphal Unlike connmark, more than 32 flag bits may be assigned to a 1225c539f017SFlorian Westphal connection simultaneously. 1226c539f017SFlorian Westphal 1227370786f9SJan Engelhardtconfig NETFILTER_XT_MATCH_CONNLIMIT 122848192248SRandy Dunlap tristate '"connlimit" match support' 12293fd8f9e4SCornelia Huck depends on NF_CONNTRACK 123033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1231625c5561SFlorian Westphal select NETFILTER_CONNCOUNT 1232a7f7f624SMasahiro Yamada help 1233370786f9SJan Engelhardt This match allows you to match against the number of parallel 1234370786f9SJan Engelhardt connections to a server per client IP address (or address block). 1235370786f9SJan Engelhardt 12362e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNMARK 12372e4e6a17SHarald Welte tristate '"connmark" connection mark match support' 1238587aa641SPatrick McHardy depends on NF_CONNTRACK 123933b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1240b8f00ba2SJan Engelhardt select NETFILTER_XT_CONNMARK 1241a7f7f624SMasahiro Yamada help 1242b8f00ba2SJan Engelhardt This is a backwards-compat option for the user's convenience 1243b8f00ba2SJan Engelhardt (e.g. when running oldconfig). It selects 1244b8f00ba2SJan Engelhardt CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module). 12452e4e6a17SHarald Welte 12462e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNTRACK 12472e4e6a17SHarald Welte tristate '"conntrack" connection tracking match support' 1248587aa641SPatrick McHardy depends on NF_CONNTRACK 124933b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 12502e4e6a17SHarald Welte help 12512e4e6a17SHarald Welte This is a general conntrack match module, a superset of the state match. 12522e4e6a17SHarald Welte 12532e4e6a17SHarald Welte It allows matching on additional conntrack information, which is 12542e4e6a17SHarald Welte useful in complex configurations, such as NAT gateways with multiple 12552e4e6a17SHarald Welte internet links or tunnels. 12562e4e6a17SHarald Welte 12572e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 12582e4e6a17SHarald Welte 1259e8648a1fSEric Dumazetconfig NETFILTER_XT_MATCH_CPU 1260e8648a1fSEric Dumazet tristate '"cpu" match support' 1261e8648a1fSEric Dumazet depends on NETFILTER_ADVANCED 1262e8648a1fSEric Dumazet help 1263e8648a1fSEric Dumazet CPU matching allows you to match packets based on the CPU 1264e8648a1fSEric Dumazet currently handling the packet. 1265e8648a1fSEric Dumazet 1266e8648a1fSEric Dumazet To compile it as a module, choose M here. If unsure, say N. 1267e8648a1fSEric Dumazet 12682e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_DCCP 1269fd72f265SPablo Neira Ayuso tristate '"dccp" protocol match support (DEPRECATED)' 127033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1271fd72f265SPablo Neira Ayuso default n 12722e4e6a17SHarald Welte help 12732e4e6a17SHarald Welte With this option enabled, you will be able to use the iptables 12742e4e6a17SHarald Welte `dccp' match in order to match on DCCP source/destination ports 12752e4e6a17SHarald Welte and DCCP flags. 12762e4e6a17SHarald Welte 12772e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1278cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12792e4e6a17SHarald Welte 12809291747fSPatrick McHardyconfig NETFILTER_XT_MATCH_DEVGROUP 12819291747fSPatrick McHardy tristate '"devgroup" match support' 12829291747fSPatrick McHardy depends on NETFILTER_ADVANCED 12839291747fSPatrick McHardy help 12849291747fSPatrick McHardy This options adds a `devgroup' match, which allows to match on the 12859291747fSPatrick McHardy device group a network device is assigned to. 12869291747fSPatrick McHardy 12879291747fSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 12889291747fSPatrick McHardy 12899ba16276SYasuyuki Kozakaiconfig NETFILTER_XT_MATCH_DSCP 1290c3b33e6aSJan Engelhardt tristate '"dscp" and "tos" match support' 129133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 12929ba16276SYasuyuki Kozakai help 12939ba16276SYasuyuki Kozakai This option adds a `DSCP' match, which allows you to match against 12949ba16276SYasuyuki Kozakai the IPv4/IPv6 header DSCP field (differentiated services codepoint). 12959ba16276SYasuyuki Kozakai 12969ba16276SYasuyuki Kozakai The DSCP field can have any value between 0x0 and 0x3f inclusive. 12979ba16276SYasuyuki Kozakai 1298c3b33e6aSJan Engelhardt It will also add a "tos" match, which allows you to match packets 1299c3b33e6aSJan Engelhardt based on the Type Of Service fields of the IPv4 packet (which share 1300c3b33e6aSJan Engelhardt the same bits as DSCP). 1301c3b33e6aSJan Engelhardt 13029ba16276SYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 13039ba16276SYasuyuki Kozakai 1304d446a820SJan Engelhardtconfig NETFILTER_XT_MATCH_ECN 1305d446a820SJan Engelhardt tristate '"ecn" match support' 1306d446a820SJan Engelhardt depends on NETFILTER_ADVANCED 1307a7f7f624SMasahiro Yamada help 1308d446a820SJan Engelhardt This option adds an "ECN" match, which allows you to match against 1309d446a820SJan Engelhardt the IPv4 and TCP header ECN fields. 1310d446a820SJan Engelhardt 1311d446a820SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1312d446a820SJan Engelhardt 1313dc5ab2faSYasuyuki Kozakaiconfig NETFILTER_XT_MATCH_ESP 13144c37799cSJan Engelhardt tristate '"esp" match support' 131533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1316dc5ab2faSYasuyuki Kozakai help 1317dc5ab2faSYasuyuki Kozakai This match extension allows you to match a range of SPIs 1318dc5ab2faSYasuyuki Kozakai inside ESP header of IPSec packets. 1319dc5ab2faSYasuyuki Kozakai 1320dc5ab2faSYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 1321dc5ab2faSYasuyuki Kozakai 1322aba0d348SJan Engelhardtconfig NETFILTER_XT_MATCH_HASHLIMIT 1323aba0d348SJan Engelhardt tristate '"hashlimit" match support' 1324f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 1325aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 1326aba0d348SJan Engelhardt help 1327aba0d348SJan Engelhardt This option adds a `hashlimit' match. 1328aba0d348SJan Engelhardt 1329aba0d348SJan Engelhardt As opposed to `limit', this match dynamically creates a hash table 1330aba0d348SJan Engelhardt of limit buckets, based on your selection of source/destination 1331aba0d348SJan Engelhardt addresses and/or ports. 1332aba0d348SJan Engelhardt 1333aba0d348SJan Engelhardt It enables you to express policies like `10kpps for any given 1334aba0d348SJan Engelhardt destination address' or `500pps from any given source address' 1335aba0d348SJan Engelhardt with a single rule. 1336aba0d348SJan Engelhardt 13372e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_HELPER 13382e4e6a17SHarald Welte tristate '"helper" match support' 1339587aa641SPatrick McHardy depends on NF_CONNTRACK 134033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 13412e4e6a17SHarald Welte help 13422e4e6a17SHarald Welte Helper matching allows you to match packets in dynamic connections 134305ba4c89SYonatan Goldschmidt tracked by a conntrack-helper, ie. nf_conntrack_ftp 13442e4e6a17SHarald Welte 13452e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say Y. 13462e4e6a17SHarald Welte 1347cfac5ef7SJan Engelhardtconfig NETFILTER_XT_MATCH_HL 1348cfac5ef7SJan Engelhardt tristate '"hl" hoplimit/TTL match support' 1349cfac5ef7SJan Engelhardt depends on NETFILTER_ADVANCED 1350a7f7f624SMasahiro Yamada help 1351cfac5ef7SJan Engelhardt HL matching allows you to match packets based on the hoplimit 1352cfac5ef7SJan Engelhardt in the IPv6 header, or the time-to-live field in the IPv4 1353cfac5ef7SJan Engelhardt header of the packet. 1354cfac5ef7SJan Engelhardt 13556a649f33Sfan.duconfig NETFILTER_XT_MATCH_IPCOMP 13566a649f33Sfan.du tristate '"ipcomp" match support' 13576a649f33Sfan.du depends on NETFILTER_ADVANCED 13586a649f33Sfan.du help 13596a649f33Sfan.du This match extension allows you to match a range of CPIs(16 bits) 13606a649f33Sfan.du inside IPComp header of IPSec packets. 13616a649f33Sfan.du 13626a649f33Sfan.du To compile it as a module, choose M here. If unsure, say N. 13636a649f33Sfan.du 1364f72e25a8SJan Engelhardtconfig NETFILTER_XT_MATCH_IPRANGE 1365f72e25a8SJan Engelhardt tristate '"iprange" address range match support' 1366f72e25a8SJan Engelhardt depends on NETFILTER_ADVANCED 1367a7f7f624SMasahiro Yamada help 1368f72e25a8SJan Engelhardt This option adds a "iprange" match, which allows you to match based on 1369f72e25a8SJan Engelhardt an IP address range. (Normal iptables only matches on single addresses 1370f72e25a8SJan Engelhardt with an optional mask.) 1371f72e25a8SJan Engelhardt 1372f72e25a8SJan Engelhardt If unsure, say M. 1373f72e25a8SJan Engelhardt 13749c3e1c39SHannes Ederconfig NETFILTER_XT_MATCH_IPVS 13759c3e1c39SHannes Eder tristate '"ipvs" match support' 13769c3e1c39SHannes Eder depends on IP_VS 13779c3e1c39SHannes Eder depends on NETFILTER_ADVANCED 13789c3e1c39SHannes Eder depends on NF_CONNTRACK 13799c3e1c39SHannes Eder help 13809c3e1c39SHannes Eder This option allows you to match against IPVS properties of a packet. 13819c3e1c39SHannes Eder 13829c3e1c39SHannes Eder If unsure, say N. 13839c3e1c39SHannes Eder 138474f77a6bSJames Chapmanconfig NETFILTER_XT_MATCH_L2TP 138574f77a6bSJames Chapman tristate '"l2tp" match support' 138674f77a6bSJames Chapman depends on NETFILTER_ADVANCED 138774f77a6bSJames Chapman default L2TP 1388a7f7f624SMasahiro Yamada help 138974f77a6bSJames Chapman This option adds an "L2TP" match, which allows you to match against 139074f77a6bSJames Chapman L2TP protocol header fields. 139174f77a6bSJames Chapman 139274f77a6bSJames Chapman To compile it as a module, choose M here. If unsure, say N. 139374f77a6bSJames Chapman 13942e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_LENGTH 13952e4e6a17SHarald Welte tristate '"length" match support' 139633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 13972e4e6a17SHarald Welte help 13982e4e6a17SHarald Welte This option allows you to match the length of a packet against a 13992e4e6a17SHarald Welte specific value or range of values. 14002e4e6a17SHarald Welte 14012e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14022e4e6a17SHarald Welte 14032e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_LIMIT 14042e4e6a17SHarald Welte tristate '"limit" match support' 140533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14062e4e6a17SHarald Welte help 14072e4e6a17SHarald Welte limit matching allows you to control the rate at which a rule can be 14082e4e6a17SHarald Welte matched: mainly useful in combination with the LOG target ("LOG 14092e4e6a17SHarald Welte target support", below) and to avoid some Denial of Service attacks. 14102e4e6a17SHarald Welte 14112e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14122e4e6a17SHarald Welte 14132e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_MAC 14142e4e6a17SHarald Welte tristate '"mac" address match support' 141533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14162e4e6a17SHarald Welte help 14172e4e6a17SHarald Welte MAC matching allows you to match packets based on the source 14182e4e6a17SHarald Welte Ethernet address of the packet. 14192e4e6a17SHarald Welte 14202e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14212e4e6a17SHarald Welte 14222e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_MARK 14232e4e6a17SHarald Welte tristate '"mark" match support' 142428b94988SJan Engelhardt depends on NETFILTER_ADVANCED 142528b94988SJan Engelhardt select NETFILTER_XT_MARK 1426a7f7f624SMasahiro Yamada help 142728b94988SJan Engelhardt This is a backwards-compat option for the user's convenience 142828b94988SJan Engelhardt (e.g. when running oldconfig). It selects 142928b94988SJan Engelhardt CONFIG_NETFILTER_XT_MARK (combined mark/MARK module). 14302e4e6a17SHarald Welte 1431aba0d348SJan Engelhardtconfig NETFILTER_XT_MATCH_MULTIPORT 1432aba0d348SJan Engelhardt tristate '"multiport" Multiple port match support' 1433aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 1434aba0d348SJan Engelhardt help 1435aba0d348SJan Engelhardt Multiport matching allows you to match TCP or UDP packets based on 1436aba0d348SJan Engelhardt a series of source or destination ports: normally a rule can only 1437aba0d348SJan Engelhardt match a single range of ports. 1438aba0d348SJan Engelhardt 1439aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1440aba0d348SJan Engelhardt 1441ceb98d03SPablo Neira Ayusoconfig NETFILTER_XT_MATCH_NFACCT 1442ceb98d03SPablo Neira Ayuso tristate '"nfacct" match support' 1443bc94b521SPablo Neira Ayuso depends on NETFILTER_ADVANCED 1444ceb98d03SPablo Neira Ayuso select NETFILTER_NETLINK_ACCT 1445ceb98d03SPablo Neira Ayuso help 1446ceb98d03SPablo Neira Ayuso This option allows you to use the extended accounting through 1447ceb98d03SPablo Neira Ayuso nfnetlink_acct. 1448ceb98d03SPablo Neira Ayuso 1449ceb98d03SPablo Neira Ayuso To compile it as a module, choose M here. If unsure, say N. 1450ceb98d03SPablo Neira Ayuso 1451115bc8f2SJan Engelhardtconfig NETFILTER_XT_MATCH_OSF 1452115bc8f2SJan Engelhardt tristate '"osf" Passive OS fingerprint match' 1453f6b7b5f4SFernando Fernandez Mancera depends on NETFILTER_ADVANCED 1454f6b7b5f4SFernando Fernandez Mancera select NETFILTER_NETLINK_OSF 1455115bc8f2SJan Engelhardt help 1456115bc8f2SJan Engelhardt This option selects the Passive OS Fingerprinting match module 1457115bc8f2SJan Engelhardt that allows to passively match the remote operating system by 1458115bc8f2SJan Engelhardt analyzing incoming TCP SYN packets. 1459115bc8f2SJan Engelhardt 1460115bc8f2SJan Engelhardt Rules and loading software can be downloaded from 1461115bc8f2SJan Engelhardt http://www.ioremap.net/projects/osf 1462115bc8f2SJan Engelhardt 1463115bc8f2SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1464115bc8f2SJan Engelhardt 14650265ab44SJan Engelhardtconfig NETFILTER_XT_MATCH_OWNER 14660265ab44SJan Engelhardt tristate '"owner" match support' 146733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1468a7f7f624SMasahiro Yamada help 14690265ab44SJan Engelhardt Socket owner matching allows you to match locally-generated packets 14700265ab44SJan Engelhardt based on who created the socket: the user or group. It is also 14710265ab44SJan Engelhardt possible to check whether a socket actually exists. 14720265ab44SJan Engelhardt 1473c4b88513SPatrick McHardyconfig NETFILTER_XT_MATCH_POLICY 1474c4b88513SPatrick McHardy tristate 'IPsec "policy" match support' 1475c2df73deSJan Engelhardt depends on XFRM 147633b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 1477c4b88513SPatrick McHardy help 1478c4b88513SPatrick McHardy Policy matching allows you to match packets based on the 1479c4b88513SPatrick McHardy IPsec policy that was used during decapsulation/will 1480c4b88513SPatrick McHardy be used during encapsulation. 1481c4b88513SPatrick McHardy 1482c4b88513SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1483c4b88513SPatrick McHardy 14842e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_PHYSDEV 14852e4e6a17SHarald Welte tristate '"physdev" match support' 1486c2df73deSJan Engelhardt depends on BRIDGE && BRIDGE_NETFILTER 148733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14882e4e6a17SHarald Welte help 14892e4e6a17SHarald Welte Physdev packet matching matches against the physical bridge ports 14902e4e6a17SHarald Welte the IP packet arrived on or will leave by. 14912e4e6a17SHarald Welte 14922e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14932e4e6a17SHarald Welte 14942e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_PKTTYPE 14952e4e6a17SHarald Welte tristate '"pkttype" packet type match support' 149633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14972e4e6a17SHarald Welte help 14982e4e6a17SHarald Welte Packet type matching allows you to match a packet by 14992e4e6a17SHarald Welte its "class", eg. BROADCAST, MULTICAST, ... 15002e4e6a17SHarald Welte 15012e4e6a17SHarald Welte Typical usage: 15022e4e6a17SHarald Welte iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG 15032e4e6a17SHarald Welte 15042e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 15052e4e6a17SHarald Welte 150662b77434SPatrick McHardyconfig NETFILTER_XT_MATCH_QUOTA 150762b77434SPatrick McHardy tristate '"quota" match support' 150833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 150962b77434SPatrick McHardy help 151062b77434SPatrick McHardy This option adds a `quota' match, which allows to match on a 151162b77434SPatrick McHardy byte counter. 151262b77434SPatrick McHardy 151362b77434SPatrick McHardy If you want to compile it as a module, say M here and read 1514cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 151562b77434SPatrick McHardy 151650c164a8SPatrick McHardyconfig NETFILTER_XT_MATCH_RATEEST 151750c164a8SPatrick McHardy tristate '"rateest" match support' 1518b26e76b7SPatrick McHardy depends on NETFILTER_ADVANCED 151950c164a8SPatrick McHardy select NETFILTER_XT_TARGET_RATEEST 152050c164a8SPatrick McHardy help 152150c164a8SPatrick McHardy This option adds a `rateest' match, which allows to match on the 152250c164a8SPatrick McHardy rate estimated by the RATEEST target. 152350c164a8SPatrick McHardy 152450c164a8SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 152550c164a8SPatrick McHardy 15262e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_REALM 15272e4e6a17SHarald Welte tristate '"realm" match support' 152833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1529c7066f70SPatrick McHardy select IP_ROUTE_CLASSID 15302e4e6a17SHarald Welte help 15312e4e6a17SHarald Welte This option adds a `realm' match, which allows you to use the realm 15322e4e6a17SHarald Welte key from the routing subsystem inside iptables. 15332e4e6a17SHarald Welte 15342e4e6a17SHarald Welte This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 15352e4e6a17SHarald Welte in tc world. 15362e4e6a17SHarald Welte 15372e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1538cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 15392e4e6a17SHarald Welte 1540e948b20aSJan Engelhardtconfig NETFILTER_XT_MATCH_RECENT 1541e948b20aSJan Engelhardt tristate '"recent" match support' 1542e948b20aSJan Engelhardt depends on NETFILTER_ADVANCED 1543a7f7f624SMasahiro Yamada help 1544e948b20aSJan Engelhardt This match is used for creating one or many lists of recently 1545e948b20aSJan Engelhardt used addresses and then matching against that/those list(s). 1546e948b20aSJan Engelhardt 1547e948b20aSJan Engelhardt Short options are available by using 'iptables -m recent -h' 1548e948b20aSJan Engelhardt Official Website: <http://snowman.net/projects/ipt_recent/> 1549e948b20aSJan Engelhardt 15502e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_SCTP 1551663ef0d1SKees Cook tristate '"sctp" protocol match support' 155233b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1553f3261affSPatrick McHardy default IP_SCTP 15542e4e6a17SHarald Welte help 15552e4e6a17SHarald Welte With this option enabled, you will be able to use the 15562e4e6a17SHarald Welte `sctp' match in order to match on SCTP source/destination ports 15572e4e6a17SHarald Welte and SCTP chunk types. 15582e4e6a17SHarald Welte 15592e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1560cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 15612e4e6a17SHarald Welte 1562136cdc71SKOVACS Krisztianconfig NETFILTER_XT_MATCH_SOCKET 1563663ef0d1SKees Cook tristate '"socket" match support' 1564136cdc71SKOVACS Krisztian depends on NETFILTER_XTABLES 1565136cdc71SKOVACS Krisztian depends on NETFILTER_ADVANCED 1566f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 15677414d929SMáté Eckl select NF_SOCKET_IPV4 15687414d929SMáté Eckl select NF_SOCKET_IPV6 if IP6_NF_IPTABLES 1569136cdc71SKOVACS Krisztian select NF_DEFRAG_IPV4 157074ec4d55SArnd Bergmann select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n 1571136cdc71SKOVACS Krisztian help 1572136cdc71SKOVACS Krisztian This option adds a `socket' match, which can be used to match 1573136cdc71SKOVACS Krisztian packets for which a TCP or UDP socket lookup finds a valid socket. 1574136cdc71SKOVACS Krisztian It can be used in combination with the MARK target and policy 1575136cdc71SKOVACS Krisztian routing to implement full featured non-locally bound sockets. 1576136cdc71SKOVACS Krisztian 1577136cdc71SKOVACS Krisztian To compile it as a module, choose M here. If unsure, say N. 1578136cdc71SKOVACS Krisztian 15792e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_STATE 15802e4e6a17SHarald Welte tristate '"state" match support' 1581587aa641SPatrick McHardy depends on NF_CONNTRACK 158233b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 15832e4e6a17SHarald Welte help 15842e4e6a17SHarald Welte Connection state matching allows you to match packets based on their 15852e4e6a17SHarald Welte relationship to a tracked connection (ie. previous packets). This 15862e4e6a17SHarald Welte is a powerful tool for packet classification. 15872e4e6a17SHarald Welte 15882e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 15892e4e6a17SHarald Welte 1590f3389805SPatrick McHardyconfig NETFILTER_XT_MATCH_STATISTIC 1591f3389805SPatrick McHardy tristate '"statistic" match support' 159233b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1593f3389805SPatrick McHardy help 159468c1692eSPatrick McHardy This option adds a `statistic' match, which allows you to match 159568c1692eSPatrick McHardy on packets periodically or randomly with a given percentage. 159668c1692eSPatrick McHardy 159768c1692eSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1598f3389805SPatrick McHardy 15992e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_STRING 16002e4e6a17SHarald Welte tristate '"string" match support' 160133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 16022e4e6a17SHarald Welte select TEXTSEARCH 16032e4e6a17SHarald Welte select TEXTSEARCH_KMP 16042e4e6a17SHarald Welte select TEXTSEARCH_BM 16052e4e6a17SHarald Welte select TEXTSEARCH_FSM 16062e4e6a17SHarald Welte help 16072e4e6a17SHarald Welte This option adds a `string' match, which allows you to look for 16082e4e6a17SHarald Welte pattern matchings in packets. 16092e4e6a17SHarald Welte 16102e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 16112e4e6a17SHarald Welte 16122e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_TCPMSS 16132e4e6a17SHarald Welte tristate '"tcpmss" match support' 161433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 16152e4e6a17SHarald Welte help 16162e4e6a17SHarald Welte This option adds a `tcpmss' match, which allows you to examine the 16172e4e6a17SHarald Welte MSS value of TCP SYN packets, which control the maximum packet size 16182e4e6a17SHarald Welte for that connection. 16192e4e6a17SHarald Welte 16202e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 16212e4e6a17SHarald Welte 1622ee4411a1SJan Engelhardtconfig NETFILTER_XT_MATCH_TIME 1623ee4411a1SJan Engelhardt tristate '"time" match support' 162433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1625a7f7f624SMasahiro Yamada help 1626ee4411a1SJan Engelhardt This option adds a "time" match, which allows you to match based on 1627ee4411a1SJan Engelhardt the packet arrival time (at the machine which netfilter is running) 1628ee4411a1SJan Engelhardt on) or departure time/date (for locally generated packets). 1629ee4411a1SJan Engelhardt 1630ee4411a1SJan Engelhardt If you say Y here, try `iptables -m time --help` for 1631ee4411a1SJan Engelhardt more information. 1632ee4411a1SJan Engelhardt 1633ee4411a1SJan Engelhardt If you want to compile it as a module, say M here. 1634ee4411a1SJan Engelhardt If unsure, say N. 1635ee4411a1SJan Engelhardt 16361b50b8a3SJan Engelhardtconfig NETFILTER_XT_MATCH_U32 16371b50b8a3SJan Engelhardt tristate '"u32" match support' 163833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1639a7f7f624SMasahiro Yamada help 16401b50b8a3SJan Engelhardt u32 allows you to extract quantities of up to 4 bytes from a packet, 16411b50b8a3SJan Engelhardt AND them with specified masks, shift them by specified amounts and 16421b50b8a3SJan Engelhardt test whether the results are in any of a set of specified ranges. 16431b50b8a3SJan Engelhardt The specification of what to extract is general enough to skip over 16441b50b8a3SJan Engelhardt headers with lengths stored in the packet, as in IP or TCP header 16451b50b8a3SJan Engelhardt lengths. 16461b50b8a3SJan Engelhardt 16471b50b8a3SJan Engelhardt Details and examples are in the kernel module source. 16481b50b8a3SJan Engelhardt 1649c2df73deSJan Engelhardtendif # NETFILTER_XTABLES 1650a6c1cd57SHarald Welte 1651c2df73deSJan Engelhardtendmenu 1652f9e815b3SHarald Welte 1653a7b4f989SJozsef Kadlecsiksource "net/netfilter/ipset/Kconfig" 1654a7b4f989SJozsef Kadlecsik 1655cb7f6a7bSJulius Volzsource "net/netfilter/ipvs/Kconfig" 1656