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 21259eecdfbSPatrick McHardyconfig NF_CT_PROTO_UDPLITE 2139b91c96cSDavide Caratti bool 'UDP-Lite protocol connection tracking support' 21433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 2159b91c96cSDavide Caratti default y 21659eecdfbSPatrick McHardy help 21759eecdfbSPatrick McHardy With this option enabled, the layer 3 independent connection 21859eecdfbSPatrick McHardy tracking code will be able to do state tracking on UDP-Lite 21959eecdfbSPatrick McHardy connections. 22059eecdfbSPatrick McHardy 2219b91c96cSDavide Caratti If unsure, say Y. 22259eecdfbSPatrick McHardy 22316958900SPatrick McHardyconfig NF_CONNTRACK_AMANDA 224c9386cfdSPatrick McHardy tristate "Amanda backup protocol support" 22533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 22616958900SPatrick McHardy select TEXTSEARCH 22716958900SPatrick McHardy select TEXTSEARCH_KMP 22816958900SPatrick McHardy help 22916958900SPatrick McHardy If you are running the Amanda backup package <http://www.amanda.org/> 23016958900SPatrick McHardy on this machine or machines that will be MASQUERADED through this 23116958900SPatrick McHardy machine, then you may want to enable this feature. This allows the 23216958900SPatrick McHardy connection tracking and natting code to allow the sub-channels that 23316958900SPatrick McHardy Amanda requires for communication of the backup data, messages and 23416958900SPatrick McHardy index. 23516958900SPatrick McHardy 23616958900SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 23716958900SPatrick McHardy 2389fb9cbb1SYasuyuki Kozakaiconfig NF_CONNTRACK_FTP 239c9386cfdSPatrick McHardy tristate "FTP protocol support" 24033b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 2419fb9cbb1SYasuyuki Kozakai help 2429fb9cbb1SYasuyuki Kozakai Tracking FTP connections is problematic: special helpers are 2439fb9cbb1SYasuyuki Kozakai required for tracking them, and doing masquerading and other forms 2449fb9cbb1SYasuyuki Kozakai of Network Address Translation on them. 2459fb9cbb1SYasuyuki Kozakai 2469fb9cbb1SYasuyuki Kozakai This is FTP support on Layer 3 independent connection tracking. 2479fb9cbb1SYasuyuki Kozakai 2489fb9cbb1SYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 2499fb9cbb1SYasuyuki Kozakai 250f587de0eSPatrick McHardyconfig NF_CONNTRACK_H323 2518ce22fcaSPatrick McHardy tristate "H.323 protocol support" 252f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 25333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 254f587de0eSPatrick McHardy help 255f587de0eSPatrick McHardy H.323 is a VoIP signalling protocol from ITU-T. As one of the most 256f587de0eSPatrick McHardy important VoIP protocols, it is widely used by voice hardware and 257f587de0eSPatrick McHardy software including voice gateways, IP phones, Netmeeting, OpenPhone, 258f587de0eSPatrick McHardy Gnomemeeting, etc. 259f587de0eSPatrick McHardy 260f587de0eSPatrick McHardy With this module you can support H.323 on a connection tracking/NAT 261f587de0eSPatrick McHardy firewall. 262f587de0eSPatrick McHardy 263f587de0eSPatrick McHardy This module supports RAS, Fast Start, H.245 Tunnelling, Call 264f587de0eSPatrick McHardy Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat, 265f587de0eSPatrick McHardy whiteboard, file transfer, etc. For more information, please 266f587de0eSPatrick McHardy visit http://nath323.sourceforge.net/. 267f587de0eSPatrick McHardy 268f587de0eSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 269f587de0eSPatrick McHardy 270869f37d8SPatrick McHardyconfig NF_CONNTRACK_IRC 271c9386cfdSPatrick McHardy tristate "IRC protocol support" 27233b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 273869f37d8SPatrick McHardy help 274869f37d8SPatrick McHardy There is a commonly-used extension to IRC called 275869f37d8SPatrick McHardy Direct Client-to-Client Protocol (DCC). This enables users to send 276869f37d8SPatrick McHardy files to each other, and also chat to each other without the need 277869f37d8SPatrick McHardy of a server. DCC Sending is used anywhere you send files over IRC, 278869f37d8SPatrick McHardy and DCC Chat is most commonly used by Eggdrop bots. If you are 279869f37d8SPatrick McHardy using NAT, this extension will enable you to send files and initiate 280869f37d8SPatrick McHardy chats. Note that you do NOT need this extension to get files or 281869f37d8SPatrick McHardy have others initiate chats, or everything else in IRC. 282869f37d8SPatrick McHardy 283869f37d8SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 284869f37d8SPatrick McHardy 28593557f53SJiri Olsaconfig NF_CONNTRACK_BROADCAST 28693557f53SJiri Olsa tristate 28793557f53SJiri Olsa 28892703eeeSPatrick McHardyconfig NF_CONNTRACK_NETBIOS_NS 2898ce22fcaSPatrick McHardy tristate "NetBIOS name service protocol support" 29093557f53SJiri Olsa select NF_CONNTRACK_BROADCAST 29192703eeeSPatrick McHardy help 29292703eeeSPatrick McHardy NetBIOS name service requests are sent as broadcast messages from an 29392703eeeSPatrick McHardy unprivileged port and responded to with unicast messages to the 29492703eeeSPatrick McHardy same port. This make them hard to firewall properly because connection 29592703eeeSPatrick McHardy tracking doesn't deal with broadcasts. This helper tracks locally 29692703eeeSPatrick McHardy originating NetBIOS name service requests and the corresponding 29792703eeeSPatrick McHardy responses. It relies on correct IP address configuration, specifically 29892703eeeSPatrick McHardy netmask and broadcast address. When properly configured, the output 29992703eeeSPatrick McHardy of "ip address show" should look similar to this: 30092703eeeSPatrick McHardy 30192703eeeSPatrick McHardy $ ip -4 address show eth0 30292703eeeSPatrick McHardy 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 30392703eeeSPatrick McHardy inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0 30492703eeeSPatrick McHardy 30592703eeeSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 30692703eeeSPatrick McHardy 30793557f53SJiri Olsaconfig NF_CONNTRACK_SNMP 30893557f53SJiri Olsa tristate "SNMP service protocol support" 30993557f53SJiri Olsa depends on NETFILTER_ADVANCED 31093557f53SJiri Olsa select NF_CONNTRACK_BROADCAST 31193557f53SJiri Olsa help 31293557f53SJiri Olsa SNMP service requests are sent as broadcast messages from an 31393557f53SJiri Olsa unprivileged port and responded to with unicast messages to the 31493557f53SJiri Olsa same port. This make them hard to firewall properly because connection 31593557f53SJiri Olsa tracking doesn't deal with broadcasts. This helper tracks locally 31693557f53SJiri Olsa originating SNMP service requests and the corresponding 31793557f53SJiri Olsa responses. It relies on correct IP address configuration, specifically 31893557f53SJiri Olsa netmask and broadcast address. 31993557f53SJiri Olsa 32093557f53SJiri Olsa To compile it as a module, choose M here. If unsure, say N. 32193557f53SJiri Olsa 322f09943feSPatrick McHardyconfig NF_CONNTRACK_PPTP 323c9386cfdSPatrick McHardy tristate "PPtP protocol support" 32433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 325f09943feSPatrick McHardy select NF_CT_PROTO_GRE 326f09943feSPatrick McHardy help 327f09943feSPatrick McHardy This module adds support for PPTP (Point to Point Tunnelling 328f09943feSPatrick McHardy Protocol, RFC2637) connection tracking and NAT. 329f09943feSPatrick McHardy 330f09943feSPatrick McHardy If you are running PPTP sessions over a stateful firewall or NAT 331f09943feSPatrick McHardy box, you may want to enable this feature. 332f09943feSPatrick McHardy 333f09943feSPatrick McHardy Please note that not all PPTP modes of operation are supported yet. 334f09943feSPatrick McHardy Specifically these limitations exist: 3353dde6ad8SDavid Sterba - Blindly assumes that control connections are always established 336f09943feSPatrick McHardy in PNS->PAC direction. This is a violation of RFC2637. 337f09943feSPatrick McHardy - Only supports a single call within each session 338f09943feSPatrick McHardy 339f09943feSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 340f09943feSPatrick McHardy 3416fecd198SMichal Schmidtconfig NF_CONNTRACK_SANE 342663ef0d1SKees Cook tristate "SANE protocol support" 34333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 3446fecd198SMichal Schmidt help 3456fecd198SMichal Schmidt SANE is a protocol for remote access to scanners as implemented 3466fecd198SMichal Schmidt by the 'saned' daemon. Like FTP, it uses separate control and 3476fecd198SMichal Schmidt data connections. 3486fecd198SMichal Schmidt 3496fecd198SMichal Schmidt With this module you can support SANE on a connection tracking 3506fecd198SMichal Schmidt firewall. 3516fecd198SMichal Schmidt 3526fecd198SMichal Schmidt To compile it as a module, choose M here. If unsure, say N. 3536fecd198SMichal Schmidt 3549fafcd7bSPatrick McHardyconfig NF_CONNTRACK_SIP 3558ce22fcaSPatrick McHardy tristate "SIP protocol support" 35633b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 3579fafcd7bSPatrick McHardy help 3589fafcd7bSPatrick McHardy SIP is an application-layer control protocol that can establish, 3599fafcd7bSPatrick McHardy modify, and terminate multimedia sessions (conferences) such as 36005ba4c89SYonatan Goldschmidt Internet telephony calls. With the nf_conntrack_sip and 3619fafcd7bSPatrick McHardy the nf_nat_sip modules you can support the protocol on a connection 3629fafcd7bSPatrick McHardy tracking/NATing firewall. 3639fafcd7bSPatrick McHardy 3649fafcd7bSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 3659fafcd7bSPatrick McHardy 366a536df35SPatrick McHardyconfig NF_CONNTRACK_TFTP 367c9386cfdSPatrick McHardy tristate "TFTP protocol support" 36833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 369a536df35SPatrick McHardy help 370a536df35SPatrick McHardy TFTP connection tracking helper, this is required depending 371a536df35SPatrick McHardy on how restrictive your ruleset is. 372a536df35SPatrick McHardy If you are using a tftp client behind -j SNAT or -j MASQUERADING 373a536df35SPatrick McHardy you will need this. 374a536df35SPatrick McHardy 375a536df35SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 376a536df35SPatrick McHardy 377c1d10adbSPablo Neira Ayusoconfig NF_CT_NETLINK 3788ce22fcaSPatrick McHardy tristate 'Connection tracking netlink interface' 3792eeeba39SPatrick McHardy select NETFILTER_NETLINK 38033b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 381c1d10adbSPablo Neira Ayuso help 382c1d10adbSPablo Neira Ayuso This option enables support for a netlink-based userspace interface 383c1d10adbSPablo Neira Ayuso 38450978462SPablo Neira Ayusoconfig NF_CT_NETLINK_TIMEOUT 38550978462SPablo Neira Ayuso tristate 'Connection tracking timeout tuning via Netlink' 38650978462SPablo Neira Ayuso select NETFILTER_NETLINK 38750978462SPablo Neira Ayuso depends on NETFILTER_ADVANCED 388c7530326SHarsha Sharma depends on NF_CONNTRACK_TIMEOUT 38950978462SPablo Neira Ayuso help 39050978462SPablo Neira Ayuso This option enables support for connection tracking timeout 39150978462SPablo Neira Ayuso fine-grain tuning. This allows you to attach specific timeout 39250978462SPablo Neira Ayuso policies to flows, instead of using the global timeout policy. 39350978462SPablo Neira Ayuso 39450978462SPablo Neira Ayuso If unsure, say `N'. 39550978462SPablo Neira Ayuso 3966e9c2db3SPablo Neira Ayusoconfig NF_CT_NETLINK_HELPER 3976e9c2db3SPablo Neira Ayuso tristate 'Connection tracking helpers in user-space via Netlink' 3986e9c2db3SPablo Neira Ayuso select NETFILTER_NETLINK 3996e9c2db3SPablo Neira Ayuso depends on NF_CT_NETLINK 4006e9c2db3SPablo Neira Ayuso depends on NETFILTER_NETLINK_QUEUE 40183f3e94dSKen-ichirou MATSUZAWA depends on NETFILTER_NETLINK_GLUE_CT 4026e9c2db3SPablo Neira Ayuso depends on NETFILTER_ADVANCED 4036e9c2db3SPablo Neira Ayuso help 4046e9c2db3SPablo Neira Ayuso This option enables the user-space connection tracking helpers 4056e9c2db3SPablo Neira Ayuso infrastructure. 4066e9c2db3SPablo Neira Ayuso 4076e9c2db3SPablo Neira Ayuso If unsure, say `N'. 4086e9c2db3SPablo Neira Ayuso 40983f3e94dSKen-ichirou MATSUZAWAconfig NETFILTER_NETLINK_GLUE_CT 410a29a9a58SKen-ichirou MATSUZAWA bool "NFQUEUE and NFLOG integration with Connection Tracking" 4117c622345SPablo Neira Ayuso default n 412a29a9a58SKen-ichirou MATSUZAWA depends on (NETFILTER_NETLINK_QUEUE || NETFILTER_NETLINK_LOG) && NF_CT_NETLINK 4137c622345SPablo Neira Ayuso help 414a29a9a58SKen-ichirou MATSUZAWA If this option is enabled, NFQUEUE and NFLOG can include 415a29a9a58SKen-ichirou MATSUZAWA Connection Tracking information together with the packet is 416a29a9a58SKen-ichirou MATSUZAWA the enqueued via NFNETLINK. 4177c622345SPablo Neira Ayuso 418c7232c99SPatrick McHardyconfig NF_NAT 4193bf195aeSFlorian Westphal tristate "Network Address Translation support" 4203bf195aeSFlorian Westphal depends on NF_CONNTRACK 4213bf195aeSFlorian Westphal default m if NETFILTER_ADVANCED=n 4223bf195aeSFlorian Westphal help 4233bf195aeSFlorian Westphal The NAT option allows masquerading, port forwarding and other 4243bf195aeSFlorian Westphal forms of full Network Address Port Translation. This can be 4253bf195aeSFlorian Westphal controlled by iptables, ip6tables or nft. 426c7232c99SPatrick McHardy 427ee6eb966SPatrick McHardyconfig NF_NAT_AMANDA 428ee6eb966SPatrick McHardy tristate 429ee6eb966SPatrick McHardy depends on NF_CONNTRACK && NF_NAT 430ee6eb966SPatrick McHardy default NF_NAT && NF_CONNTRACK_AMANDA 431ee6eb966SPatrick McHardy 432d33cbeebSPatrick McHardyconfig NF_NAT_FTP 433d33cbeebSPatrick McHardy tristate 434d33cbeebSPatrick McHardy depends on NF_CONNTRACK && NF_NAT 435d33cbeebSPatrick McHardy default NF_NAT && NF_CONNTRACK_FTP 436d33cbeebSPatrick McHardy 4375901b6beSPablo Neira Ayusoconfig NF_NAT_IRC 4385901b6beSPablo Neira Ayuso tristate 4395901b6beSPablo Neira Ayuso depends on NF_CONNTRACK && NF_NAT 4405901b6beSPablo Neira Ayuso default NF_NAT && NF_CONNTRACK_IRC 4415901b6beSPablo Neira Ayuso 4429a664821SPatrick McHardyconfig NF_NAT_SIP 4439a664821SPatrick McHardy tristate 4449a664821SPatrick McHardy depends on NF_CONNTRACK && NF_NAT 4459a664821SPatrick McHardy default NF_NAT && NF_CONNTRACK_SIP 4469a664821SPatrick McHardy 447320ff567SPablo Neira Ayusoconfig NF_NAT_TFTP 448320ff567SPablo Neira Ayuso tristate 449320ff567SPablo Neira Ayuso depends on NF_CONNTRACK && NF_NAT 450320ff567SPablo Neira Ayuso default NF_NAT && NF_CONNTRACK_TFTP 451320ff567SPablo Neira Ayuso 452b59eaf9eSPablo Neira Ayusoconfig NF_NAT_REDIRECT 4531ac89d20SFlorian Westphal bool 454b59eaf9eSPablo Neira Ayuso 455d1aca8abSFlorian Westphalconfig NF_NAT_MASQUERADE 456d1aca8abSFlorian Westphal bool 457d1aca8abSFlorian Westphal 458ebddb140SXin Longconfig NF_NAT_OVS 459ebddb140SXin Long bool 460ebddb140SXin Long 46148b1de4cSPatrick McHardyconfig NETFILTER_SYNPROXY 46248b1de4cSPatrick McHardy tristate 46348b1de4cSPatrick McHardy 4644b070662SLaszlo Attila Tothendif # NF_CONNTRACK 4654b070662SLaszlo Attila Toth 46696518518SPatrick McHardyconfig NF_TABLES 4675f291c28SEric Leblond select NETFILTER_NETLINK 46899de9d40SEric Biggers select NET_CRC32C 46996518518SPatrick McHardy tristate "Netfilter nf_tables support" 470d497c635SPablo Neira Ayuso help 471d497c635SPablo Neira Ayuso nftables is the new packet classification framework that intends to 472d497c635SPablo Neira Ayuso replace the existing {ip,ip6,arp,eb}_tables infrastructure. It 473d497c635SPablo Neira Ayuso provides a pseudo-state machine with an extensible instruction-set 474d497c635SPablo Neira Ayuso (also known as expressions) that the userspace 'nft' utility 47550935339SAlexander A. Klimov (https://www.netfilter.org/projects/nftables) uses to build the 476d497c635SPablo Neira Ayuso rule-set. It also comes with the generic set infrastructure that 477d497c635SPablo Neira Ayuso allows you to construct mappings between matchings and actions 478d497c635SPablo Neira Ayuso for performance lookups. 479d497c635SPablo Neira Ayuso 480d497c635SPablo Neira Ayuso To compile it as a module, choose M here. 48196518518SPatrick McHardy 482f04e599eSPablo Neira Ayusoif NF_TABLES 4831d49144cSPatrick McHardyconfig NF_TABLES_INET 484f04e599eSPablo Neira Ayuso depends on IPV6 4851d49144cSPatrick McHardy select NF_TABLES_IPV4 4861d49144cSPatrick McHardy select NF_TABLES_IPV6 48702c7b25eSPablo Neira Ayuso bool "Netfilter nf_tables mixed IPv4/IPv6 tables support" 4881d49144cSPatrick McHardy help 4891d49144cSPatrick McHardy This option enables support for a mixed IPv4/IPv6 "inet" table. 4901d49144cSPatrick McHardy 491ed6c4136SPablo Neira Ayusoconfig NF_TABLES_NETDEV 49202c7b25eSPablo Neira Ayuso bool "Netfilter nf_tables netdev tables support" 493ed6c4136SPablo Neira Ayuso help 494ed6c4136SPablo Neira Ayuso This option enables support for the "netdev" table. 495ed6c4136SPablo Neira Ayuso 49691dbc6beSLaura Garcia Liebanaconfig NFT_NUMGEN 49791dbc6beSLaura Garcia Liebana tristate "Netfilter nf_tables number generator module" 49891dbc6beSLaura Garcia Liebana help 49991dbc6beSLaura Garcia Liebana This option adds the number generator expression used to perform 50091dbc6beSLaura Garcia Liebana incremental counting and random numbers bound to a upper limit. 50191dbc6beSLaura Garcia Liebana 50296518518SPatrick McHardyconfig NFT_CT 50396518518SPatrick McHardy depends on NF_CONNTRACK 50496518518SPatrick McHardy tristate "Netfilter nf_tables conntrack module" 505d497c635SPablo Neira Ayuso help 506e4670b05SWilliam Breathitt Gray This option adds the "ct" expression that you can use to match 507d497c635SPablo Neira Ayuso connection tracking information such as the flow state. 50896518518SPatrick McHardy 509fd72f265SPablo Neira Ayusoconfig NFT_EXTHDR_DCCP 510fd72f265SPablo Neira Ayuso bool "Netfilter nf_tables exthdr DCCP support (DEPRECATED)" 511fd72f265SPablo Neira Ayuso default n 512fd72f265SPablo Neira Ayuso help 513fd72f265SPablo Neira Ayuso This option adds support for matching on DCCP extension headers. 514fd72f265SPablo Neira Ayuso 515a3c90f7aSPablo Neira Ayusoconfig NFT_FLOW_OFFLOAD 5169be9d04bSArnd Bergmann depends on NF_CONNTRACK && NF_FLOW_TABLE 517a3c90f7aSPablo Neira Ayuso tristate "Netfilter nf_tables hardware flow offload module" 518a3c90f7aSPablo Neira Ayuso help 519a3c90f7aSPablo Neira Ayuso This option adds the "flow_offload" expression that you can use to 520a3c90f7aSPablo Neira Ayuso choose what flows are placed into the hardware. 521a3c90f7aSPablo Neira Ayuso 522290180e2SPablo Neira Ayusoconfig NFT_CONNLIMIT 523290180e2SPablo Neira Ayuso tristate "Netfilter nf_tables connlimit module" 524290180e2SPablo Neira Ayuso depends on NF_CONNTRACK 525290180e2SPablo Neira Ayuso depends on NETFILTER_ADVANCED 526290180e2SPablo Neira Ayuso select NETFILTER_CONNCOUNT 527290180e2SPablo Neira Ayuso help 528290180e2SPablo Neira Ayuso This option adds the "connlimit" expression that you can use to 529290180e2SPablo Neira Ayuso ratelimit rule matchings per connections. 530290180e2SPablo Neira Ayuso 53196518518SPatrick McHardyconfig NFT_LOG 53296518518SPatrick McHardy tristate "Netfilter nf_tables log module" 533d497c635SPablo Neira Ayuso help 534d497c635SPablo Neira Ayuso This option adds the "log" expression that you can use to log 535d497c635SPablo Neira Ayuso packets matching some criteria. 53696518518SPatrick McHardy 53796518518SPatrick McHardyconfig NFT_LIMIT 53896518518SPatrick McHardy tristate "Netfilter nf_tables limit module" 539d497c635SPablo Neira Ayuso help 540d497c635SPablo Neira Ayuso This option adds the "limit" expression that you can use to 541d497c635SPablo Neira Ayuso ratelimit rule matchings. 54296518518SPatrick McHardy 5439ba1f726SArturo Borreroconfig NFT_MASQ 5449ba1f726SArturo Borrero depends on NF_CONNTRACK 5459ba1f726SArturo Borrero depends on NF_NAT 546a9ce849eSFlorian Westphal select NF_NAT_MASQUERADE 5479ba1f726SArturo Borrero tristate "Netfilter nf_tables masquerade support" 5489ba1f726SArturo Borrero help 5499ba1f726SArturo Borrero This option adds the "masquerade" expression that you can use 5509ba1f726SArturo Borrero to perform NAT in the masquerade flavour. 5519ba1f726SArturo Borrero 552e9105f1bSArturo Borreroconfig NFT_REDIR 553e9105f1bSArturo Borrero depends on NF_CONNTRACK 554e9105f1bSArturo Borrero depends on NF_NAT 555e9105f1bSArturo Borrero tristate "Netfilter nf_tables redirect support" 556c78efc99SFlorian Westphal select NF_NAT_REDIRECT 557e9105f1bSArturo Borrero help 558e9105f1bSArturo Borrero This options adds the "redirect" expression that you can use 559e9105f1bSArturo Borrero to perform NAT in the redirect flavour. 560e9105f1bSArturo Borrero 561eb31628eSTomasz Bursztykaconfig NFT_NAT 562eb31628eSTomasz Bursztyka depends on NF_CONNTRACK 5631e8430f3SPablo Neira Ayuso select NF_NAT 564db8ab388SFlorian Westphal depends on NF_TABLES_IPV4 || NF_TABLES_IPV6 565eb31628eSTomasz Bursztyka tristate "Netfilter nf_tables nat module" 566d497c635SPablo Neira Ayuso help 567d497c635SPablo Neira Ayuso This option adds the "nat" expression that you can use to perform 568d497c635SPablo Neira Ayuso typical Network Address Translation (NAT) packet transformations. 569eb31628eSTomasz Bursztyka 570af308b94SPablo Neira Ayusoconfig NFT_TUNNEL 571af308b94SPablo Neira Ayuso tristate "Netfilter nf_tables tunnel module" 572af308b94SPablo Neira Ayuso help 573af308b94SPablo Neira Ayuso This option adds the "tunnel" expression that you can use to set 574af308b94SPablo Neira Ayuso tunneling policies. 575af308b94SPablo Neira Ayuso 5760aff078dSEric Leblondconfig NFT_QUEUE 5770aff078dSEric Leblond depends on NETFILTER_NETLINK_QUEUE 5780aff078dSEric Leblond tristate "Netfilter nf_tables queue module" 5790aff078dSEric Leblond help 5800aff078dSEric Leblond This is required if you intend to use the userspace queueing 5810aff078dSEric Leblond infrastructure (also known as NFQUEUE) from nftables. 5820aff078dSEric Leblond 5833d2f30a1SPablo Neira Ayusoconfig NFT_QUOTA 5843d2f30a1SPablo Neira Ayuso tristate "Netfilter nf_tables quota module" 5853d2f30a1SPablo Neira Ayuso help 5863d2f30a1SPablo Neira Ayuso This option adds the "quota" expression that you can use to match 5873d2f30a1SPablo Neira Ayuso enforce bytes quotas. 5883d2f30a1SPablo Neira Ayuso 589bee11dc7SEric Leblondconfig NFT_REJECT 590bee11dc7SEric Leblond default m if NETFILTER_ADVANCED=n 591bee11dc7SEric Leblond tristate "Netfilter nf_tables reject support" 592a6615743SArnd Bergmann depends on !NF_TABLES_INET || (IPV6!=m || m) 593d497c635SPablo Neira Ayuso help 594d497c635SPablo Neira Ayuso This option adds the "reject" expression that you can use to 595d497c635SPablo Neira Ayuso explicitly deny and notify via TCP reset/ICMP informational errors 596d497c635SPablo Neira Ayuso unallowed traffic. 5970ca743a5SPablo Neira Ayuso 59805513e9eSPatrick McHardyconfig NFT_REJECT_INET 59905513e9eSPatrick McHardy depends on NF_TABLES_INET 60005513e9eSPatrick McHardy default NFT_REJECT 60105513e9eSPatrick McHardy tristate 60205513e9eSPatrick McHardy 6030ca743a5SPablo Neira Ayusoconfig NFT_COMPAT 6040ca743a5SPablo Neira Ayuso depends on NETFILTER_XTABLES 6050ca743a5SPablo Neira Ayuso tristate "Netfilter x_tables over nf_tables module" 6060ca743a5SPablo Neira Ayuso help 6070ca743a5SPablo Neira Ayuso This is required if you intend to use any of existing 6080ca743a5SPablo Neira Ayuso x_tables match/target extensions over the nf_tables 6090ca743a5SPablo Neira Ayuso framework. 6100ca743a5SPablo Neira Ayuso 611cb1b69b0SLaura Garcia Liebanaconfig NFT_HASH 612cb1b69b0SLaura Garcia Liebana tristate "Netfilter nf_tables hash module" 613cb1b69b0SLaura Garcia Liebana help 614cb1b69b0SLaura Garcia Liebana This option adds the "hash" expression that you can use to perform 615cb1b69b0SLaura Garcia Liebana a hash operation on registers. 616cb1b69b0SLaura Garcia Liebana 617f6d0cbcfSFlorian Westphalconfig NFT_FIB 618f6d0cbcfSFlorian Westphal tristate 619f6d0cbcfSFlorian Westphal 620f6d0cbcfSFlorian Westphalconfig NFT_FIB_INET 621f6d0cbcfSFlorian Westphal depends on NF_TABLES_INET 622f6d0cbcfSFlorian Westphal depends on NFT_FIB_IPV4 623f6d0cbcfSFlorian Westphal depends on NFT_FIB_IPV6 624f6d0cbcfSFlorian Westphal tristate "Netfilter nf_tables fib inet support" 625f6d0cbcfSFlorian Westphal help 626f6d0cbcfSFlorian Westphal This option allows using the FIB expression from the inet table. 627f6d0cbcfSFlorian Westphal The lookup will be delegated to the IPv4 or IPv6 FIB depending 628f6d0cbcfSFlorian Westphal on the protocol of the packet. 629f6d0cbcfSFlorian Westphal 6306c472602SFlorian Westphalconfig NFT_XFRM 6316c472602SFlorian Westphal tristate "Netfilter nf_tables xfrm/IPSec security association matching" 6326c472602SFlorian Westphal depends on XFRM 6336c472602SFlorian Westphal help 6346c472602SFlorian Westphal This option adds an expression that you can use to extract properties 6356c472602SFlorian Westphal of a packets security association. 6366c472602SFlorian Westphal 637554ced0aSMáté Ecklconfig NFT_SOCKET 638554ced0aSMáté Eckl tristate "Netfilter nf_tables socket match support" 639554ced0aSMáté Eckl depends on IPV6 || IPV6=n 640554ced0aSMáté Eckl select NF_SOCKET_IPV4 6415d400a49SMáté Eckl select NF_SOCKET_IPV6 if NF_TABLES_IPV6 642554ced0aSMáté Eckl help 643554ced0aSMáté Eckl This option allows matching for the presence or absence of a 644554ced0aSMáté Eckl corresponding socket and its attributes. 645554ced0aSMáté Eckl 646b96af92dSFernando Fernandez Manceraconfig NFT_OSF 647b96af92dSFernando Fernandez Mancera tristate "Netfilter nf_tables passive OS fingerprint support" 648b96af92dSFernando Fernandez Mancera depends on NETFILTER_ADVANCED 649b96af92dSFernando Fernandez Mancera select NETFILTER_NETLINK_OSF 650b96af92dSFernando Fernandez Mancera help 651b96af92dSFernando Fernandez Mancera This option allows matching packets from an specific OS. 652b96af92dSFernando Fernandez Mancera 6534ed8eb65SMáté Ecklconfig NFT_TPROXY 6544ed8eb65SMáté Eckl tristate "Netfilter nf_tables tproxy support" 6554ed8eb65SMáté Eckl depends on IPV6 || IPV6=n 6564ed8eb65SMáté Eckl select NF_DEFRAG_IPV4 6574ed8eb65SMáté Eckl select NF_DEFRAG_IPV6 if NF_TABLES_IPV6 6584ed8eb65SMáté Eckl select NF_TPROXY_IPV4 6594ed8eb65SMáté Eckl select NF_TPROXY_IPV6 if NF_TABLES_IPV6 6604ed8eb65SMáté Eckl help 6614ed8eb65SMáté Eckl This makes transparent proxy support available in nftables. 6624ed8eb65SMáté Eckl 663ad49d86eSFernando Fernandez Manceraconfig NFT_SYNPROXY 664ad49d86eSFernando Fernandez Mancera tristate "Netfilter nf_tables SYNPROXY expression support" 665ad49d86eSFernando Fernandez Mancera depends on NF_CONNTRACK && NETFILTER_ADVANCED 666ad49d86eSFernando Fernandez Mancera select NETFILTER_SYNPROXY 667ad49d86eSFernando Fernandez Mancera select SYN_COOKIES 668ad49d86eSFernando Fernandez Mancera help 669ad49d86eSFernando Fernandez Mancera The SYNPROXY expression allows you to intercept TCP connections and 670ad49d86eSFernando Fernandez Mancera establish them using syncookies before they are passed on to the 671ad49d86eSFernando Fernandez Mancera server. This allows to avoid conntrack and server resource usage 672ad49d86eSFernando Fernandez Mancera during SYN-flood attacks. 673ad49d86eSFernando Fernandez Mancera 674502061f8SPablo Neira Ayusoif NF_TABLES_NETDEV 675502061f8SPablo Neira Ayuso 676502061f8SPablo Neira Ayusoconfig NF_DUP_NETDEV 677502061f8SPablo Neira Ayuso tristate "Netfilter packet duplication support" 678502061f8SPablo Neira Ayuso help 679502061f8SPablo Neira Ayuso This option enables the generic packet duplication infrastructure 680502061f8SPablo Neira Ayuso for Netfilter. 681502061f8SPablo Neira Ayuso 682502061f8SPablo Neira Ayusoconfig NFT_DUP_NETDEV 683502061f8SPablo Neira Ayuso tristate "Netfilter nf_tables netdev packet duplication support" 684502061f8SPablo Neira Ayuso select NF_DUP_NETDEV 685502061f8SPablo Neira Ayuso help 686502061f8SPablo Neira Ayuso This option enables packet duplication for the "netdev" family. 687502061f8SPablo Neira Ayuso 68839e6dea2SPablo Neira Ayusoconfig NFT_FWD_NETDEV 68939e6dea2SPablo Neira Ayuso tristate "Netfilter nf_tables netdev packet forwarding support" 69039e6dea2SPablo Neira Ayuso select NF_DUP_NETDEV 69139e6dea2SPablo Neira Ayuso help 69239e6dea2SPablo Neira Ayuso This option enables packet forwarding for the "netdev" family. 69339e6dea2SPablo Neira Ayuso 6946392c226SPablo M. Bermudo Garayconfig NFT_FIB_NETDEV 6956392c226SPablo M. Bermudo Garay depends on NFT_FIB_IPV4 6966392c226SPablo M. Bermudo Garay depends on NFT_FIB_IPV6 6976392c226SPablo M. Bermudo Garay tristate "Netfilter nf_tables netdev fib lookups support" 6986392c226SPablo M. Bermudo Garay help 6996392c226SPablo M. Bermudo Garay This option allows using the FIB expression from the netdev table. 7006392c226SPablo M. Bermudo Garay The lookup will be delegated to the IPv4 or IPv6 FIB depending 7016392c226SPablo M. Bermudo Garay on the protocol of the packet. 7026392c226SPablo M. Bermudo Garay 7036bbb9ad3SJose M. Guisado Gomezconfig NFT_REJECT_NETDEV 7046bbb9ad3SJose M. Guisado Gomez depends on NFT_REJECT_IPV4 7056bbb9ad3SJose M. Guisado Gomez depends on NFT_REJECT_IPV6 7066bbb9ad3SJose M. Guisado Gomez tristate "Netfilter nf_tables netdev REJECT support" 7076bbb9ad3SJose M. Guisado Gomez help 7086bbb9ad3SJose M. Guisado Gomez This option enables the REJECT support from the netdev table. 7096bbb9ad3SJose M. Guisado Gomez The return packet generation will be delegated to the IPv4 7106bbb9ad3SJose M. Guisado Gomez or IPv6 ICMP or TCP RST implementation depending on the 7116bbb9ad3SJose M. Guisado Gomez protocol of the packet. 7126bbb9ad3SJose M. Guisado Gomez 713502061f8SPablo Neira Ayusoendif # NF_TABLES_NETDEV 714502061f8SPablo Neira Ayuso 715f04e599eSPablo Neira Ayusoendif # NF_TABLES 716f04e599eSPablo Neira Ayuso 7177c23b629SPablo Neira Ayusoconfig NF_FLOW_TABLE_INET 7187c23b629SPablo Neira Ayuso tristate "Netfilter flow table mixed IPv4/IPv6 module" 7191e80380bSFelix Fietkau depends on NF_FLOW_TABLE 7207c23b629SPablo Neira Ayuso help 7217c23b629SPablo Neira Ayuso This option adds the flow table mixed IPv4/IPv6 support. 7227c23b629SPablo Neira Ayuso 7237c23b629SPablo Neira Ayuso To compile it as a module, choose M here. 7247c23b629SPablo Neira Ayuso 725ac2a6666SPablo Neira Ayusoconfig NF_FLOW_TABLE 726ac2a6666SPablo Neira Ayuso tristate "Netfilter flow table module" 7276be3bcd7SPablo Neira Ayuso depends on NETFILTER_INGRESS 7286be3bcd7SPablo Neira Ayuso depends on NF_CONNTRACK 7296be3bcd7SPablo Neira Ayuso depends on NF_TABLES 730ac2a6666SPablo Neira Ayuso help 731ac2a6666SPablo Neira Ayuso This option adds the flow table core infrastructure. 732ac2a6666SPablo Neira Ayuso 733ac2a6666SPablo Neira Ayuso To compile it as a module, choose M here. 734ac2a6666SPablo Neira Ayuso 735b0381776SVlad Buslovconfig NF_FLOW_TABLE_PROCFS 736b0381776SVlad Buslov bool "Supply flow table statistics in procfs" 737b06ada6dSPablo Neira Ayuso depends on NF_FLOW_TABLE 738b0381776SVlad Buslov depends on PROC_FS 739b0381776SVlad Buslov help 740b0381776SVlad Buslov This option enables for the flow table offload statistics 741b0381776SVlad Buslov to be shown in procfs under net/netfilter/nf_flowtable. 742b0381776SVlad Buslov 7432e4e6a17SHarald Welteconfig NETFILTER_XTABLES 7442e4e6a17SHarald Welte tristate "Netfilter Xtables support (required for ip_tables)" 74533b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 7462e4e6a17SHarald Welte help 7472e4e6a17SHarald Welte This is required if you intend to use any of ip_tables, 7482e4e6a17SHarald Welte ip6_tables or arp_tables. 7492e4e6a17SHarald Welte 750c2df73deSJan Engelhardtif NETFILTER_XTABLES 751c2df73deSJan Engelhardt 75247a6959fSFlorian Westphalconfig NETFILTER_XTABLES_COMPAT 75347a6959fSFlorian Westphal bool "Netfilter Xtables 32bit support" 75447a6959fSFlorian Westphal depends on COMPAT 75547a6959fSFlorian Westphal help 75647a6959fSFlorian Westphal This option provides a translation layer to run 32bit arp,ip(6),ebtables 75747a6959fSFlorian Westphal binaries on 64bit kernels. 75847a6959fSFlorian Westphal 75947a6959fSFlorian Westphal If unsure, say N. 76047a6959fSFlorian Westphal 761*9fce6658SPablo Neira Ayusoconfig NETFILTER_XTABLES_LEGACY 762*9fce6658SPablo Neira Ayuso bool "Netfilter legacy tables support" 763*9fce6658SPablo Neira Ayuso depends on !PREEMPT_RT 764*9fce6658SPablo Neira Ayuso help 765*9fce6658SPablo Neira Ayuso Say Y here if you still require support for legacy tables. This is 766*9fce6658SPablo Neira Ayuso required by the legacy tools (iptables-legacy) and is not needed if 767*9fce6658SPablo Neira Ayuso you use iptables over nftables (iptables-nft). 768*9fce6658SPablo Neira Ayuso Legacy support is not limited to IP, it also includes EBTABLES and 769*9fce6658SPablo Neira Ayuso ARPTABLES. 770*9fce6658SPablo Neira Ayuso 77128b94988SJan Engelhardtcomment "Xtables combined modules" 77228b94988SJan Engelhardt 77328b94988SJan Engelhardtconfig NETFILTER_XT_MARK 77428b94988SJan Engelhardt tristate 'nfmark target and match support' 77528b94988SJan Engelhardt default m if NETFILTER_ADVANCED=n 776a7f7f624SMasahiro Yamada help 77728b94988SJan Engelhardt This option adds the "MARK" target and "mark" match. 77828b94988SJan Engelhardt 77928b94988SJan Engelhardt Netfilter mark matching allows you to match packets based on the 78028b94988SJan Engelhardt "nfmark" value in the packet. 78128b94988SJan Engelhardt The target allows you to create rules in the "mangle" table which alter 78228b94988SJan Engelhardt the netfilter mark (nfmark) field associated with the packet. 78328b94988SJan Engelhardt 784f1504307SMoritz Sichert Prior to routing, the nfmark can influence the routing method and can 785f1504307SMoritz Sichert also be used by other subsystems to change their behavior. 78628b94988SJan Engelhardt 787b8f00ba2SJan Engelhardtconfig NETFILTER_XT_CONNMARK 788b8f00ba2SJan Engelhardt tristate 'ctmark target and match support' 789b8f00ba2SJan Engelhardt depends on NF_CONNTRACK 790b8f00ba2SJan Engelhardt depends on NETFILTER_ADVANCED 791b8f00ba2SJan Engelhardt select NF_CONNTRACK_MARK 792a7f7f624SMasahiro Yamada help 793b8f00ba2SJan Engelhardt This option adds the "CONNMARK" target and "connmark" match. 794b8f00ba2SJan Engelhardt 795b8f00ba2SJan Engelhardt Netfilter allows you to store a mark value per connection (a.k.a. 796b8f00ba2SJan Engelhardt ctmark), similarly to the packet mark (nfmark). Using this 797b8f00ba2SJan Engelhardt target and match, you can set and match on this mark. 798b8f00ba2SJan Engelhardt 799d956798dSJozsef Kadlecsikconfig NETFILTER_XT_SET 800d956798dSJozsef Kadlecsik tristate 'set target and match support' 801d956798dSJozsef Kadlecsik depends on IP_SET 802d956798dSJozsef Kadlecsik depends on NETFILTER_ADVANCED 803d956798dSJozsef Kadlecsik help 804d956798dSJozsef Kadlecsik This option adds the "SET" target and "set" match. 805d956798dSJozsef Kadlecsik 806d956798dSJozsef Kadlecsik Using this target and match, you can add/delete and match 807d956798dSJozsef Kadlecsik elements in the sets created by ipset(8). 808d956798dSJozsef Kadlecsik 809d956798dSJozsef Kadlecsik To compile it as a module, choose M here. If unsure, say N. 810d956798dSJozsef Kadlecsik 8112e4e6a17SHarald Welte# alphabetically ordered list of targets 8122e4e6a17SHarald Welte 81344c58731SJan Engelhardtcomment "Xtables targets" 81444c58731SJan Engelhardt 81543f393caSThomas Grafconfig NETFILTER_XT_TARGET_AUDIT 81643f393caSThomas Graf tristate "AUDIT target support" 81743f393caSThomas Graf depends on AUDIT 81843f393caSThomas Graf depends on NETFILTER_ADVANCED 819a7f7f624SMasahiro Yamada help 82043f393caSThomas Graf This option adds a 'AUDIT' target, which can be used to create 82143f393caSThomas Graf audit records for packets dropped/accepted. 82243f393caSThomas Graf 82343f393caSThomas Graf To compileit as a module, choose M here. If unsure, say N. 82443f393caSThomas Graf 825edf0e1fbSMichael S. Tsirkinconfig NETFILTER_XT_TARGET_CHECKSUM 826edf0e1fbSMichael S. Tsirkin tristate "CHECKSUM target support" 827a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT 828edf0e1fbSMichael S. Tsirkin depends on NETFILTER_ADVANCED 829a7f7f624SMasahiro Yamada help 830edf0e1fbSMichael S. Tsirkin This option adds a `CHECKSUM' target, which can be used in the iptables mangle 83110568f6cSFlorian Westphal table to work around buggy DHCP clients in virtualized environments. 832edf0e1fbSMichael S. Tsirkin 83310568f6cSFlorian Westphal Some old DHCP clients drop packets because they are not aware 83410568f6cSFlorian Westphal that the checksum would normally be offloaded to hardware and 83510568f6cSFlorian Westphal thus should be considered valid. 83610568f6cSFlorian Westphal This target can be used to fill in the checksum using iptables 83710568f6cSFlorian Westphal when such packets are sent via a virtual network device. 838edf0e1fbSMichael S. Tsirkin 839edf0e1fbSMichael S. Tsirkin To compile it as a module, choose M here. If unsure, say N. 840edf0e1fbSMichael S. Tsirkin 8412e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_CLASSIFY 8422e4e6a17SHarald Welte tristate '"CLASSIFY" target support' 84333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 8442e4e6a17SHarald Welte help 8452e4e6a17SHarald Welte This option adds a `CLASSIFY' target, which enables the user to set 8462e4e6a17SHarald Welte the priority of a packet. Some qdiscs can use this value for 8472e4e6a17SHarald Welte classification, among these are: 8482e4e6a17SHarald Welte 8492e4e6a17SHarald Welte atm, cbq, dsmark, pfifo_fast, htb, prio 8502e4e6a17SHarald Welte 8512e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 8522e4e6a17SHarald Welte 8532e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_CONNMARK 8542e4e6a17SHarald Welte tristate '"CONNMARK" target support' 855587aa641SPatrick McHardy depends on NF_CONNTRACK 85633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 857b8f00ba2SJan Engelhardt select NETFILTER_XT_CONNMARK 858a7f7f624SMasahiro Yamada help 859b8f00ba2SJan Engelhardt This is a backwards-compat option for the user's convenience 860b8f00ba2SJan Engelhardt (e.g. when running oldconfig). It selects 861b8f00ba2SJan Engelhardt CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module). 8622e4e6a17SHarald Welte 863aba0d348SJan Engelhardtconfig NETFILTER_XT_TARGET_CONNSECMARK 864aba0d348SJan Engelhardt tristate '"CONNSECMARK" target support' 865c2df73deSJan Engelhardt depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK 866aba0d348SJan Engelhardt default m if NETFILTER_ADVANCED=n 867aba0d348SJan Engelhardt help 868aba0d348SJan Engelhardt The CONNSECMARK target copies security markings from packets 869aba0d348SJan Engelhardt to connections, and restores security markings from connections 870aba0d348SJan Engelhardt to packets (if the packets are not already marked). This would 871aba0d348SJan Engelhardt normally be used in conjunction with the SECMARK target. 872aba0d348SJan Engelhardt 873aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 874aba0d348SJan Engelhardt 87584f3bb9aSPatrick McHardyconfig NETFILTER_XT_TARGET_CT 87684f3bb9aSPatrick McHardy tristate '"CT" target support' 87784f3bb9aSPatrick McHardy depends on NF_CONNTRACK 878a9525c7fSFlorian Westphal depends on IP_NF_RAW || IP6_NF_RAW || NFT_COMPAT 87984f3bb9aSPatrick McHardy depends on NETFILTER_ADVANCED 88084f3bb9aSPatrick McHardy help 88184f3bb9aSPatrick McHardy This options adds a `CT' target, which allows to specify initial 88284f3bb9aSPatrick McHardy connection tracking parameters like events to be delivered and 88384f3bb9aSPatrick McHardy the helper to be used. 88484f3bb9aSPatrick McHardy 88584f3bb9aSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 88684f3bb9aSPatrick McHardy 887a468701dSYasuyuki Kozakaiconfig NETFILTER_XT_TARGET_DSCP 888c9fd4968SJan Engelhardt tristate '"DSCP" and "TOS" target support' 889a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT 89033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 891a468701dSYasuyuki Kozakai help 892a468701dSYasuyuki Kozakai This option adds a `DSCP' target, which allows you to manipulate 893a468701dSYasuyuki Kozakai the IPv4/IPv6 header DSCP field (differentiated services codepoint). 894a468701dSYasuyuki Kozakai 895a468701dSYasuyuki Kozakai The DSCP field can have any value between 0x0 and 0x3f inclusive. 896a468701dSYasuyuki Kozakai 897c9fd4968SJan Engelhardt It also adds the "TOS" target, which allows you to create rules in 898c9fd4968SJan Engelhardt the "mangle" table which alter the Type Of Service field of an IPv4 8995c350e5aSJan Engelhardt or the Priority field of an IPv6 packet, prior to routing. 900c9fd4968SJan Engelhardt 901a468701dSYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 902a468701dSYasuyuki Kozakai 903563d36ebSJan Engelhardtconfig NETFILTER_XT_TARGET_HL 904563d36ebSJan Engelhardt tristate '"HL" hoplimit target support' 905a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT 906563d36ebSJan Engelhardt depends on NETFILTER_ADVANCED 907a7f7f624SMasahiro Yamada help 908563d36ebSJan Engelhardt This option adds the "HL" (for IPv6) and "TTL" (for IPv4) 909563d36ebSJan Engelhardt targets, which enable the user to change the 910563d36ebSJan Engelhardt hoplimit/time-to-live value of the IP header. 911563d36ebSJan Engelhardt 912563d36ebSJan Engelhardt While it is safe to decrement the hoplimit/TTL value, the 913563d36ebSJan Engelhardt modules also allow to increment and set the hoplimit value of 914563d36ebSJan Engelhardt the header to arbitrary values. This is EXTREMELY DANGEROUS 915563d36ebSJan Engelhardt since you can easily create immortal packets that loop 916563d36ebSJan Engelhardt forever on the network. 917563d36ebSJan Engelhardt 918cf308a1fSHans Schillstromconfig NETFILTER_XT_TARGET_HMARK 919cf308a1fSHans Schillstrom tristate '"HMARK" target support' 920f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 921cf308a1fSHans Schillstrom depends on NETFILTER_ADVANCED 922a7f7f624SMasahiro Yamada help 923cf308a1fSHans Schillstrom This option adds the "HMARK" target. 924cf308a1fSHans Schillstrom 925cf308a1fSHans Schillstrom The target allows you to create rules in the "raw" and "mangle" tables 926cf308a1fSHans Schillstrom which set the skbuff mark by means of hash calculation within a given 927f1504307SMoritz Sichert range. The nfmark can influence the routing method and can also be used 928f1504307SMoritz Sichert by other subsystems to change their behaviour. 929cf308a1fSHans Schillstrom 930cf308a1fSHans Schillstrom To compile it as a module, choose M here. If unsure, say N. 931cf308a1fSHans Schillstrom 9320902b469SLuciano Coelhoconfig NETFILTER_XT_TARGET_IDLETIMER 9330902b469SLuciano Coelho tristate "IDLETIMER target support" 9340902b469SLuciano Coelho depends on NETFILTER_ADVANCED 9350902b469SLuciano Coelho help 9360902b469SLuciano Coelho 9370902b469SLuciano Coelho This option adds the `IDLETIMER' target. Each matching packet 9380902b469SLuciano Coelho resets the timer associated with label specified when the rule is 9390902b469SLuciano Coelho added. When the timer expires, it triggers a sysfs notification. 9400902b469SLuciano Coelho The remaining time for expiration can be read via sysfs. 9410902b469SLuciano Coelho 9420902b469SLuciano Coelho To compile it as a module, choose M here. If unsure, say N. 9430902b469SLuciano Coelho 944268cb38eSAdam Nielsenconfig NETFILTER_XT_TARGET_LED 945268cb38eSAdam Nielsen tristate '"LED" target support' 9463ae16f13SAlex Riesen depends on LEDS_CLASS && LEDS_TRIGGERS 947268cb38eSAdam Nielsen depends on NETFILTER_ADVANCED 948268cb38eSAdam Nielsen help 949268cb38eSAdam Nielsen This option adds a `LED' target, which allows you to blink LEDs in 950268cb38eSAdam Nielsen response to particular packets passing through your machine. 951268cb38eSAdam Nielsen 952268cb38eSAdam Nielsen This can be used to turn a spare LED into a network activity LED, 953268cb38eSAdam Nielsen which only flashes in response to FTP transfers, for example. Or 954268cb38eSAdam Nielsen you could have an LED which lights up for a minute or two every time 955268cb38eSAdam Nielsen somebody connects to your machine via SSH. 956268cb38eSAdam Nielsen 957268cb38eSAdam Nielsen You will need support for the "led" class to make this work. 958268cb38eSAdam Nielsen 959268cb38eSAdam Nielsen To create an LED trigger for incoming SSH traffic: 960268cb38eSAdam Nielsen iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000 961268cb38eSAdam Nielsen 962268cb38eSAdam Nielsen Then attach the new trigger to an LED on your system: 963268cb38eSAdam Nielsen echo netfilter-ssh > /sys/class/leds/<ledname>/trigger 964268cb38eSAdam Nielsen 965268cb38eSAdam Nielsen For more information on the LEDs available on your system, see 9668dab9197SMauro Carvalho Chehab Documentation/leds/leds-class.rst 967268cb38eSAdam Nielsen 9686939c33aSRichard Weinbergerconfig NETFILTER_XT_TARGET_LOG 9696939c33aSRichard Weinberger tristate "LOG target support" 970db3187aeSFlorian Westphal select NF_LOG_SYSLOG 9715d400a49SMáté Eckl select NF_LOG_IPV6 if IP6_NF_IPTABLES 9726939c33aSRichard Weinberger default m if NETFILTER_ADVANCED=n 9736939c33aSRichard Weinberger help 9746939c33aSRichard Weinberger This option adds a `LOG' target, which allows you to create rules in 9756939c33aSRichard Weinberger any iptables table which records the packet header to the syslog. 9766939c33aSRichard Weinberger 9776939c33aSRichard Weinberger To compile it as a module, choose M here. If unsure, say N. 9786939c33aSRichard Weinberger 9792e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_MARK 9802e4e6a17SHarald Welte tristate '"MARK" target support' 98128b94988SJan Engelhardt depends on NETFILTER_ADVANCED 98228b94988SJan Engelhardt select NETFILTER_XT_MARK 983a7f7f624SMasahiro Yamada help 98428b94988SJan Engelhardt This is a backwards-compat option for the user's convenience 98528b94988SJan Engelhardt (e.g. when running oldconfig). It selects 98628b94988SJan Engelhardt CONFIG_NETFILTER_XT_MARK (combined mark/MARK module). 9872e4e6a17SHarald Welte 98884a59ca5SPablo Neira Ayusoconfig NETFILTER_XT_NAT 98984a59ca5SPablo Neira Ayuso tristate '"SNAT and DNAT" targets support' 99084a59ca5SPablo Neira Ayuso depends on NF_NAT 991a7f7f624SMasahiro Yamada help 99284a59ca5SPablo Neira Ayuso This option enables the SNAT and DNAT targets. 99384a59ca5SPablo Neira Ayuso 99484a59ca5SPablo Neira Ayuso To compile it as a module, choose M here. If unsure, say N. 99584a59ca5SPablo Neira Ayuso 996b3d54b3eSJan Engelhardtconfig NETFILTER_XT_TARGET_NETMAP 997b3d54b3eSJan Engelhardt tristate '"NETMAP" target support' 998b3d54b3eSJan Engelhardt depends on NF_NAT 999a7f7f624SMasahiro Yamada help 1000b3d54b3eSJan Engelhardt NETMAP is an implementation of static 1:1 NAT mapping of network 1001b3d54b3eSJan Engelhardt addresses. It maps the network address part, while keeping the host 1002b3d54b3eSJan Engelhardt address part intact. 1003b3d54b3eSJan Engelhardt 1004b3d54b3eSJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1005b3d54b3eSJan Engelhardt 1006baf7b1e1SPatrick McHardyconfig NETFILTER_XT_TARGET_NFLOG 1007baf7b1e1SPatrick McHardy tristate '"NFLOG" target support' 100833b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 1009293a4f28SEric Leblond select NETFILTER_NETLINK_LOG 1010baf7b1e1SPatrick McHardy help 1011baf7b1e1SPatrick McHardy This option enables the NFLOG target, which allows to LOG 1012293a4f28SEric Leblond messages through nfnetlink_log. 1013baf7b1e1SPatrick McHardy 1014baf7b1e1SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1015baf7b1e1SPatrick McHardy 1016aba0d348SJan Engelhardtconfig NETFILTER_XT_TARGET_NFQUEUE 1017aba0d348SJan Engelhardt tristate '"NFQUEUE" target Support' 1018aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 10195f2cafe7SFlorian Westphal select NETFILTER_NETLINK_QUEUE 1020aba0d348SJan Engelhardt help 1021aba0d348SJan Engelhardt This target replaced the old obsolete QUEUE target. 1022aba0d348SJan Engelhardt 1023aba0d348SJan Engelhardt As opposed to QUEUE, it supports 65535 different queues, 1024aba0d348SJan Engelhardt not just one. 1025aba0d348SJan Engelhardt 1026aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1027aba0d348SJan Engelhardt 102810db9069SPablo Neira Ayusoconfig NETFILTER_XT_TARGET_NOTRACK 102910db9069SPablo Neira Ayuso tristate '"NOTRACK" target support (DEPRECATED)' 1030757ae316SPablo Neira Ayuso depends on NF_CONNTRACK 1031757ae316SPablo Neira Ayuso depends on IP_NF_RAW || IP6_NF_RAW 1032757ae316SPablo Neira Ayuso depends on NETFILTER_ADVANCED 103310db9069SPablo Neira Ayuso select NETFILTER_XT_TARGET_CT 103410db9069SPablo Neira Ayuso 10355859034dSPatrick McHardyconfig NETFILTER_XT_TARGET_RATEEST 10365859034dSPatrick McHardy tristate '"RATEEST" target support' 1037b26e76b7SPatrick McHardy depends on NETFILTER_ADVANCED 10385859034dSPatrick McHardy help 10395859034dSPatrick McHardy This option adds a `RATEEST' target, which allows to measure 10405859034dSPatrick McHardy rates similar to TC estimators. The `rateest' match can be 10415859034dSPatrick McHardy used to match on the measured rates. 10425859034dSPatrick McHardy 10435859034dSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 10445859034dSPatrick McHardy 10452cbc78a2SJan Engelhardtconfig NETFILTER_XT_TARGET_REDIRECT 10462cbc78a2SJan Engelhardt tristate "REDIRECT target support" 10472cbc78a2SJan Engelhardt depends on NF_NAT 1048b59eaf9eSPablo Neira Ayuso select NF_NAT_REDIRECT 1049a7f7f624SMasahiro Yamada help 10502cbc78a2SJan Engelhardt REDIRECT is a special case of NAT: all incoming connections are 10512cbc78a2SJan Engelhardt mapped onto the incoming interface's address, causing the packets to 10522cbc78a2SJan Engelhardt come to the local machine instead of passing through. This is 10532cbc78a2SJan Engelhardt useful for transparent proxies. 10542cbc78a2SJan Engelhardt 10552cbc78a2SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 10562cbc78a2SJan Engelhardt 1057adf82accSFlorian Westphalconfig NETFILTER_XT_TARGET_MASQUERADE 1058adf82accSFlorian Westphal tristate "MASQUERADE target support" 1059adf82accSFlorian Westphal depends on NF_NAT 1060adf82accSFlorian Westphal default m if NETFILTER_ADVANCED=n 1061adf82accSFlorian Westphal select NF_NAT_MASQUERADE 1062adf82accSFlorian Westphal help 1063adf82accSFlorian Westphal Masquerading is a special case of NAT: all outgoing connections are 1064adf82accSFlorian Westphal changed to seem to come from a particular interface's address, and 1065adf82accSFlorian Westphal if the interface goes down, those connections are lost. This is 1066adf82accSFlorian Westphal only useful for dialup accounts with dynamic IP address (ie. your IP 1067adf82accSFlorian Westphal address will be different on next dialup). 1068adf82accSFlorian Westphal 1069adf82accSFlorian Westphal To compile it as a module, choose M here. If unsure, say N. 1070adf82accSFlorian Westphal 1071e281b198SJan Engelhardtconfig NETFILTER_XT_TARGET_TEE 1072fe6fb552SArnd Hannemann tristate '"TEE" - packet cloning to alternate destination' 1073e281b198SJan Engelhardt depends on NETFILTER_ADVANCED 1074f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 107583827f6aSRandy Dunlap depends on !NF_CONNTRACK || NF_CONNTRACK 1076d1fa3810SArnd Bergmann depends on IP6_NF_IPTABLES || !IP6_NF_IPTABLES 1077bbde9fc1SPablo Neira Ayuso select NF_DUP_IPV4 10785d400a49SMáté Eckl select NF_DUP_IPV6 if IP6_NF_IPTABLES 1079a7f7f624SMasahiro Yamada help 1080e281b198SJan Engelhardt This option adds a "TEE" target with which a packet can be cloned and 1081e281b198SJan Engelhardt this clone be rerouted to another nexthop. 1082e281b198SJan Engelhardt 1083e8439270SKOVACS Krisztianconfig NETFILTER_XT_TARGET_TPROXY 1084fd158d79SFlorian Westphal tristate '"TPROXY" target transparent proxying support' 1085e8439270SKOVACS Krisztian depends on NETFILTER_XTABLES 1086e8439270SKOVACS Krisztian depends on NETFILTER_ADVANCED 1087f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 1088f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 1089a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || NFT_COMPAT 1090e8439270SKOVACS Krisztian select NF_DEFRAG_IPV4 109174ec4d55SArnd Bergmann select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n 109245ca4e0cSMáté Eckl select NF_TPROXY_IPV4 109345ca4e0cSMáté Eckl select NF_TPROXY_IPV6 if IP6_NF_IPTABLES 1094e8439270SKOVACS Krisztian help 1095e8439270SKOVACS Krisztian This option adds a `TPROXY' target, which is somewhat similar to 1096e8439270SKOVACS Krisztian REDIRECT. It can only be used in the mangle table and is useful 1097e8439270SKOVACS Krisztian to redirect traffic to a transparent proxy. It does _not_ depend 1098e8439270SKOVACS Krisztian on Netfilter connection tracking and NAT, unlike REDIRECT. 1099fd158d79SFlorian Westphal For it to work you will have to configure certain iptables rules 1100fd158d79SFlorian Westphal and use policy routing. For more information on how to set it up 11014ac0b122SMauro Carvalho Chehab see Documentation/networking/tproxy.rst. 1102e8439270SKOVACS Krisztian 1103e8439270SKOVACS Krisztian To compile it as a module, choose M here. If unsure, say N. 1104e8439270SKOVACS Krisztian 1105ba9dda3aSJozsef Kadlecsikconfig NETFILTER_XT_TARGET_TRACE 1106ba9dda3aSJozsef Kadlecsik tristate '"TRACE" target support' 1107ba9dda3aSJozsef Kadlecsik depends on IP_NF_RAW || IP6_NF_RAW 110833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1109ba9dda3aSJozsef Kadlecsik help 1110ba9dda3aSJozsef Kadlecsik The TRACE target allows you to mark packets so that the kernel 1111ba9dda3aSJozsef Kadlecsik will log every rule which match the packets as those traverse 1112ba9dda3aSJozsef Kadlecsik the tables, chains, rules. 1113ba9dda3aSJozsef Kadlecsik 1114ba9dda3aSJozsef Kadlecsik If you want to compile it as a module, say M here and read 1115cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 1116ba9dda3aSJozsef Kadlecsik 11175e6874cdSJames Morrisconfig NETFILTER_XT_TARGET_SECMARK 11185e6874cdSJames Morris tristate '"SECMARK" target support' 1119c2df73deSJan Engelhardt depends on NETWORK_SECMARK 112033b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 11215e6874cdSJames Morris help 11225e6874cdSJames Morris The SECMARK target allows security marking of network 11235e6874cdSJames Morris packets, for use with security subsystems. 11245e6874cdSJames Morris 11255e6874cdSJames Morris To compile it as a module, choose M here. If unsure, say N. 11265e6874cdSJames Morris 1127cdd289a2SPatrick McHardyconfig NETFILTER_XT_TARGET_TCPMSS 1128cdd289a2SPatrick McHardy tristate '"TCPMSS" target support' 1129f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 113033b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 1131a7f7f624SMasahiro Yamada help 1132cdd289a2SPatrick McHardy This option adds a `TCPMSS' target, which allows you to alter the 1133cdd289a2SPatrick McHardy MSS value of TCP SYN packets, to control the maximum size for that 1134cdd289a2SPatrick McHardy connection (usually limiting it to your outgoing interface's MTU 1135cdd289a2SPatrick McHardy minus 40). 1136cdd289a2SPatrick McHardy 1137cdd289a2SPatrick McHardy This is used to overcome criminally braindead ISPs or servers which 1138cdd289a2SPatrick McHardy block ICMP Fragmentation Needed packets. The symptoms of this 1139cdd289a2SPatrick McHardy problem are that everything works fine from your Linux 1140cdd289a2SPatrick McHardy firewall/router, but machines behind it can never exchange large 1141cdd289a2SPatrick McHardy packets: 1142cdd289a2SPatrick McHardy 1) Web browsers connect, then hang with no data received. 1143cdd289a2SPatrick McHardy 2) Small mail works fine, but large emails hang. 1144cdd289a2SPatrick McHardy 3) ssh works fine, but scp hangs after initial handshaking. 1145cdd289a2SPatrick McHardy 1146cdd289a2SPatrick McHardy Workaround: activate this option and add a rule to your firewall 1147cdd289a2SPatrick McHardy configuration like: 1148cdd289a2SPatrick McHardy 1149cdd289a2SPatrick McHardy iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ 1150cdd289a2SPatrick McHardy -j TCPMSS --clamp-mss-to-pmtu 1151cdd289a2SPatrick McHardy 1152cdd289a2SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1153cdd289a2SPatrick McHardy 1154338e8a79SSven Schnelleconfig NETFILTER_XT_TARGET_TCPOPTSTRIP 1155663ef0d1SKees Cook tristate '"TCPOPTSTRIP" target support' 1156a9525c7fSFlorian Westphal depends on IP_NF_MANGLE || IP6_NF_MANGLE || NFT_COMPAT 115733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1158338e8a79SSven Schnelle help 1159338e8a79SSven Schnelle This option adds a "TCPOPTSTRIP" target, which allows you to strip 1160338e8a79SSven Schnelle TCP options from TCP packets. 1161338e8a79SSven Schnelle 116244c58731SJan Engelhardt# alphabetically ordered list of matches 116344c58731SJan Engelhardt 116444c58731SJan Engelhardtcomment "Xtables matches" 116544c58731SJan Engelhardt 1166de81bbeaSFlorian Westphalconfig NETFILTER_XT_MATCH_ADDRTYPE 1167de81bbeaSFlorian Westphal tristate '"addrtype" address type match support' 11685cca4aceSAnton Blanchard default m if NETFILTER_ADVANCED=n 1169a7f7f624SMasahiro Yamada help 1170de81bbeaSFlorian Westphal This option allows you to match what routing thinks of an address, 1171de81bbeaSFlorian Westphal eg. UNICAST, LOCAL, BROADCAST, ... 1172de81bbeaSFlorian Westphal 1173de81bbeaSFlorian Westphal If you want to compile it as a module, say M here and read 1174cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 1175de81bbeaSFlorian Westphal 1176e6f30c73SWillem de Bruijnconfig NETFILTER_XT_MATCH_BPF 1177e6f30c73SWillem de Bruijn tristate '"bpf" match support' 1178e6f30c73SWillem de Bruijn depends on NETFILTER_ADVANCED 1179e6f30c73SWillem de Bruijn help 1180e6f30c73SWillem de Bruijn BPF matching applies a linux socket filter to each packet and 1181e6f30c73SWillem de Bruijn accepts those for which the filter returns non-zero. 1182e6f30c73SWillem de Bruijn 1183e6f30c73SWillem de Bruijn To compile it as a module, choose M here. If unsure, say N. 1184e6f30c73SWillem de Bruijn 118582a37132SDaniel Borkmannconfig NETFILTER_XT_MATCH_CGROUP 118682a37132SDaniel Borkmann tristate '"control group" match support' 118782a37132SDaniel Borkmann depends on NETFILTER_ADVANCED 118882a37132SDaniel Borkmann depends on CGROUPS 11893ba0032aSMichal Koutný select SOCK_CGROUP_DATA 1190a7f7f624SMasahiro Yamada help 119182a37132SDaniel Borkmann Socket/process control group matching allows you to match locally 119282a37132SDaniel Borkmann generated packets based on which net_cls control group processes 119382a37132SDaniel Borkmann belong to. 119482a37132SDaniel Borkmann 11950269ea49SPablo Neira Ayusoconfig NETFILTER_XT_MATCH_CLUSTER 11960269ea49SPablo Neira Ayuso tristate '"cluster" match support' 11970269ea49SPablo Neira Ayuso depends on NF_CONNTRACK 11980269ea49SPablo Neira Ayuso depends on NETFILTER_ADVANCED 1199a7f7f624SMasahiro Yamada help 12000269ea49SPablo Neira Ayuso This option allows you to build work-load-sharing clusters of 12010269ea49SPablo Neira Ayuso network servers/stateful firewalls without having a dedicated 12020269ea49SPablo Neira Ayuso load-balancing router/server/switch. Basically, this match returns 12030269ea49SPablo Neira Ayuso true when the packet must be handled by this cluster node. Thus, 12040269ea49SPablo Neira Ayuso all nodes see all packets and this match decides which node handles 12050269ea49SPablo Neira Ayuso what packets. The work-load sharing algorithm is based on source 12060269ea49SPablo Neira Ayuso address hashing. 12070269ea49SPablo Neira Ayuso 12080269ea49SPablo Neira Ayuso If you say Y or M here, try `iptables -m cluster --help` for 12090269ea49SPablo Neira Ayuso more information. 12100269ea49SPablo Neira Ayuso 12112e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_COMMENT 12122e4e6a17SHarald Welte tristate '"comment" match support' 121333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 12142e4e6a17SHarald Welte help 12152e4e6a17SHarald Welte This option adds a `comment' dummy-match, which allows you to put 12162e4e6a17SHarald Welte comments in your iptables ruleset. 12172e4e6a17SHarald Welte 12182e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1219cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12202e4e6a17SHarald Welte 12212e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNBYTES 12222e4e6a17SHarald Welte tristate '"connbytes" per-connection counter match support' 1223587aa641SPatrick McHardy depends on NF_CONNTRACK 122433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 12252e4e6a17SHarald Welte help 12262e4e6a17SHarald Welte This option adds a `connbytes' match, which allows you to match the 12272e4e6a17SHarald Welte number of bytes and/or packets for each direction within a connection. 12282e4e6a17SHarald Welte 12292e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1230cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12312e4e6a17SHarald Welte 1232c539f017SFlorian Westphalconfig NETFILTER_XT_MATCH_CONNLABEL 1233c539f017SFlorian Westphal tristate '"connlabel" match support' 1234c539f017SFlorian Westphal select NF_CONNTRACK_LABELS 123535612a22SFlorian Westphal depends on NF_CONNTRACK 1236c539f017SFlorian Westphal depends on NETFILTER_ADVANCED 1237a7f7f624SMasahiro Yamada help 1238c539f017SFlorian Westphal This match allows you to test and assign userspace-defined labels names 1239c539f017SFlorian Westphal to a connection. The kernel only stores bit values - mapping 1240c539f017SFlorian Westphal names to bits is done by userspace. 1241c539f017SFlorian Westphal 1242c539f017SFlorian Westphal Unlike connmark, more than 32 flag bits may be assigned to a 1243c539f017SFlorian Westphal connection simultaneously. 1244c539f017SFlorian Westphal 1245370786f9SJan Engelhardtconfig NETFILTER_XT_MATCH_CONNLIMIT 124648192248SRandy Dunlap tristate '"connlimit" match support' 12473fd8f9e4SCornelia Huck depends on NF_CONNTRACK 124833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1249625c5561SFlorian Westphal select NETFILTER_CONNCOUNT 1250a7f7f624SMasahiro Yamada help 1251370786f9SJan Engelhardt This match allows you to match against the number of parallel 1252370786f9SJan Engelhardt connections to a server per client IP address (or address block). 1253370786f9SJan Engelhardt 12542e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNMARK 12552e4e6a17SHarald Welte tristate '"connmark" connection mark match support' 1256587aa641SPatrick McHardy depends on NF_CONNTRACK 125733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1258b8f00ba2SJan Engelhardt select NETFILTER_XT_CONNMARK 1259a7f7f624SMasahiro Yamada help 1260b8f00ba2SJan Engelhardt This is a backwards-compat option for the user's convenience 1261b8f00ba2SJan Engelhardt (e.g. when running oldconfig). It selects 1262b8f00ba2SJan Engelhardt CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module). 12632e4e6a17SHarald Welte 12642e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNTRACK 12652e4e6a17SHarald Welte tristate '"conntrack" connection tracking match support' 1266587aa641SPatrick McHardy depends on NF_CONNTRACK 126733b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 12682e4e6a17SHarald Welte help 12692e4e6a17SHarald Welte This is a general conntrack match module, a superset of the state match. 12702e4e6a17SHarald Welte 12712e4e6a17SHarald Welte It allows matching on additional conntrack information, which is 12722e4e6a17SHarald Welte useful in complex configurations, such as NAT gateways with multiple 12732e4e6a17SHarald Welte internet links or tunnels. 12742e4e6a17SHarald Welte 12752e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 12762e4e6a17SHarald Welte 1277e8648a1fSEric Dumazetconfig NETFILTER_XT_MATCH_CPU 1278e8648a1fSEric Dumazet tristate '"cpu" match support' 1279e8648a1fSEric Dumazet depends on NETFILTER_ADVANCED 1280e8648a1fSEric Dumazet help 1281e8648a1fSEric Dumazet CPU matching allows you to match packets based on the CPU 1282e8648a1fSEric Dumazet currently handling the packet. 1283e8648a1fSEric Dumazet 1284e8648a1fSEric Dumazet To compile it as a module, choose M here. If unsure, say N. 1285e8648a1fSEric Dumazet 12862e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_DCCP 1287fd72f265SPablo Neira Ayuso tristate '"dccp" protocol match support (DEPRECATED)' 128833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1289fd72f265SPablo Neira Ayuso default n 12902e4e6a17SHarald Welte help 12912e4e6a17SHarald Welte With this option enabled, you will be able to use the iptables 12922e4e6a17SHarald Welte `dccp' match in order to match on DCCP source/destination ports 12932e4e6a17SHarald Welte and DCCP flags. 12942e4e6a17SHarald Welte 12952e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1296cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12972e4e6a17SHarald Welte 12989291747fSPatrick McHardyconfig NETFILTER_XT_MATCH_DEVGROUP 12999291747fSPatrick McHardy tristate '"devgroup" match support' 13009291747fSPatrick McHardy depends on NETFILTER_ADVANCED 13019291747fSPatrick McHardy help 13029291747fSPatrick McHardy This options adds a `devgroup' match, which allows to match on the 13039291747fSPatrick McHardy device group a network device is assigned to. 13049291747fSPatrick McHardy 13059291747fSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 13069291747fSPatrick McHardy 13079ba16276SYasuyuki Kozakaiconfig NETFILTER_XT_MATCH_DSCP 1308c3b33e6aSJan Engelhardt tristate '"dscp" and "tos" match support' 130933b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 13109ba16276SYasuyuki Kozakai help 13119ba16276SYasuyuki Kozakai This option adds a `DSCP' match, which allows you to match against 13129ba16276SYasuyuki Kozakai the IPv4/IPv6 header DSCP field (differentiated services codepoint). 13139ba16276SYasuyuki Kozakai 13149ba16276SYasuyuki Kozakai The DSCP field can have any value between 0x0 and 0x3f inclusive. 13159ba16276SYasuyuki Kozakai 1316c3b33e6aSJan Engelhardt It will also add a "tos" match, which allows you to match packets 1317c3b33e6aSJan Engelhardt based on the Type Of Service fields of the IPv4 packet (which share 1318c3b33e6aSJan Engelhardt the same bits as DSCP). 1319c3b33e6aSJan Engelhardt 13209ba16276SYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 13219ba16276SYasuyuki Kozakai 1322d446a820SJan Engelhardtconfig NETFILTER_XT_MATCH_ECN 1323d446a820SJan Engelhardt tristate '"ecn" match support' 1324d446a820SJan Engelhardt depends on NETFILTER_ADVANCED 1325a7f7f624SMasahiro Yamada help 1326d446a820SJan Engelhardt This option adds an "ECN" match, which allows you to match against 1327d446a820SJan Engelhardt the IPv4 and TCP header ECN fields. 1328d446a820SJan Engelhardt 1329d446a820SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1330d446a820SJan Engelhardt 1331dc5ab2faSYasuyuki Kozakaiconfig NETFILTER_XT_MATCH_ESP 13324c37799cSJan Engelhardt tristate '"esp" match support' 133333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1334dc5ab2faSYasuyuki Kozakai help 1335dc5ab2faSYasuyuki Kozakai This match extension allows you to match a range of SPIs 1336dc5ab2faSYasuyuki Kozakai inside ESP header of IPSec packets. 1337dc5ab2faSYasuyuki Kozakai 1338dc5ab2faSYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 1339dc5ab2faSYasuyuki Kozakai 1340aba0d348SJan Engelhardtconfig NETFILTER_XT_MATCH_HASHLIMIT 1341aba0d348SJan Engelhardt tristate '"hashlimit" match support' 1342f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 1343aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 1344aba0d348SJan Engelhardt help 1345aba0d348SJan Engelhardt This option adds a `hashlimit' match. 1346aba0d348SJan Engelhardt 1347aba0d348SJan Engelhardt As opposed to `limit', this match dynamically creates a hash table 1348aba0d348SJan Engelhardt of limit buckets, based on your selection of source/destination 1349aba0d348SJan Engelhardt addresses and/or ports. 1350aba0d348SJan Engelhardt 1351aba0d348SJan Engelhardt It enables you to express policies like `10kpps for any given 1352aba0d348SJan Engelhardt destination address' or `500pps from any given source address' 1353aba0d348SJan Engelhardt with a single rule. 1354aba0d348SJan Engelhardt 13552e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_HELPER 13562e4e6a17SHarald Welte tristate '"helper" match support' 1357587aa641SPatrick McHardy depends on NF_CONNTRACK 135833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 13592e4e6a17SHarald Welte help 13602e4e6a17SHarald Welte Helper matching allows you to match packets in dynamic connections 136105ba4c89SYonatan Goldschmidt tracked by a conntrack-helper, ie. nf_conntrack_ftp 13622e4e6a17SHarald Welte 13632e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say Y. 13642e4e6a17SHarald Welte 1365cfac5ef7SJan Engelhardtconfig NETFILTER_XT_MATCH_HL 1366cfac5ef7SJan Engelhardt tristate '"hl" hoplimit/TTL match support' 1367cfac5ef7SJan Engelhardt depends on NETFILTER_ADVANCED 1368a7f7f624SMasahiro Yamada help 1369cfac5ef7SJan Engelhardt HL matching allows you to match packets based on the hoplimit 1370cfac5ef7SJan Engelhardt in the IPv6 header, or the time-to-live field in the IPv4 1371cfac5ef7SJan Engelhardt header of the packet. 1372cfac5ef7SJan Engelhardt 13736a649f33Sfan.duconfig NETFILTER_XT_MATCH_IPCOMP 13746a649f33Sfan.du tristate '"ipcomp" match support' 13756a649f33Sfan.du depends on NETFILTER_ADVANCED 13766a649f33Sfan.du help 13776a649f33Sfan.du This match extension allows you to match a range of CPIs(16 bits) 13786a649f33Sfan.du inside IPComp header of IPSec packets. 13796a649f33Sfan.du 13806a649f33Sfan.du To compile it as a module, choose M here. If unsure, say N. 13816a649f33Sfan.du 1382f72e25a8SJan Engelhardtconfig NETFILTER_XT_MATCH_IPRANGE 1383f72e25a8SJan Engelhardt tristate '"iprange" address range match support' 1384f72e25a8SJan Engelhardt depends on NETFILTER_ADVANCED 1385a7f7f624SMasahiro Yamada help 1386f72e25a8SJan Engelhardt This option adds a "iprange" match, which allows you to match based on 1387f72e25a8SJan Engelhardt an IP address range. (Normal iptables only matches on single addresses 1388f72e25a8SJan Engelhardt with an optional mask.) 1389f72e25a8SJan Engelhardt 1390f72e25a8SJan Engelhardt If unsure, say M. 1391f72e25a8SJan Engelhardt 13929c3e1c39SHannes Ederconfig NETFILTER_XT_MATCH_IPVS 13939c3e1c39SHannes Eder tristate '"ipvs" match support' 13949c3e1c39SHannes Eder depends on IP_VS 13959c3e1c39SHannes Eder depends on NETFILTER_ADVANCED 13969c3e1c39SHannes Eder depends on NF_CONNTRACK 13979c3e1c39SHannes Eder help 13989c3e1c39SHannes Eder This option allows you to match against IPVS properties of a packet. 13999c3e1c39SHannes Eder 14009c3e1c39SHannes Eder If unsure, say N. 14019c3e1c39SHannes Eder 140274f77a6bSJames Chapmanconfig NETFILTER_XT_MATCH_L2TP 140374f77a6bSJames Chapman tristate '"l2tp" match support' 140474f77a6bSJames Chapman depends on NETFILTER_ADVANCED 140574f77a6bSJames Chapman default L2TP 1406a7f7f624SMasahiro Yamada help 140774f77a6bSJames Chapman This option adds an "L2TP" match, which allows you to match against 140874f77a6bSJames Chapman L2TP protocol header fields. 140974f77a6bSJames Chapman 141074f77a6bSJames Chapman To compile it as a module, choose M here. If unsure, say N. 141174f77a6bSJames Chapman 14122e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_LENGTH 14132e4e6a17SHarald Welte tristate '"length" match support' 141433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14152e4e6a17SHarald Welte help 14162e4e6a17SHarald Welte This option allows you to match the length of a packet against a 14172e4e6a17SHarald Welte specific value or range of values. 14182e4e6a17SHarald Welte 14192e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14202e4e6a17SHarald Welte 14212e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_LIMIT 14222e4e6a17SHarald Welte tristate '"limit" match support' 142333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14242e4e6a17SHarald Welte help 14252e4e6a17SHarald Welte limit matching allows you to control the rate at which a rule can be 14262e4e6a17SHarald Welte matched: mainly useful in combination with the LOG target ("LOG 14272e4e6a17SHarald Welte target support", below) and to avoid some Denial of Service attacks. 14282e4e6a17SHarald Welte 14292e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14302e4e6a17SHarald Welte 14312e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_MAC 14322e4e6a17SHarald Welte tristate '"mac" address match support' 143333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14342e4e6a17SHarald Welte help 14352e4e6a17SHarald Welte MAC matching allows you to match packets based on the source 14362e4e6a17SHarald Welte Ethernet address of the packet. 14372e4e6a17SHarald Welte 14382e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14392e4e6a17SHarald Welte 14402e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_MARK 14412e4e6a17SHarald Welte tristate '"mark" match support' 144228b94988SJan Engelhardt depends on NETFILTER_ADVANCED 144328b94988SJan Engelhardt select NETFILTER_XT_MARK 1444a7f7f624SMasahiro Yamada help 144528b94988SJan Engelhardt This is a backwards-compat option for the user's convenience 144628b94988SJan Engelhardt (e.g. when running oldconfig). It selects 144728b94988SJan Engelhardt CONFIG_NETFILTER_XT_MARK (combined mark/MARK module). 14482e4e6a17SHarald Welte 1449aba0d348SJan Engelhardtconfig NETFILTER_XT_MATCH_MULTIPORT 1450aba0d348SJan Engelhardt tristate '"multiport" Multiple port match support' 1451aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 1452aba0d348SJan Engelhardt help 1453aba0d348SJan Engelhardt Multiport matching allows you to match TCP or UDP packets based on 1454aba0d348SJan Engelhardt a series of source or destination ports: normally a rule can only 1455aba0d348SJan Engelhardt match a single range of ports. 1456aba0d348SJan Engelhardt 1457aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1458aba0d348SJan Engelhardt 1459ceb98d03SPablo Neira Ayusoconfig NETFILTER_XT_MATCH_NFACCT 1460ceb98d03SPablo Neira Ayuso tristate '"nfacct" match support' 1461bc94b521SPablo Neira Ayuso depends on NETFILTER_ADVANCED 1462ceb98d03SPablo Neira Ayuso select NETFILTER_NETLINK_ACCT 1463ceb98d03SPablo Neira Ayuso help 1464ceb98d03SPablo Neira Ayuso This option allows you to use the extended accounting through 1465ceb98d03SPablo Neira Ayuso nfnetlink_acct. 1466ceb98d03SPablo Neira Ayuso 1467ceb98d03SPablo Neira Ayuso To compile it as a module, choose M here. If unsure, say N. 1468ceb98d03SPablo Neira Ayuso 1469115bc8f2SJan Engelhardtconfig NETFILTER_XT_MATCH_OSF 1470115bc8f2SJan Engelhardt tristate '"osf" Passive OS fingerprint match' 1471f6b7b5f4SFernando Fernandez Mancera depends on NETFILTER_ADVANCED 1472f6b7b5f4SFernando Fernandez Mancera select NETFILTER_NETLINK_OSF 1473115bc8f2SJan Engelhardt help 1474115bc8f2SJan Engelhardt This option selects the Passive OS Fingerprinting match module 1475115bc8f2SJan Engelhardt that allows to passively match the remote operating system by 1476115bc8f2SJan Engelhardt analyzing incoming TCP SYN packets. 1477115bc8f2SJan Engelhardt 1478115bc8f2SJan Engelhardt Rules and loading software can be downloaded from 1479115bc8f2SJan Engelhardt http://www.ioremap.net/projects/osf 1480115bc8f2SJan Engelhardt 1481115bc8f2SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1482115bc8f2SJan Engelhardt 14830265ab44SJan Engelhardtconfig NETFILTER_XT_MATCH_OWNER 14840265ab44SJan Engelhardt tristate '"owner" match support' 148533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1486a7f7f624SMasahiro Yamada help 14870265ab44SJan Engelhardt Socket owner matching allows you to match locally-generated packets 14880265ab44SJan Engelhardt based on who created the socket: the user or group. It is also 14890265ab44SJan Engelhardt possible to check whether a socket actually exists. 14900265ab44SJan Engelhardt 1491c4b88513SPatrick McHardyconfig NETFILTER_XT_MATCH_POLICY 1492c4b88513SPatrick McHardy tristate 'IPsec "policy" match support' 1493c2df73deSJan Engelhardt depends on XFRM 149433b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 1495c4b88513SPatrick McHardy help 1496c4b88513SPatrick McHardy Policy matching allows you to match packets based on the 1497c4b88513SPatrick McHardy IPsec policy that was used during decapsulation/will 1498c4b88513SPatrick McHardy be used during encapsulation. 1499c4b88513SPatrick McHardy 1500c4b88513SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1501c4b88513SPatrick McHardy 15022e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_PHYSDEV 15032e4e6a17SHarald Welte tristate '"physdev" match support' 1504c2df73deSJan Engelhardt depends on BRIDGE && BRIDGE_NETFILTER 150533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 15062e4e6a17SHarald Welte help 15072e4e6a17SHarald Welte Physdev packet matching matches against the physical bridge ports 15082e4e6a17SHarald Welte the IP packet arrived on or will leave by. 15092e4e6a17SHarald Welte 15102e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 15112e4e6a17SHarald Welte 15122e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_PKTTYPE 15132e4e6a17SHarald Welte tristate '"pkttype" packet type match support' 151433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 15152e4e6a17SHarald Welte help 15162e4e6a17SHarald Welte Packet type matching allows you to match a packet by 15172e4e6a17SHarald Welte its "class", eg. BROADCAST, MULTICAST, ... 15182e4e6a17SHarald Welte 15192e4e6a17SHarald Welte Typical usage: 15202e4e6a17SHarald Welte iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG 15212e4e6a17SHarald Welte 15222e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 15232e4e6a17SHarald Welte 152462b77434SPatrick McHardyconfig NETFILTER_XT_MATCH_QUOTA 152562b77434SPatrick McHardy tristate '"quota" match support' 152633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 152762b77434SPatrick McHardy help 152862b77434SPatrick McHardy This option adds a `quota' match, which allows to match on a 152962b77434SPatrick McHardy byte counter. 153062b77434SPatrick McHardy 153162b77434SPatrick McHardy If you want to compile it as a module, say M here and read 1532cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 153362b77434SPatrick McHardy 153450c164a8SPatrick McHardyconfig NETFILTER_XT_MATCH_RATEEST 153550c164a8SPatrick McHardy tristate '"rateest" match support' 1536b26e76b7SPatrick McHardy depends on NETFILTER_ADVANCED 153750c164a8SPatrick McHardy select NETFILTER_XT_TARGET_RATEEST 153850c164a8SPatrick McHardy help 153950c164a8SPatrick McHardy This option adds a `rateest' match, which allows to match on the 154050c164a8SPatrick McHardy rate estimated by the RATEEST target. 154150c164a8SPatrick McHardy 154250c164a8SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 154350c164a8SPatrick McHardy 15442e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_REALM 15452e4e6a17SHarald Welte tristate '"realm" match support' 154633b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1547c7066f70SPatrick McHardy select IP_ROUTE_CLASSID 15482e4e6a17SHarald Welte help 15492e4e6a17SHarald Welte This option adds a `realm' match, which allows you to use the realm 15502e4e6a17SHarald Welte key from the routing subsystem inside iptables. 15512e4e6a17SHarald Welte 15522e4e6a17SHarald Welte This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 15532e4e6a17SHarald Welte in tc world. 15542e4e6a17SHarald Welte 15552e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1556cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 15572e4e6a17SHarald Welte 1558e948b20aSJan Engelhardtconfig NETFILTER_XT_MATCH_RECENT 1559e948b20aSJan Engelhardt tristate '"recent" match support' 1560e948b20aSJan Engelhardt depends on NETFILTER_ADVANCED 1561a7f7f624SMasahiro Yamada help 1562e948b20aSJan Engelhardt This match is used for creating one or many lists of recently 1563e948b20aSJan Engelhardt used addresses and then matching against that/those list(s). 1564e948b20aSJan Engelhardt 1565e948b20aSJan Engelhardt Short options are available by using 'iptables -m recent -h' 1566e948b20aSJan Engelhardt Official Website: <http://snowman.net/projects/ipt_recent/> 1567e948b20aSJan Engelhardt 15682e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_SCTP 1569663ef0d1SKees Cook tristate '"sctp" protocol match support' 157033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1571f3261affSPatrick McHardy default IP_SCTP 15722e4e6a17SHarald Welte help 15732e4e6a17SHarald Welte With this option enabled, you will be able to use the 15742e4e6a17SHarald Welte `sctp' match in order to match on SCTP source/destination ports 15752e4e6a17SHarald Welte and SCTP chunk types. 15762e4e6a17SHarald Welte 15772e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1578cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 15792e4e6a17SHarald Welte 1580136cdc71SKOVACS Krisztianconfig NETFILTER_XT_MATCH_SOCKET 1581663ef0d1SKees Cook tristate '"socket" match support' 1582136cdc71SKOVACS Krisztian depends on NETFILTER_XTABLES 1583136cdc71SKOVACS Krisztian depends on NETFILTER_ADVANCED 1584f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 1585f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 15867414d929SMáté Eckl select NF_SOCKET_IPV4 15877414d929SMáté Eckl select NF_SOCKET_IPV6 if IP6_NF_IPTABLES 1588136cdc71SKOVACS Krisztian select NF_DEFRAG_IPV4 158974ec4d55SArnd Bergmann select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n 1590136cdc71SKOVACS Krisztian help 1591136cdc71SKOVACS Krisztian This option adds a `socket' match, which can be used to match 1592136cdc71SKOVACS Krisztian packets for which a TCP or UDP socket lookup finds a valid socket. 1593136cdc71SKOVACS Krisztian It can be used in combination with the MARK target and policy 1594136cdc71SKOVACS Krisztian routing to implement full featured non-locally bound sockets. 1595136cdc71SKOVACS Krisztian 1596136cdc71SKOVACS Krisztian To compile it as a module, choose M here. If unsure, say N. 1597136cdc71SKOVACS Krisztian 15982e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_STATE 15992e4e6a17SHarald Welte tristate '"state" match support' 1600587aa641SPatrick McHardy depends on NF_CONNTRACK 160133b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 16022e4e6a17SHarald Welte help 16032e4e6a17SHarald Welte Connection state matching allows you to match packets based on their 16042e4e6a17SHarald Welte relationship to a tracked connection (ie. previous packets). This 16052e4e6a17SHarald Welte is a powerful tool for packet classification. 16062e4e6a17SHarald Welte 16072e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 16082e4e6a17SHarald Welte 1609f3389805SPatrick McHardyconfig NETFILTER_XT_MATCH_STATISTIC 1610f3389805SPatrick McHardy tristate '"statistic" match support' 161133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1612f3389805SPatrick McHardy help 161368c1692eSPatrick McHardy This option adds a `statistic' match, which allows you to match 161468c1692eSPatrick McHardy on packets periodically or randomly with a given percentage. 161568c1692eSPatrick McHardy 161668c1692eSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1617f3389805SPatrick McHardy 16182e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_STRING 16192e4e6a17SHarald Welte tristate '"string" match support' 162033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 16212e4e6a17SHarald Welte select TEXTSEARCH 16222e4e6a17SHarald Welte select TEXTSEARCH_KMP 16232e4e6a17SHarald Welte select TEXTSEARCH_BM 16242e4e6a17SHarald Welte select TEXTSEARCH_FSM 16252e4e6a17SHarald Welte help 16262e4e6a17SHarald Welte This option adds a `string' match, which allows you to look for 16272e4e6a17SHarald Welte pattern matchings in packets. 16282e4e6a17SHarald Welte 16292e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 16302e4e6a17SHarald Welte 16312e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_TCPMSS 16322e4e6a17SHarald Welte tristate '"tcpmss" match support' 163333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 16342e4e6a17SHarald Welte help 16352e4e6a17SHarald Welte This option adds a `tcpmss' match, which allows you to examine the 16362e4e6a17SHarald Welte MSS value of TCP SYN packets, which control the maximum packet size 16372e4e6a17SHarald Welte for that connection. 16382e4e6a17SHarald Welte 16392e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 16402e4e6a17SHarald Welte 1641ee4411a1SJan Engelhardtconfig NETFILTER_XT_MATCH_TIME 1642ee4411a1SJan Engelhardt tristate '"time" match support' 164333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1644a7f7f624SMasahiro Yamada help 1645ee4411a1SJan Engelhardt This option adds a "time" match, which allows you to match based on 1646ee4411a1SJan Engelhardt the packet arrival time (at the machine which netfilter is running) 1647ee4411a1SJan Engelhardt on) or departure time/date (for locally generated packets). 1648ee4411a1SJan Engelhardt 1649ee4411a1SJan Engelhardt If you say Y here, try `iptables -m time --help` for 1650ee4411a1SJan Engelhardt more information. 1651ee4411a1SJan Engelhardt 1652ee4411a1SJan Engelhardt If you want to compile it as a module, say M here. 1653ee4411a1SJan Engelhardt If unsure, say N. 1654ee4411a1SJan Engelhardt 16551b50b8a3SJan Engelhardtconfig NETFILTER_XT_MATCH_U32 16561b50b8a3SJan Engelhardt tristate '"u32" match support' 165733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1658a7f7f624SMasahiro Yamada help 16591b50b8a3SJan Engelhardt u32 allows you to extract quantities of up to 4 bytes from a packet, 16601b50b8a3SJan Engelhardt AND them with specified masks, shift them by specified amounts and 16611b50b8a3SJan Engelhardt test whether the results are in any of a set of specified ranges. 16621b50b8a3SJan Engelhardt The specification of what to extract is general enough to skip over 16631b50b8a3SJan Engelhardt headers with lengths stored in the packet, as in IP or TCP header 16641b50b8a3SJan Engelhardt lengths. 16651b50b8a3SJan Engelhardt 16661b50b8a3SJan Engelhardt Details and examples are in the kernel module source. 16671b50b8a3SJan Engelhardt 1668c2df73deSJan Engelhardtendif # NETFILTER_XTABLES 1669a6c1cd57SHarald Welte 1670c2df73deSJan Engelhardtendmenu 1671f9e815b3SHarald Welte 1672a7b4f989SJozsef Kadlecsiksource "net/netfilter/ipset/Kconfig" 1673a7b4f989SJozsef Kadlecsik 1674cb7f6a7bSJulius Volzsource "net/netfilter/ipvs/Kconfig" 1675