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 33*84601d6eSFlorian Westphalconfig NETFILTER_BPF_LINK 34*84601d6eSFlorian Westphal def_bool BPF_SYSCALL 35*84601d6eSFlorian 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 1982bc78049SPatrick McHardyconfig NF_CT_PROTO_DCCP 199c51d3901SDavide Caratti bool 'DCCP protocol connection tracking support' 2002bc78049SPatrick McHardy depends on NETFILTER_ADVANCED 201c51d3901SDavide Caratti default y 2022bc78049SPatrick McHardy help 2032bc78049SPatrick McHardy With this option enabled, the layer 3 independent connection 2042bc78049SPatrick McHardy tracking code will be able to do state tracking on DCCP connections. 2052bc78049SPatrick McHardy 206c51d3901SDavide Caratti If unsure, say Y. 2072bc78049SPatrick McHardy 208f09943feSPatrick McHardyconfig NF_CT_PROTO_GRE 20922fc4c4cSFlorian Westphal bool 210f09943feSPatrick McHardy 2119fb9cbb1SYasuyuki Kozakaiconfig NF_CT_PROTO_SCTP 212a85406afSDavide Caratti bool 'SCTP protocol connection tracking support' 21333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 214a85406afSDavide Caratti default y 215300ae149SDavide Caratti select LIBCRC32C 2169fb9cbb1SYasuyuki Kozakai help 2179fb9cbb1SYasuyuki Kozakai With this option enabled, the layer 3 independent connection 2189fb9cbb1SYasuyuki Kozakai tracking code will be able to do state tracking on SCTP connections. 2199fb9cbb1SYasuyuki Kozakai 220a85406afSDavide Caratti If unsure, say Y. 2219fb9cbb1SYasuyuki Kozakai 22259eecdfbSPatrick McHardyconfig NF_CT_PROTO_UDPLITE 2239b91c96cSDavide Caratti bool 'UDP-Lite protocol connection tracking support' 22433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 2259b91c96cSDavide Caratti default y 22659eecdfbSPatrick McHardy help 22759eecdfbSPatrick McHardy With this option enabled, the layer 3 independent connection 22859eecdfbSPatrick McHardy tracking code will be able to do state tracking on UDP-Lite 22959eecdfbSPatrick McHardy connections. 23059eecdfbSPatrick McHardy 2319b91c96cSDavide Caratti If unsure, say Y. 23259eecdfbSPatrick McHardy 23316958900SPatrick McHardyconfig NF_CONNTRACK_AMANDA 234c9386cfdSPatrick McHardy tristate "Amanda backup protocol support" 23533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 23616958900SPatrick McHardy select TEXTSEARCH 23716958900SPatrick McHardy select TEXTSEARCH_KMP 23816958900SPatrick McHardy help 23916958900SPatrick McHardy If you are running the Amanda backup package <http://www.amanda.org/> 24016958900SPatrick McHardy on this machine or machines that will be MASQUERADED through this 24116958900SPatrick McHardy machine, then you may want to enable this feature. This allows the 24216958900SPatrick McHardy connection tracking and natting code to allow the sub-channels that 24316958900SPatrick McHardy Amanda requires for communication of the backup data, messages and 24416958900SPatrick McHardy index. 24516958900SPatrick McHardy 24616958900SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 24716958900SPatrick McHardy 2489fb9cbb1SYasuyuki Kozakaiconfig NF_CONNTRACK_FTP 249c9386cfdSPatrick McHardy tristate "FTP protocol support" 25033b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 2519fb9cbb1SYasuyuki Kozakai help 2529fb9cbb1SYasuyuki Kozakai Tracking FTP connections is problematic: special helpers are 2539fb9cbb1SYasuyuki Kozakai required for tracking them, and doing masquerading and other forms 2549fb9cbb1SYasuyuki Kozakai of Network Address Translation on them. 2559fb9cbb1SYasuyuki Kozakai 2569fb9cbb1SYasuyuki Kozakai This is FTP support on Layer 3 independent connection tracking. 2579fb9cbb1SYasuyuki Kozakai 2589fb9cbb1SYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 2599fb9cbb1SYasuyuki Kozakai 260f587de0eSPatrick McHardyconfig NF_CONNTRACK_H323 2618ce22fcaSPatrick McHardy tristate "H.323 protocol support" 262f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 26333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 264f587de0eSPatrick McHardy help 265f587de0eSPatrick McHardy H.323 is a VoIP signalling protocol from ITU-T. As one of the most 266f587de0eSPatrick McHardy important VoIP protocols, it is widely used by voice hardware and 267f587de0eSPatrick McHardy software including voice gateways, IP phones, Netmeeting, OpenPhone, 268f587de0eSPatrick McHardy Gnomemeeting, etc. 269f587de0eSPatrick McHardy 270f587de0eSPatrick McHardy With this module you can support H.323 on a connection tracking/NAT 271f587de0eSPatrick McHardy firewall. 272f587de0eSPatrick McHardy 273f587de0eSPatrick McHardy This module supports RAS, Fast Start, H.245 Tunnelling, Call 274f587de0eSPatrick McHardy Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat, 275f587de0eSPatrick McHardy whiteboard, file transfer, etc. For more information, please 276f587de0eSPatrick McHardy visit http://nath323.sourceforge.net/. 277f587de0eSPatrick McHardy 278f587de0eSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 279f587de0eSPatrick McHardy 280869f37d8SPatrick McHardyconfig NF_CONNTRACK_IRC 281c9386cfdSPatrick McHardy tristate "IRC protocol support" 28233b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 283869f37d8SPatrick McHardy help 284869f37d8SPatrick McHardy There is a commonly-used extension to IRC called 285869f37d8SPatrick McHardy Direct Client-to-Client Protocol (DCC). This enables users to send 286869f37d8SPatrick McHardy files to each other, and also chat to each other without the need 287869f37d8SPatrick McHardy of a server. DCC Sending is used anywhere you send files over IRC, 288869f37d8SPatrick McHardy and DCC Chat is most commonly used by Eggdrop bots. If you are 289869f37d8SPatrick McHardy using NAT, this extension will enable you to send files and initiate 290869f37d8SPatrick McHardy chats. Note that you do NOT need this extension to get files or 291869f37d8SPatrick McHardy have others initiate chats, or everything else in IRC. 292869f37d8SPatrick McHardy 293869f37d8SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 294869f37d8SPatrick McHardy 29593557f53SJiri Olsaconfig NF_CONNTRACK_BROADCAST 29693557f53SJiri Olsa tristate 29793557f53SJiri Olsa 29892703eeeSPatrick McHardyconfig NF_CONNTRACK_NETBIOS_NS 2998ce22fcaSPatrick McHardy tristate "NetBIOS name service protocol support" 30093557f53SJiri Olsa select NF_CONNTRACK_BROADCAST 30192703eeeSPatrick McHardy help 30292703eeeSPatrick McHardy NetBIOS name service requests are sent as broadcast messages from an 30392703eeeSPatrick McHardy unprivileged port and responded to with unicast messages to the 30492703eeeSPatrick McHardy same port. This make them hard to firewall properly because connection 30592703eeeSPatrick McHardy tracking doesn't deal with broadcasts. This helper tracks locally 30692703eeeSPatrick McHardy originating NetBIOS name service requests and the corresponding 30792703eeeSPatrick McHardy responses. It relies on correct IP address configuration, specifically 30892703eeeSPatrick McHardy netmask and broadcast address. When properly configured, the output 30992703eeeSPatrick McHardy of "ip address show" should look similar to this: 31092703eeeSPatrick McHardy 31192703eeeSPatrick McHardy $ ip -4 address show eth0 31292703eeeSPatrick McHardy 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 31392703eeeSPatrick McHardy inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0 31492703eeeSPatrick McHardy 31592703eeeSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 31692703eeeSPatrick McHardy 31793557f53SJiri Olsaconfig NF_CONNTRACK_SNMP 31893557f53SJiri Olsa tristate "SNMP service protocol support" 31993557f53SJiri Olsa depends on NETFILTER_ADVANCED 32093557f53SJiri Olsa select NF_CONNTRACK_BROADCAST 32193557f53SJiri Olsa help 32293557f53SJiri Olsa SNMP service requests are sent as broadcast messages from an 32393557f53SJiri Olsa unprivileged port and responded to with unicast messages to the 32493557f53SJiri Olsa same port. This make them hard to firewall properly because connection 32593557f53SJiri Olsa tracking doesn't deal with broadcasts. This helper tracks locally 32693557f53SJiri Olsa originating SNMP service requests and the corresponding 32793557f53SJiri Olsa responses. It relies on correct IP address configuration, specifically 32893557f53SJiri Olsa netmask and broadcast address. 32993557f53SJiri Olsa 33093557f53SJiri Olsa To compile it as a module, choose M here. If unsure, say N. 33193557f53SJiri Olsa 332f09943feSPatrick McHardyconfig NF_CONNTRACK_PPTP 333c9386cfdSPatrick McHardy tristate "PPtP protocol support" 33433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 335f09943feSPatrick McHardy select NF_CT_PROTO_GRE 336f09943feSPatrick McHardy help 337f09943feSPatrick McHardy This module adds support for PPTP (Point to Point Tunnelling 338f09943feSPatrick McHardy Protocol, RFC2637) connection tracking and NAT. 339f09943feSPatrick McHardy 340f09943feSPatrick McHardy If you are running PPTP sessions over a stateful firewall or NAT 341f09943feSPatrick McHardy box, you may want to enable this feature. 342f09943feSPatrick McHardy 343f09943feSPatrick McHardy Please note that not all PPTP modes of operation are supported yet. 344f09943feSPatrick McHardy Specifically these limitations exist: 3453dde6ad8SDavid Sterba - Blindly assumes that control connections are always established 346f09943feSPatrick McHardy in PNS->PAC direction. This is a violation of RFC2637. 347f09943feSPatrick McHardy - Only supports a single call within each session 348f09943feSPatrick McHardy 349f09943feSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 350f09943feSPatrick McHardy 3516fecd198SMichal Schmidtconfig NF_CONNTRACK_SANE 352663ef0d1SKees Cook tristate "SANE protocol support" 35333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 3546fecd198SMichal Schmidt help 3556fecd198SMichal Schmidt SANE is a protocol for remote access to scanners as implemented 3566fecd198SMichal Schmidt by the 'saned' daemon. Like FTP, it uses separate control and 3576fecd198SMichal Schmidt data connections. 3586fecd198SMichal Schmidt 3596fecd198SMichal Schmidt With this module you can support SANE on a connection tracking 3606fecd198SMichal Schmidt firewall. 3616fecd198SMichal Schmidt 3626fecd198SMichal Schmidt To compile it as a module, choose M here. If unsure, say N. 3636fecd198SMichal Schmidt 3649fafcd7bSPatrick McHardyconfig NF_CONNTRACK_SIP 3658ce22fcaSPatrick McHardy tristate "SIP protocol support" 36633b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 3679fafcd7bSPatrick McHardy help 3689fafcd7bSPatrick McHardy SIP is an application-layer control protocol that can establish, 3699fafcd7bSPatrick McHardy modify, and terminate multimedia sessions (conferences) such as 37005ba4c89SYonatan Goldschmidt Internet telephony calls. With the nf_conntrack_sip and 3719fafcd7bSPatrick McHardy the nf_nat_sip modules you can support the protocol on a connection 3729fafcd7bSPatrick McHardy tracking/NATing firewall. 3739fafcd7bSPatrick McHardy 3749fafcd7bSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 3759fafcd7bSPatrick McHardy 376a536df35SPatrick McHardyconfig NF_CONNTRACK_TFTP 377c9386cfdSPatrick McHardy tristate "TFTP protocol support" 37833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 379a536df35SPatrick McHardy help 380a536df35SPatrick McHardy TFTP connection tracking helper, this is required depending 381a536df35SPatrick McHardy on how restrictive your ruleset is. 382a536df35SPatrick McHardy If you are using a tftp client behind -j SNAT or -j MASQUERADING 383a536df35SPatrick McHardy you will need this. 384a536df35SPatrick McHardy 385a536df35SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 386a536df35SPatrick McHardy 387c1d10adbSPablo Neira Ayusoconfig NF_CT_NETLINK 3888ce22fcaSPatrick McHardy tristate 'Connection tracking netlink interface' 3892eeeba39SPatrick McHardy select NETFILTER_NETLINK 39033b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 391c1d10adbSPablo Neira Ayuso help 392c1d10adbSPablo Neira Ayuso This option enables support for a netlink-based userspace interface 393c1d10adbSPablo Neira Ayuso 39450978462SPablo Neira Ayusoconfig NF_CT_NETLINK_TIMEOUT 39550978462SPablo Neira Ayuso tristate 'Connection tracking timeout tuning via Netlink' 39650978462SPablo Neira Ayuso select NETFILTER_NETLINK 39750978462SPablo Neira Ayuso depends on NETFILTER_ADVANCED 398c7530326SHarsha Sharma depends on NF_CONNTRACK_TIMEOUT 39950978462SPablo Neira Ayuso help 40050978462SPablo Neira Ayuso This option enables support for connection tracking timeout 40150978462SPablo Neira Ayuso fine-grain tuning. This allows you to attach specific timeout 40250978462SPablo Neira Ayuso policies to flows, instead of using the global timeout policy. 40350978462SPablo Neira Ayuso 40450978462SPablo Neira Ayuso If unsure, say `N'. 40550978462SPablo Neira Ayuso 4066e9c2db3SPablo Neira Ayusoconfig NF_CT_NETLINK_HELPER 4076e9c2db3SPablo Neira Ayuso tristate 'Connection tracking helpers in user-space via Netlink' 4086e9c2db3SPablo Neira Ayuso select NETFILTER_NETLINK 4096e9c2db3SPablo Neira Ayuso depends on NF_CT_NETLINK 4106e9c2db3SPablo Neira Ayuso depends on NETFILTER_NETLINK_QUEUE 41183f3e94dSKen-ichirou MATSUZAWA depends on NETFILTER_NETLINK_GLUE_CT 4126e9c2db3SPablo Neira Ayuso depends on NETFILTER_ADVANCED 4136e9c2db3SPablo Neira Ayuso help 4146e9c2db3SPablo Neira Ayuso This option enables the user-space connection tracking helpers 4156e9c2db3SPablo Neira Ayuso infrastructure. 4166e9c2db3SPablo Neira Ayuso 4176e9c2db3SPablo Neira Ayuso If unsure, say `N'. 4186e9c2db3SPablo Neira Ayuso 41983f3e94dSKen-ichirou MATSUZAWAconfig NETFILTER_NETLINK_GLUE_CT 420a29a9a58SKen-ichirou MATSUZAWA bool "NFQUEUE and NFLOG integration with Connection Tracking" 4217c622345SPablo Neira Ayuso default n 422a29a9a58SKen-ichirou MATSUZAWA depends on (NETFILTER_NETLINK_QUEUE || NETFILTER_NETLINK_LOG) && NF_CT_NETLINK 4237c622345SPablo Neira Ayuso help 424a29a9a58SKen-ichirou MATSUZAWA If this option is enabled, NFQUEUE and NFLOG can include 425a29a9a58SKen-ichirou MATSUZAWA Connection Tracking information together with the packet is 426a29a9a58SKen-ichirou MATSUZAWA the enqueued via NFNETLINK. 4277c622345SPablo Neira Ayuso 428c7232c99SPatrick McHardyconfig NF_NAT 4293bf195aeSFlorian Westphal tristate "Network Address Translation support" 4303bf195aeSFlorian Westphal depends on NF_CONNTRACK 4313bf195aeSFlorian Westphal default m if NETFILTER_ADVANCED=n 4323bf195aeSFlorian Westphal help 4333bf195aeSFlorian Westphal The NAT option allows masquerading, port forwarding and other 4343bf195aeSFlorian Westphal forms of full Network Address Port Translation. This can be 4353bf195aeSFlorian Westphal controlled by iptables, ip6tables or nft. 436c7232c99SPatrick McHardy 437ee6eb966SPatrick McHardyconfig NF_NAT_AMANDA 438ee6eb966SPatrick McHardy tristate 439ee6eb966SPatrick McHardy depends on NF_CONNTRACK && NF_NAT 440ee6eb966SPatrick McHardy default NF_NAT && NF_CONNTRACK_AMANDA 441ee6eb966SPatrick McHardy 442d33cbeebSPatrick McHardyconfig NF_NAT_FTP 443d33cbeebSPatrick McHardy tristate 444d33cbeebSPatrick McHardy depends on NF_CONNTRACK && NF_NAT 445d33cbeebSPatrick McHardy default NF_NAT && NF_CONNTRACK_FTP 446d33cbeebSPatrick McHardy 4475901b6beSPablo Neira Ayusoconfig NF_NAT_IRC 4485901b6beSPablo Neira Ayuso tristate 4495901b6beSPablo Neira Ayuso depends on NF_CONNTRACK && NF_NAT 4505901b6beSPablo Neira Ayuso default NF_NAT && NF_CONNTRACK_IRC 4515901b6beSPablo Neira Ayuso 4529a664821SPatrick McHardyconfig NF_NAT_SIP 4539a664821SPatrick McHardy tristate 4549a664821SPatrick McHardy depends on NF_CONNTRACK && NF_NAT 4559a664821SPatrick McHardy default NF_NAT && NF_CONNTRACK_SIP 4569a664821SPatrick McHardy 457320ff567SPablo Neira Ayusoconfig NF_NAT_TFTP 458320ff567SPablo Neira Ayuso tristate 459320ff567SPablo Neira Ayuso depends on NF_CONNTRACK && NF_NAT 460320ff567SPablo Neira Ayuso default NF_NAT && NF_CONNTRACK_TFTP 461320ff567SPablo Neira Ayuso 462b59eaf9eSPablo Neira Ayusoconfig NF_NAT_REDIRECT 4631ac89d20SFlorian Westphal bool 464b59eaf9eSPablo Neira Ayuso 465d1aca8abSFlorian Westphalconfig NF_NAT_MASQUERADE 466d1aca8abSFlorian Westphal bool 467d1aca8abSFlorian Westphal 468ebddb140SXin Longconfig NF_NAT_OVS 469ebddb140SXin Long bool 470ebddb140SXin Long 47148b1de4cSPatrick McHardyconfig NETFILTER_SYNPROXY 47248b1de4cSPatrick McHardy tristate 47348b1de4cSPatrick McHardy 4744b070662SLaszlo Attila Tothendif # NF_CONNTRACK 4754b070662SLaszlo Attila Toth 47696518518SPatrick McHardyconfig NF_TABLES 4775f291c28SEric Leblond select NETFILTER_NETLINK 478346e320cSDavide Caratti select LIBCRC32C 47996518518SPatrick McHardy tristate "Netfilter nf_tables support" 480d497c635SPablo Neira Ayuso help 481d497c635SPablo Neira Ayuso nftables is the new packet classification framework that intends to 482d497c635SPablo Neira Ayuso replace the existing {ip,ip6,arp,eb}_tables infrastructure. It 483d497c635SPablo Neira Ayuso provides a pseudo-state machine with an extensible instruction-set 484d497c635SPablo Neira Ayuso (also known as expressions) that the userspace 'nft' utility 48550935339SAlexander A. Klimov (https://www.netfilter.org/projects/nftables) uses to build the 486d497c635SPablo Neira Ayuso rule-set. It also comes with the generic set infrastructure that 487d497c635SPablo Neira Ayuso allows you to construct mappings between matchings and actions 488d497c635SPablo Neira Ayuso for performance lookups. 489d497c635SPablo Neira Ayuso 490d497c635SPablo Neira Ayuso To compile it as a module, choose M here. 49196518518SPatrick McHardy 492f04e599eSPablo Neira Ayusoif NF_TABLES 4931d49144cSPatrick McHardyconfig NF_TABLES_INET 494f04e599eSPablo Neira Ayuso depends on IPV6 4951d49144cSPatrick McHardy select NF_TABLES_IPV4 4961d49144cSPatrick McHardy select NF_TABLES_IPV6 49702c7b25eSPablo Neira Ayuso bool "Netfilter nf_tables mixed IPv4/IPv6 tables support" 4981d49144cSPatrick McHardy help 4991d49144cSPatrick McHardy This option enables support for a mixed IPv4/IPv6 "inet" table. 5001d49144cSPatrick McHardy 501ed6c4136SPablo Neira Ayusoconfig NF_TABLES_NETDEV 50202c7b25eSPablo Neira Ayuso bool "Netfilter nf_tables netdev tables support" 503ed6c4136SPablo Neira Ayuso help 504ed6c4136SPablo Neira Ayuso This option enables support for the "netdev" table. 505ed6c4136SPablo Neira Ayuso 50691dbc6beSLaura Garcia Liebanaconfig NFT_NUMGEN 50791dbc6beSLaura Garcia Liebana tristate "Netfilter nf_tables number generator module" 50891dbc6beSLaura Garcia Liebana help 50991dbc6beSLaura Garcia Liebana This option adds the number generator expression used to perform 51091dbc6beSLaura Garcia Liebana incremental counting and random numbers bound to a upper limit. 51191dbc6beSLaura Garcia Liebana 51296518518SPatrick McHardyconfig NFT_CT 51396518518SPatrick McHardy depends on NF_CONNTRACK 51496518518SPatrick McHardy tristate "Netfilter nf_tables conntrack module" 515d497c635SPablo Neira Ayuso help 516e4670b05SWilliam Breathitt Gray This option adds the "ct" expression that you can use to match 517d497c635SPablo Neira Ayuso connection tracking information such as the flow state. 51896518518SPatrick McHardy 519a3c90f7aSPablo Neira Ayusoconfig NFT_FLOW_OFFLOAD 5209be9d04bSArnd Bergmann depends on NF_CONNTRACK && NF_FLOW_TABLE 521a3c90f7aSPablo Neira Ayuso tristate "Netfilter nf_tables hardware flow offload module" 522a3c90f7aSPablo Neira Ayuso help 523a3c90f7aSPablo Neira Ayuso This option adds the "flow_offload" expression that you can use to 524a3c90f7aSPablo Neira Ayuso choose what flows are placed into the hardware. 525a3c90f7aSPablo Neira Ayuso 526290180e2SPablo Neira Ayusoconfig NFT_CONNLIMIT 527290180e2SPablo Neira Ayuso tristate "Netfilter nf_tables connlimit module" 528290180e2SPablo Neira Ayuso depends on NF_CONNTRACK 529290180e2SPablo Neira Ayuso depends on NETFILTER_ADVANCED 530290180e2SPablo Neira Ayuso select NETFILTER_CONNCOUNT 531290180e2SPablo Neira Ayuso help 532290180e2SPablo Neira Ayuso This option adds the "connlimit" expression that you can use to 533290180e2SPablo Neira Ayuso ratelimit rule matchings per connections. 534290180e2SPablo Neira Ayuso 53596518518SPatrick McHardyconfig NFT_LOG 53696518518SPatrick McHardy tristate "Netfilter nf_tables log module" 537d497c635SPablo Neira Ayuso help 538d497c635SPablo Neira Ayuso This option adds the "log" expression that you can use to log 539d497c635SPablo Neira Ayuso packets matching some criteria. 54096518518SPatrick McHardy 54196518518SPatrick McHardyconfig NFT_LIMIT 54296518518SPatrick McHardy tristate "Netfilter nf_tables limit module" 543d497c635SPablo Neira Ayuso help 544d497c635SPablo Neira Ayuso This option adds the "limit" expression that you can use to 545d497c635SPablo Neira Ayuso ratelimit rule matchings. 54696518518SPatrick McHardy 5479ba1f726SArturo Borreroconfig NFT_MASQ 5489ba1f726SArturo Borrero depends on NF_CONNTRACK 5499ba1f726SArturo Borrero depends on NF_NAT 550a9ce849eSFlorian Westphal select NF_NAT_MASQUERADE 5519ba1f726SArturo Borrero tristate "Netfilter nf_tables masquerade support" 5529ba1f726SArturo Borrero help 5539ba1f726SArturo Borrero This option adds the "masquerade" expression that you can use 5549ba1f726SArturo Borrero to perform NAT in the masquerade flavour. 5559ba1f726SArturo Borrero 556e9105f1bSArturo Borreroconfig NFT_REDIR 557e9105f1bSArturo Borrero depends on NF_CONNTRACK 558e9105f1bSArturo Borrero depends on NF_NAT 559e9105f1bSArturo Borrero tristate "Netfilter nf_tables redirect support" 560c78efc99SFlorian Westphal select NF_NAT_REDIRECT 561e9105f1bSArturo Borrero help 562e9105f1bSArturo Borrero This options adds the "redirect" expression that you can use 563e9105f1bSArturo Borrero to perform NAT in the redirect flavour. 564e9105f1bSArturo Borrero 565eb31628eSTomasz Bursztykaconfig NFT_NAT 566eb31628eSTomasz Bursztyka depends on NF_CONNTRACK 5671e8430f3SPablo Neira Ayuso select NF_NAT 568db8ab388SFlorian Westphal depends on NF_TABLES_IPV4 || NF_TABLES_IPV6 569eb31628eSTomasz Bursztyka tristate "Netfilter nf_tables nat module" 570d497c635SPablo Neira Ayuso help 571d497c635SPablo Neira Ayuso This option adds the "nat" expression that you can use to perform 572d497c635SPablo Neira Ayuso typical Network Address Translation (NAT) packet transformations. 573eb31628eSTomasz Bursztyka 574af308b94SPablo Neira Ayusoconfig NFT_TUNNEL 575af308b94SPablo Neira Ayuso tristate "Netfilter nf_tables tunnel module" 576af308b94SPablo Neira Ayuso help 577af308b94SPablo Neira Ayuso This option adds the "tunnel" expression that you can use to set 578af308b94SPablo Neira Ayuso tunneling policies. 579af308b94SPablo Neira Ayuso 5800aff078dSEric Leblondconfig NFT_QUEUE 5810aff078dSEric Leblond depends on NETFILTER_NETLINK_QUEUE 5820aff078dSEric Leblond tristate "Netfilter nf_tables queue module" 5830aff078dSEric Leblond help 5840aff078dSEric Leblond This is required if you intend to use the userspace queueing 5850aff078dSEric Leblond infrastructure (also known as NFQUEUE) from nftables. 5860aff078dSEric Leblond 5873d2f30a1SPablo Neira Ayusoconfig NFT_QUOTA 5883d2f30a1SPablo Neira Ayuso tristate "Netfilter nf_tables quota module" 5893d2f30a1SPablo Neira Ayuso help 5903d2f30a1SPablo Neira Ayuso This option adds the "quota" expression that you can use to match 5913d2f30a1SPablo Neira Ayuso enforce bytes quotas. 5923d2f30a1SPablo Neira Ayuso 593bee11dc7SEric Leblondconfig NFT_REJECT 594bee11dc7SEric Leblond default m if NETFILTER_ADVANCED=n 595bee11dc7SEric Leblond tristate "Netfilter nf_tables reject support" 596a6615743SArnd Bergmann depends on !NF_TABLES_INET || (IPV6!=m || m) 597d497c635SPablo Neira Ayuso help 598d497c635SPablo Neira Ayuso This option adds the "reject" expression that you can use to 599d497c635SPablo Neira Ayuso explicitly deny and notify via TCP reset/ICMP informational errors 600d497c635SPablo Neira Ayuso unallowed traffic. 6010ca743a5SPablo Neira Ayuso 60205513e9eSPatrick McHardyconfig NFT_REJECT_INET 60305513e9eSPatrick McHardy depends on NF_TABLES_INET 60405513e9eSPatrick McHardy default NFT_REJECT 60505513e9eSPatrick McHardy tristate 60605513e9eSPatrick McHardy 6070ca743a5SPablo Neira Ayusoconfig NFT_COMPAT 6080ca743a5SPablo Neira Ayuso depends on NETFILTER_XTABLES 6090ca743a5SPablo Neira Ayuso tristate "Netfilter x_tables over nf_tables module" 6100ca743a5SPablo Neira Ayuso help 6110ca743a5SPablo Neira Ayuso This is required if you intend to use any of existing 6120ca743a5SPablo Neira Ayuso x_tables match/target extensions over the nf_tables 6130ca743a5SPablo Neira Ayuso framework. 6140ca743a5SPablo Neira Ayuso 615cb1b69b0SLaura Garcia Liebanaconfig NFT_HASH 616cb1b69b0SLaura Garcia Liebana tristate "Netfilter nf_tables hash module" 617cb1b69b0SLaura Garcia Liebana help 618cb1b69b0SLaura Garcia Liebana This option adds the "hash" expression that you can use to perform 619cb1b69b0SLaura Garcia Liebana a hash operation on registers. 620cb1b69b0SLaura Garcia Liebana 621f6d0cbcfSFlorian Westphalconfig NFT_FIB 622f6d0cbcfSFlorian Westphal tristate 623f6d0cbcfSFlorian Westphal 624f6d0cbcfSFlorian Westphalconfig NFT_FIB_INET 625f6d0cbcfSFlorian Westphal depends on NF_TABLES_INET 626f6d0cbcfSFlorian Westphal depends on NFT_FIB_IPV4 627f6d0cbcfSFlorian Westphal depends on NFT_FIB_IPV6 628f6d0cbcfSFlorian Westphal tristate "Netfilter nf_tables fib inet support" 629f6d0cbcfSFlorian Westphal help 630f6d0cbcfSFlorian Westphal This option allows using the FIB expression from the inet table. 631f6d0cbcfSFlorian Westphal The lookup will be delegated to the IPv4 or IPv6 FIB depending 632f6d0cbcfSFlorian Westphal on the protocol of the packet. 633f6d0cbcfSFlorian Westphal 6346c472602SFlorian Westphalconfig NFT_XFRM 6356c472602SFlorian Westphal tristate "Netfilter nf_tables xfrm/IPSec security association matching" 6366c472602SFlorian Westphal depends on XFRM 6376c472602SFlorian Westphal help 6386c472602SFlorian Westphal This option adds an expression that you can use to extract properties 6396c472602SFlorian Westphal of a packets security association. 6406c472602SFlorian Westphal 641554ced0aSMáté Ecklconfig NFT_SOCKET 642554ced0aSMáté Eckl tristate "Netfilter nf_tables socket match support" 643554ced0aSMáté Eckl depends on IPV6 || IPV6=n 644554ced0aSMáté Eckl select NF_SOCKET_IPV4 6455d400a49SMáté Eckl select NF_SOCKET_IPV6 if NF_TABLES_IPV6 646554ced0aSMáté Eckl help 647554ced0aSMáté Eckl This option allows matching for the presence or absence of a 648554ced0aSMáté Eckl corresponding socket and its attributes. 649554ced0aSMáté Eckl 650b96af92dSFernando Fernandez Manceraconfig NFT_OSF 651b96af92dSFernando Fernandez Mancera tristate "Netfilter nf_tables passive OS fingerprint support" 652b96af92dSFernando Fernandez Mancera depends on NETFILTER_ADVANCED 653b96af92dSFernando Fernandez Mancera select NETFILTER_NETLINK_OSF 654b96af92dSFernando Fernandez Mancera help 655b96af92dSFernando Fernandez Mancera This option allows matching packets from an specific OS. 656b96af92dSFernando Fernandez Mancera 6574ed8eb65SMáté Ecklconfig NFT_TPROXY 6584ed8eb65SMáté Eckl tristate "Netfilter nf_tables tproxy support" 6594ed8eb65SMáté Eckl depends on IPV6 || IPV6=n 6604ed8eb65SMáté Eckl select NF_DEFRAG_IPV4 6614ed8eb65SMáté Eckl select NF_DEFRAG_IPV6 if NF_TABLES_IPV6 6624ed8eb65SMáté Eckl select NF_TPROXY_IPV4 6634ed8eb65SMáté Eckl select NF_TPROXY_IPV6 if NF_TABLES_IPV6 6644ed8eb65SMáté Eckl help 6654ed8eb65SMáté Eckl This makes transparent proxy support available in nftables. 6664ed8eb65SMáté Eckl 667ad49d86eSFernando Fernandez Manceraconfig NFT_SYNPROXY 668ad49d86eSFernando Fernandez Mancera tristate "Netfilter nf_tables SYNPROXY expression support" 669ad49d86eSFernando Fernandez Mancera depends on NF_CONNTRACK && NETFILTER_ADVANCED 670ad49d86eSFernando Fernandez Mancera select NETFILTER_SYNPROXY 671ad49d86eSFernando Fernandez Mancera select SYN_COOKIES 672ad49d86eSFernando Fernandez Mancera help 673ad49d86eSFernando Fernandez Mancera The SYNPROXY expression allows you to intercept TCP connections and 674ad49d86eSFernando Fernandez Mancera establish them using syncookies before they are passed on to the 675ad49d86eSFernando Fernandez Mancera server. This allows to avoid conntrack and server resource usage 676ad49d86eSFernando Fernandez Mancera during SYN-flood attacks. 677ad49d86eSFernando Fernandez Mancera 678502061f8SPablo Neira Ayusoif NF_TABLES_NETDEV 679502061f8SPablo Neira Ayuso 680502061f8SPablo Neira Ayusoconfig NF_DUP_NETDEV 681502061f8SPablo Neira Ayuso tristate "Netfilter packet duplication support" 682502061f8SPablo Neira Ayuso help 683502061f8SPablo Neira Ayuso This option enables the generic packet duplication infrastructure 684502061f8SPablo Neira Ayuso for Netfilter. 685502061f8SPablo Neira Ayuso 686502061f8SPablo Neira Ayusoconfig NFT_DUP_NETDEV 687502061f8SPablo Neira Ayuso tristate "Netfilter nf_tables netdev packet duplication support" 688502061f8SPablo Neira Ayuso select NF_DUP_NETDEV 689502061f8SPablo Neira Ayuso help 690502061f8SPablo Neira Ayuso This option enables packet duplication for the "netdev" family. 691502061f8SPablo Neira Ayuso 69239e6dea2SPablo Neira Ayusoconfig NFT_FWD_NETDEV 69339e6dea2SPablo Neira Ayuso tristate "Netfilter nf_tables netdev packet forwarding support" 69439e6dea2SPablo Neira Ayuso select NF_DUP_NETDEV 69539e6dea2SPablo Neira Ayuso help 69639e6dea2SPablo Neira Ayuso This option enables packet forwarding for the "netdev" family. 69739e6dea2SPablo Neira Ayuso 6986392c226SPablo M. Bermudo Garayconfig NFT_FIB_NETDEV 6996392c226SPablo M. Bermudo Garay depends on NFT_FIB_IPV4 7006392c226SPablo M. Bermudo Garay depends on NFT_FIB_IPV6 7016392c226SPablo M. Bermudo Garay tristate "Netfilter nf_tables netdev fib lookups support" 7026392c226SPablo M. Bermudo Garay help 7036392c226SPablo M. Bermudo Garay This option allows using the FIB expression from the netdev table. 7046392c226SPablo M. Bermudo Garay The lookup will be delegated to the IPv4 or IPv6 FIB depending 7056392c226SPablo M. Bermudo Garay on the protocol of the packet. 7066392c226SPablo M. Bermudo Garay 7076bbb9ad3SJose M. Guisado Gomezconfig NFT_REJECT_NETDEV 7086bbb9ad3SJose M. Guisado Gomez depends on NFT_REJECT_IPV4 7096bbb9ad3SJose M. Guisado Gomez depends on NFT_REJECT_IPV6 7106bbb9ad3SJose M. Guisado Gomez tristate "Netfilter nf_tables netdev REJECT support" 7116bbb9ad3SJose M. Guisado Gomez help 7126bbb9ad3SJose M. Guisado Gomez This option enables the REJECT support from the netdev table. 7136bbb9ad3SJose M. Guisado Gomez The return packet generation will be delegated to the IPv4 7146bbb9ad3SJose M. Guisado Gomez or IPv6 ICMP or TCP RST implementation depending on the 7156bbb9ad3SJose M. Guisado Gomez protocol of the packet. 7166bbb9ad3SJose M. Guisado Gomez 717502061f8SPablo Neira Ayusoendif # NF_TABLES_NETDEV 718502061f8SPablo Neira Ayuso 719f04e599eSPablo Neira Ayusoendif # NF_TABLES 720f04e599eSPablo Neira Ayuso 7217c23b629SPablo Neira Ayusoconfig NF_FLOW_TABLE_INET 7227c23b629SPablo Neira Ayuso tristate "Netfilter flow table mixed IPv4/IPv6 module" 7231e80380bSFelix Fietkau depends on NF_FLOW_TABLE 7247c23b629SPablo Neira Ayuso help 7257c23b629SPablo Neira Ayuso This option adds the flow table mixed IPv4/IPv6 support. 7267c23b629SPablo Neira Ayuso 7277c23b629SPablo Neira Ayuso To compile it as a module, choose M here. 7287c23b629SPablo Neira Ayuso 729ac2a6666SPablo Neira Ayusoconfig NF_FLOW_TABLE 730ac2a6666SPablo Neira Ayuso tristate "Netfilter flow table module" 7316be3bcd7SPablo Neira Ayuso depends on NETFILTER_INGRESS 7326be3bcd7SPablo Neira Ayuso depends on NF_CONNTRACK 7336be3bcd7SPablo Neira Ayuso depends on NF_TABLES 734ac2a6666SPablo Neira Ayuso help 735ac2a6666SPablo Neira Ayuso This option adds the flow table core infrastructure. 736ac2a6666SPablo Neira Ayuso 737ac2a6666SPablo Neira Ayuso To compile it as a module, choose M here. 738ac2a6666SPablo Neira Ayuso 739b0381776SVlad Buslovconfig NF_FLOW_TABLE_PROCFS 740b0381776SVlad Buslov bool "Supply flow table statistics in procfs" 741b06ada6dSPablo Neira Ayuso depends on NF_FLOW_TABLE 742b0381776SVlad Buslov depends on PROC_FS 743b0381776SVlad Buslov help 744b0381776SVlad Buslov This option enables for the flow table offload statistics 745b0381776SVlad Buslov to be shown in procfs under net/netfilter/nf_flowtable. 746b0381776SVlad Buslov 7472e4e6a17SHarald Welteconfig NETFILTER_XTABLES 7482e4e6a17SHarald Welte tristate "Netfilter Xtables support (required for ip_tables)" 74933b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 7502e4e6a17SHarald Welte help 7512e4e6a17SHarald Welte This is required if you intend to use any of ip_tables, 7522e4e6a17SHarald Welte ip6_tables or arp_tables. 7532e4e6a17SHarald Welte 754c2df73deSJan Engelhardtif NETFILTER_XTABLES 755c2df73deSJan Engelhardt 75647a6959fSFlorian Westphalconfig NETFILTER_XTABLES_COMPAT 75747a6959fSFlorian Westphal bool "Netfilter Xtables 32bit support" 75847a6959fSFlorian Westphal depends on COMPAT 75947a6959fSFlorian Westphal help 76047a6959fSFlorian Westphal This option provides a translation layer to run 32bit arp,ip(6),ebtables 76147a6959fSFlorian Westphal binaries on 64bit kernels. 76247a6959fSFlorian Westphal 76347a6959fSFlorian Westphal If unsure, say N. 76447a6959fSFlorian Westphal 76528b94988SJan Engelhardtcomment "Xtables combined modules" 76628b94988SJan Engelhardt 76728b94988SJan Engelhardtconfig NETFILTER_XT_MARK 76828b94988SJan Engelhardt tristate 'nfmark target and match support' 76928b94988SJan Engelhardt default m if NETFILTER_ADVANCED=n 770a7f7f624SMasahiro Yamada help 77128b94988SJan Engelhardt This option adds the "MARK" target and "mark" match. 77228b94988SJan Engelhardt 77328b94988SJan Engelhardt Netfilter mark matching allows you to match packets based on the 77428b94988SJan Engelhardt "nfmark" value in the packet. 77528b94988SJan Engelhardt The target allows you to create rules in the "mangle" table which alter 77628b94988SJan Engelhardt the netfilter mark (nfmark) field associated with the packet. 77728b94988SJan Engelhardt 778f1504307SMoritz Sichert Prior to routing, the nfmark can influence the routing method and can 779f1504307SMoritz Sichert also be used by other subsystems to change their behavior. 78028b94988SJan Engelhardt 781b8f00ba2SJan Engelhardtconfig NETFILTER_XT_CONNMARK 782b8f00ba2SJan Engelhardt tristate 'ctmark target and match support' 783b8f00ba2SJan Engelhardt depends on NF_CONNTRACK 784b8f00ba2SJan Engelhardt depends on NETFILTER_ADVANCED 785b8f00ba2SJan Engelhardt select NF_CONNTRACK_MARK 786a7f7f624SMasahiro Yamada help 787b8f00ba2SJan Engelhardt This option adds the "CONNMARK" target and "connmark" match. 788b8f00ba2SJan Engelhardt 789b8f00ba2SJan Engelhardt Netfilter allows you to store a mark value per connection (a.k.a. 790b8f00ba2SJan Engelhardt ctmark), similarly to the packet mark (nfmark). Using this 791b8f00ba2SJan Engelhardt target and match, you can set and match on this mark. 792b8f00ba2SJan Engelhardt 793d956798dSJozsef Kadlecsikconfig NETFILTER_XT_SET 794d956798dSJozsef Kadlecsik tristate 'set target and match support' 795d956798dSJozsef Kadlecsik depends on IP_SET 796d956798dSJozsef Kadlecsik depends on NETFILTER_ADVANCED 797d956798dSJozsef Kadlecsik help 798d956798dSJozsef Kadlecsik This option adds the "SET" target and "set" match. 799d956798dSJozsef Kadlecsik 800d956798dSJozsef Kadlecsik Using this target and match, you can add/delete and match 801d956798dSJozsef Kadlecsik elements in the sets created by ipset(8). 802d956798dSJozsef Kadlecsik 803d956798dSJozsef Kadlecsik To compile it as a module, choose M here. If unsure, say N. 804d956798dSJozsef Kadlecsik 8052e4e6a17SHarald Welte# alphabetically ordered list of targets 8062e4e6a17SHarald Welte 80744c58731SJan Engelhardtcomment "Xtables targets" 80844c58731SJan Engelhardt 80943f393caSThomas Grafconfig NETFILTER_XT_TARGET_AUDIT 81043f393caSThomas Graf tristate "AUDIT target support" 81143f393caSThomas Graf depends on AUDIT 81243f393caSThomas Graf depends on NETFILTER_ADVANCED 813a7f7f624SMasahiro Yamada help 81443f393caSThomas Graf This option adds a 'AUDIT' target, which can be used to create 81543f393caSThomas Graf audit records for packets dropped/accepted. 81643f393caSThomas Graf 81743f393caSThomas Graf To compileit as a module, choose M here. If unsure, say N. 81843f393caSThomas Graf 819edf0e1fbSMichael S. Tsirkinconfig NETFILTER_XT_TARGET_CHECKSUM 820edf0e1fbSMichael S. Tsirkin tristate "CHECKSUM target support" 821edf0e1fbSMichael S. Tsirkin depends on IP_NF_MANGLE || IP6_NF_MANGLE 822edf0e1fbSMichael S. Tsirkin depends on NETFILTER_ADVANCED 823a7f7f624SMasahiro Yamada help 824edf0e1fbSMichael S. Tsirkin This option adds a `CHECKSUM' target, which can be used in the iptables mangle 82510568f6cSFlorian Westphal table to work around buggy DHCP clients in virtualized environments. 826edf0e1fbSMichael S. Tsirkin 82710568f6cSFlorian Westphal Some old DHCP clients drop packets because they are not aware 82810568f6cSFlorian Westphal that the checksum would normally be offloaded to hardware and 82910568f6cSFlorian Westphal thus should be considered valid. 83010568f6cSFlorian Westphal This target can be used to fill in the checksum using iptables 83110568f6cSFlorian Westphal when such packets are sent via a virtual network device. 832edf0e1fbSMichael S. Tsirkin 833edf0e1fbSMichael S. Tsirkin To compile it as a module, choose M here. If unsure, say N. 834edf0e1fbSMichael S. Tsirkin 8352e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_CLASSIFY 8362e4e6a17SHarald Welte tristate '"CLASSIFY" target support' 83733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 8382e4e6a17SHarald Welte help 8392e4e6a17SHarald Welte This option adds a `CLASSIFY' target, which enables the user to set 8402e4e6a17SHarald Welte the priority of a packet. Some qdiscs can use this value for 8412e4e6a17SHarald Welte classification, among these are: 8422e4e6a17SHarald Welte 8432e4e6a17SHarald Welte atm, cbq, dsmark, pfifo_fast, htb, prio 8442e4e6a17SHarald Welte 8452e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 8462e4e6a17SHarald Welte 8472e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_CONNMARK 8482e4e6a17SHarald Welte tristate '"CONNMARK" target support' 849587aa641SPatrick McHardy depends on NF_CONNTRACK 85033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 851b8f00ba2SJan Engelhardt select NETFILTER_XT_CONNMARK 852a7f7f624SMasahiro Yamada help 853b8f00ba2SJan Engelhardt This is a backwards-compat option for the user's convenience 854b8f00ba2SJan Engelhardt (e.g. when running oldconfig). It selects 855b8f00ba2SJan Engelhardt CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module). 8562e4e6a17SHarald Welte 857aba0d348SJan Engelhardtconfig NETFILTER_XT_TARGET_CONNSECMARK 858aba0d348SJan Engelhardt tristate '"CONNSECMARK" target support' 859c2df73deSJan Engelhardt depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK 860aba0d348SJan Engelhardt default m if NETFILTER_ADVANCED=n 861aba0d348SJan Engelhardt help 862aba0d348SJan Engelhardt The CONNSECMARK target copies security markings from packets 863aba0d348SJan Engelhardt to connections, and restores security markings from connections 864aba0d348SJan Engelhardt to packets (if the packets are not already marked). This would 865aba0d348SJan Engelhardt normally be used in conjunction with the SECMARK target. 866aba0d348SJan Engelhardt 867aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 868aba0d348SJan Engelhardt 86984f3bb9aSPatrick McHardyconfig NETFILTER_XT_TARGET_CT 87084f3bb9aSPatrick McHardy tristate '"CT" target support' 87184f3bb9aSPatrick McHardy depends on NF_CONNTRACK 87284f3bb9aSPatrick McHardy depends on IP_NF_RAW || IP6_NF_RAW 87384f3bb9aSPatrick McHardy depends on NETFILTER_ADVANCED 87484f3bb9aSPatrick McHardy help 87584f3bb9aSPatrick McHardy This options adds a `CT' target, which allows to specify initial 87684f3bb9aSPatrick McHardy connection tracking parameters like events to be delivered and 87784f3bb9aSPatrick McHardy the helper to be used. 87884f3bb9aSPatrick McHardy 87984f3bb9aSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 88084f3bb9aSPatrick McHardy 881a468701dSYasuyuki Kozakaiconfig NETFILTER_XT_TARGET_DSCP 882c9fd4968SJan Engelhardt tristate '"DSCP" and "TOS" target support' 883a468701dSYasuyuki Kozakai depends on IP_NF_MANGLE || IP6_NF_MANGLE 88433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 885a468701dSYasuyuki Kozakai help 886a468701dSYasuyuki Kozakai This option adds a `DSCP' target, which allows you to manipulate 887a468701dSYasuyuki Kozakai the IPv4/IPv6 header DSCP field (differentiated services codepoint). 888a468701dSYasuyuki Kozakai 889a468701dSYasuyuki Kozakai The DSCP field can have any value between 0x0 and 0x3f inclusive. 890a468701dSYasuyuki Kozakai 891c9fd4968SJan Engelhardt It also adds the "TOS" target, which allows you to create rules in 892c9fd4968SJan Engelhardt the "mangle" table which alter the Type Of Service field of an IPv4 8935c350e5aSJan Engelhardt or the Priority field of an IPv6 packet, prior to routing. 894c9fd4968SJan Engelhardt 895a468701dSYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 896a468701dSYasuyuki Kozakai 897563d36ebSJan Engelhardtconfig NETFILTER_XT_TARGET_HL 898563d36ebSJan Engelhardt tristate '"HL" hoplimit target support' 899563d36ebSJan Engelhardt depends on IP_NF_MANGLE || IP6_NF_MANGLE 900563d36ebSJan Engelhardt depends on NETFILTER_ADVANCED 901a7f7f624SMasahiro Yamada help 902563d36ebSJan Engelhardt This option adds the "HL" (for IPv6) and "TTL" (for IPv4) 903563d36ebSJan Engelhardt targets, which enable the user to change the 904563d36ebSJan Engelhardt hoplimit/time-to-live value of the IP header. 905563d36ebSJan Engelhardt 906563d36ebSJan Engelhardt While it is safe to decrement the hoplimit/TTL value, the 907563d36ebSJan Engelhardt modules also allow to increment and set the hoplimit value of 908563d36ebSJan Engelhardt the header to arbitrary values. This is EXTREMELY DANGEROUS 909563d36ebSJan Engelhardt since you can easily create immortal packets that loop 910563d36ebSJan Engelhardt forever on the network. 911563d36ebSJan Engelhardt 912cf308a1fSHans Schillstromconfig NETFILTER_XT_TARGET_HMARK 913cf308a1fSHans Schillstrom tristate '"HMARK" target support' 914f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 915cf308a1fSHans Schillstrom depends on NETFILTER_ADVANCED 916a7f7f624SMasahiro Yamada help 917cf308a1fSHans Schillstrom This option adds the "HMARK" target. 918cf308a1fSHans Schillstrom 919cf308a1fSHans Schillstrom The target allows you to create rules in the "raw" and "mangle" tables 920cf308a1fSHans Schillstrom which set the skbuff mark by means of hash calculation within a given 921f1504307SMoritz Sichert range. The nfmark can influence the routing method and can also be used 922f1504307SMoritz Sichert by other subsystems to change their behaviour. 923cf308a1fSHans Schillstrom 924cf308a1fSHans Schillstrom To compile it as a module, choose M here. If unsure, say N. 925cf308a1fSHans Schillstrom 9260902b469SLuciano Coelhoconfig NETFILTER_XT_TARGET_IDLETIMER 9270902b469SLuciano Coelho tristate "IDLETIMER target support" 9280902b469SLuciano Coelho depends on NETFILTER_ADVANCED 9290902b469SLuciano Coelho help 9300902b469SLuciano Coelho 9310902b469SLuciano Coelho This option adds the `IDLETIMER' target. Each matching packet 9320902b469SLuciano Coelho resets the timer associated with label specified when the rule is 9330902b469SLuciano Coelho added. When the timer expires, it triggers a sysfs notification. 9340902b469SLuciano Coelho The remaining time for expiration can be read via sysfs. 9350902b469SLuciano Coelho 9360902b469SLuciano Coelho To compile it as a module, choose M here. If unsure, say N. 9370902b469SLuciano Coelho 938268cb38eSAdam Nielsenconfig NETFILTER_XT_TARGET_LED 939268cb38eSAdam Nielsen tristate '"LED" target support' 9403ae16f13SAlex Riesen depends on LEDS_CLASS && LEDS_TRIGGERS 941268cb38eSAdam Nielsen depends on NETFILTER_ADVANCED 942268cb38eSAdam Nielsen help 943268cb38eSAdam Nielsen This option adds a `LED' target, which allows you to blink LEDs in 944268cb38eSAdam Nielsen response to particular packets passing through your machine. 945268cb38eSAdam Nielsen 946268cb38eSAdam Nielsen This can be used to turn a spare LED into a network activity LED, 947268cb38eSAdam Nielsen which only flashes in response to FTP transfers, for example. Or 948268cb38eSAdam Nielsen you could have an LED which lights up for a minute or two every time 949268cb38eSAdam Nielsen somebody connects to your machine via SSH. 950268cb38eSAdam Nielsen 951268cb38eSAdam Nielsen You will need support for the "led" class to make this work. 952268cb38eSAdam Nielsen 953268cb38eSAdam Nielsen To create an LED trigger for incoming SSH traffic: 954268cb38eSAdam Nielsen iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000 955268cb38eSAdam Nielsen 956268cb38eSAdam Nielsen Then attach the new trigger to an LED on your system: 957268cb38eSAdam Nielsen echo netfilter-ssh > /sys/class/leds/<ledname>/trigger 958268cb38eSAdam Nielsen 959268cb38eSAdam Nielsen For more information on the LEDs available on your system, see 9608dab9197SMauro Carvalho Chehab Documentation/leds/leds-class.rst 961268cb38eSAdam Nielsen 9626939c33aSRichard Weinbergerconfig NETFILTER_XT_TARGET_LOG 9636939c33aSRichard Weinberger tristate "LOG target support" 964db3187aeSFlorian Westphal select NF_LOG_SYSLOG 9655d400a49SMáté Eckl select NF_LOG_IPV6 if IP6_NF_IPTABLES 9666939c33aSRichard Weinberger default m if NETFILTER_ADVANCED=n 9676939c33aSRichard Weinberger help 9686939c33aSRichard Weinberger This option adds a `LOG' target, which allows you to create rules in 9696939c33aSRichard Weinberger any iptables table which records the packet header to the syslog. 9706939c33aSRichard Weinberger 9716939c33aSRichard Weinberger To compile it as a module, choose M here. If unsure, say N. 9726939c33aSRichard Weinberger 9732e4e6a17SHarald Welteconfig NETFILTER_XT_TARGET_MARK 9742e4e6a17SHarald Welte tristate '"MARK" target support' 97528b94988SJan Engelhardt depends on NETFILTER_ADVANCED 97628b94988SJan Engelhardt select NETFILTER_XT_MARK 977a7f7f624SMasahiro Yamada help 97828b94988SJan Engelhardt This is a backwards-compat option for the user's convenience 97928b94988SJan Engelhardt (e.g. when running oldconfig). It selects 98028b94988SJan Engelhardt CONFIG_NETFILTER_XT_MARK (combined mark/MARK module). 9812e4e6a17SHarald Welte 98284a59ca5SPablo Neira Ayusoconfig NETFILTER_XT_NAT 98384a59ca5SPablo Neira Ayuso tristate '"SNAT and DNAT" targets support' 98484a59ca5SPablo Neira Ayuso depends on NF_NAT 985a7f7f624SMasahiro Yamada help 98684a59ca5SPablo Neira Ayuso This option enables the SNAT and DNAT targets. 98784a59ca5SPablo Neira Ayuso 98884a59ca5SPablo Neira Ayuso To compile it as a module, choose M here. If unsure, say N. 98984a59ca5SPablo Neira Ayuso 990b3d54b3eSJan Engelhardtconfig NETFILTER_XT_TARGET_NETMAP 991b3d54b3eSJan Engelhardt tristate '"NETMAP" target support' 992b3d54b3eSJan Engelhardt depends on NF_NAT 993a7f7f624SMasahiro Yamada help 994b3d54b3eSJan Engelhardt NETMAP is an implementation of static 1:1 NAT mapping of network 995b3d54b3eSJan Engelhardt addresses. It maps the network address part, while keeping the host 996b3d54b3eSJan Engelhardt address part intact. 997b3d54b3eSJan Engelhardt 998b3d54b3eSJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 999b3d54b3eSJan Engelhardt 1000baf7b1e1SPatrick McHardyconfig NETFILTER_XT_TARGET_NFLOG 1001baf7b1e1SPatrick McHardy tristate '"NFLOG" target support' 100233b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 1003293a4f28SEric Leblond select NETFILTER_NETLINK_LOG 1004baf7b1e1SPatrick McHardy help 1005baf7b1e1SPatrick McHardy This option enables the NFLOG target, which allows to LOG 1006293a4f28SEric Leblond messages through nfnetlink_log. 1007baf7b1e1SPatrick McHardy 1008baf7b1e1SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1009baf7b1e1SPatrick McHardy 1010aba0d348SJan Engelhardtconfig NETFILTER_XT_TARGET_NFQUEUE 1011aba0d348SJan Engelhardt tristate '"NFQUEUE" target Support' 1012aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 10135f2cafe7SFlorian Westphal select NETFILTER_NETLINK_QUEUE 1014aba0d348SJan Engelhardt help 1015aba0d348SJan Engelhardt This target replaced the old obsolete QUEUE target. 1016aba0d348SJan Engelhardt 1017aba0d348SJan Engelhardt As opposed to QUEUE, it supports 65535 different queues, 1018aba0d348SJan Engelhardt not just one. 1019aba0d348SJan Engelhardt 1020aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1021aba0d348SJan Engelhardt 102210db9069SPablo Neira Ayusoconfig NETFILTER_XT_TARGET_NOTRACK 102310db9069SPablo Neira Ayuso tristate '"NOTRACK" target support (DEPRECATED)' 1024757ae316SPablo Neira Ayuso depends on NF_CONNTRACK 1025757ae316SPablo Neira Ayuso depends on IP_NF_RAW || IP6_NF_RAW 1026757ae316SPablo Neira Ayuso depends on NETFILTER_ADVANCED 102710db9069SPablo Neira Ayuso select NETFILTER_XT_TARGET_CT 102810db9069SPablo Neira Ayuso 10295859034dSPatrick McHardyconfig NETFILTER_XT_TARGET_RATEEST 10305859034dSPatrick McHardy tristate '"RATEEST" target support' 1031b26e76b7SPatrick McHardy depends on NETFILTER_ADVANCED 10325859034dSPatrick McHardy help 10335859034dSPatrick McHardy This option adds a `RATEEST' target, which allows to measure 10345859034dSPatrick McHardy rates similar to TC estimators. The `rateest' match can be 10355859034dSPatrick McHardy used to match on the measured rates. 10365859034dSPatrick McHardy 10375859034dSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 10385859034dSPatrick McHardy 10392cbc78a2SJan Engelhardtconfig NETFILTER_XT_TARGET_REDIRECT 10402cbc78a2SJan Engelhardt tristate "REDIRECT target support" 10412cbc78a2SJan Engelhardt depends on NF_NAT 1042b59eaf9eSPablo Neira Ayuso select NF_NAT_REDIRECT 1043a7f7f624SMasahiro Yamada help 10442cbc78a2SJan Engelhardt REDIRECT is a special case of NAT: all incoming connections are 10452cbc78a2SJan Engelhardt mapped onto the incoming interface's address, causing the packets to 10462cbc78a2SJan Engelhardt come to the local machine instead of passing through. This is 10472cbc78a2SJan Engelhardt useful for transparent proxies. 10482cbc78a2SJan Engelhardt 10492cbc78a2SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 10502cbc78a2SJan Engelhardt 1051adf82accSFlorian Westphalconfig NETFILTER_XT_TARGET_MASQUERADE 1052adf82accSFlorian Westphal tristate "MASQUERADE target support" 1053adf82accSFlorian Westphal depends on NF_NAT 1054adf82accSFlorian Westphal default m if NETFILTER_ADVANCED=n 1055adf82accSFlorian Westphal select NF_NAT_MASQUERADE 1056adf82accSFlorian Westphal help 1057adf82accSFlorian Westphal Masquerading is a special case of NAT: all outgoing connections are 1058adf82accSFlorian Westphal changed to seem to come from a particular interface's address, and 1059adf82accSFlorian Westphal if the interface goes down, those connections are lost. This is 1060adf82accSFlorian Westphal only useful for dialup accounts with dynamic IP address (ie. your IP 1061adf82accSFlorian Westphal address will be different on next dialup). 1062adf82accSFlorian Westphal 1063adf82accSFlorian Westphal To compile it as a module, choose M here. If unsure, say N. 1064adf82accSFlorian Westphal 1065e281b198SJan Engelhardtconfig NETFILTER_XT_TARGET_TEE 1066fe6fb552SArnd Hannemann tristate '"TEE" - packet cloning to alternate destination' 1067e281b198SJan Engelhardt depends on NETFILTER_ADVANCED 1068f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 106983827f6aSRandy Dunlap depends on !NF_CONNTRACK || NF_CONNTRACK 1070d1fa3810SArnd Bergmann depends on IP6_NF_IPTABLES || !IP6_NF_IPTABLES 1071bbde9fc1SPablo Neira Ayuso select NF_DUP_IPV4 10725d400a49SMáté Eckl select NF_DUP_IPV6 if IP6_NF_IPTABLES 1073a7f7f624SMasahiro Yamada help 1074e281b198SJan Engelhardt This option adds a "TEE" target with which a packet can be cloned and 1075e281b198SJan Engelhardt this clone be rerouted to another nexthop. 1076e281b198SJan Engelhardt 1077e8439270SKOVACS Krisztianconfig NETFILTER_XT_TARGET_TPROXY 1078fd158d79SFlorian Westphal tristate '"TPROXY" target transparent proxying support' 1079e8439270SKOVACS Krisztian depends on NETFILTER_XTABLES 1080e8439270SKOVACS Krisztian depends on NETFILTER_ADVANCED 1081f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 1082f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 1083fd158d79SFlorian Westphal depends on IP_NF_MANGLE 1084e8439270SKOVACS Krisztian select NF_DEFRAG_IPV4 108574ec4d55SArnd Bergmann select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n 108645ca4e0cSMáté Eckl select NF_TPROXY_IPV4 108745ca4e0cSMáté Eckl select NF_TPROXY_IPV6 if IP6_NF_IPTABLES 1088e8439270SKOVACS Krisztian help 1089e8439270SKOVACS Krisztian This option adds a `TPROXY' target, which is somewhat similar to 1090e8439270SKOVACS Krisztian REDIRECT. It can only be used in the mangle table and is useful 1091e8439270SKOVACS Krisztian to redirect traffic to a transparent proxy. It does _not_ depend 1092e8439270SKOVACS Krisztian on Netfilter connection tracking and NAT, unlike REDIRECT. 1093fd158d79SFlorian Westphal For it to work you will have to configure certain iptables rules 1094fd158d79SFlorian Westphal and use policy routing. For more information on how to set it up 10954ac0b122SMauro Carvalho Chehab see Documentation/networking/tproxy.rst. 1096e8439270SKOVACS Krisztian 1097e8439270SKOVACS Krisztian To compile it as a module, choose M here. If unsure, say N. 1098e8439270SKOVACS Krisztian 1099ba9dda3aSJozsef Kadlecsikconfig NETFILTER_XT_TARGET_TRACE 1100ba9dda3aSJozsef Kadlecsik tristate '"TRACE" target support' 1101ba9dda3aSJozsef Kadlecsik depends on IP_NF_RAW || IP6_NF_RAW 110233b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1103ba9dda3aSJozsef Kadlecsik help 1104ba9dda3aSJozsef Kadlecsik The TRACE target allows you to mark packets so that the kernel 1105ba9dda3aSJozsef Kadlecsik will log every rule which match the packets as those traverse 1106ba9dda3aSJozsef Kadlecsik the tables, chains, rules. 1107ba9dda3aSJozsef Kadlecsik 1108ba9dda3aSJozsef Kadlecsik If you want to compile it as a module, say M here and read 1109cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 1110ba9dda3aSJozsef Kadlecsik 11115e6874cdSJames Morrisconfig NETFILTER_XT_TARGET_SECMARK 11125e6874cdSJames Morris tristate '"SECMARK" target support' 1113c2df73deSJan Engelhardt depends on NETWORK_SECMARK 111433b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 11155e6874cdSJames Morris help 11165e6874cdSJames Morris The SECMARK target allows security marking of network 11175e6874cdSJames Morris packets, for use with security subsystems. 11185e6874cdSJames Morris 11195e6874cdSJames Morris To compile it as a module, choose M here. If unsure, say N. 11205e6874cdSJames Morris 1121cdd289a2SPatrick McHardyconfig NETFILTER_XT_TARGET_TCPMSS 1122cdd289a2SPatrick McHardy tristate '"TCPMSS" target support' 1123f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 112433b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 1125a7f7f624SMasahiro Yamada help 1126cdd289a2SPatrick McHardy This option adds a `TCPMSS' target, which allows you to alter the 1127cdd289a2SPatrick McHardy MSS value of TCP SYN packets, to control the maximum size for that 1128cdd289a2SPatrick McHardy connection (usually limiting it to your outgoing interface's MTU 1129cdd289a2SPatrick McHardy minus 40). 1130cdd289a2SPatrick McHardy 1131cdd289a2SPatrick McHardy This is used to overcome criminally braindead ISPs or servers which 1132cdd289a2SPatrick McHardy block ICMP Fragmentation Needed packets. The symptoms of this 1133cdd289a2SPatrick McHardy problem are that everything works fine from your Linux 1134cdd289a2SPatrick McHardy firewall/router, but machines behind it can never exchange large 1135cdd289a2SPatrick McHardy packets: 1136cdd289a2SPatrick McHardy 1) Web browsers connect, then hang with no data received. 1137cdd289a2SPatrick McHardy 2) Small mail works fine, but large emails hang. 1138cdd289a2SPatrick McHardy 3) ssh works fine, but scp hangs after initial handshaking. 1139cdd289a2SPatrick McHardy 1140cdd289a2SPatrick McHardy Workaround: activate this option and add a rule to your firewall 1141cdd289a2SPatrick McHardy configuration like: 1142cdd289a2SPatrick McHardy 1143cdd289a2SPatrick McHardy iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ 1144cdd289a2SPatrick McHardy -j TCPMSS --clamp-mss-to-pmtu 1145cdd289a2SPatrick McHardy 1146cdd289a2SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1147cdd289a2SPatrick McHardy 1148338e8a79SSven Schnelleconfig NETFILTER_XT_TARGET_TCPOPTSTRIP 1149663ef0d1SKees Cook tristate '"TCPOPTSTRIP" target support' 1150338e8a79SSven Schnelle depends on IP_NF_MANGLE || IP6_NF_MANGLE 115133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1152338e8a79SSven Schnelle help 1153338e8a79SSven Schnelle This option adds a "TCPOPTSTRIP" target, which allows you to strip 1154338e8a79SSven Schnelle TCP options from TCP packets. 1155338e8a79SSven Schnelle 115644c58731SJan Engelhardt# alphabetically ordered list of matches 115744c58731SJan Engelhardt 115844c58731SJan Engelhardtcomment "Xtables matches" 115944c58731SJan Engelhardt 1160de81bbeaSFlorian Westphalconfig NETFILTER_XT_MATCH_ADDRTYPE 1161de81bbeaSFlorian Westphal tristate '"addrtype" address type match support' 11625cca4aceSAnton Blanchard default m if NETFILTER_ADVANCED=n 1163a7f7f624SMasahiro Yamada help 1164de81bbeaSFlorian Westphal This option allows you to match what routing thinks of an address, 1165de81bbeaSFlorian Westphal eg. UNICAST, LOCAL, BROADCAST, ... 1166de81bbeaSFlorian Westphal 1167de81bbeaSFlorian Westphal If you want to compile it as a module, say M here and read 1168cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 1169de81bbeaSFlorian Westphal 1170e6f30c73SWillem de Bruijnconfig NETFILTER_XT_MATCH_BPF 1171e6f30c73SWillem de Bruijn tristate '"bpf" match support' 1172e6f30c73SWillem de Bruijn depends on NETFILTER_ADVANCED 1173e6f30c73SWillem de Bruijn help 1174e6f30c73SWillem de Bruijn BPF matching applies a linux socket filter to each packet and 1175e6f30c73SWillem de Bruijn accepts those for which the filter returns non-zero. 1176e6f30c73SWillem de Bruijn 1177e6f30c73SWillem de Bruijn To compile it as a module, choose M here. If unsure, say N. 1178e6f30c73SWillem de Bruijn 117982a37132SDaniel Borkmannconfig NETFILTER_XT_MATCH_CGROUP 118082a37132SDaniel Borkmann tristate '"control group" match support' 118182a37132SDaniel Borkmann depends on NETFILTER_ADVANCED 118282a37132SDaniel Borkmann depends on CGROUPS 118382a37132SDaniel Borkmann select CGROUP_NET_CLASSID 1184a7f7f624SMasahiro Yamada help 118582a37132SDaniel Borkmann Socket/process control group matching allows you to match locally 118682a37132SDaniel Borkmann generated packets based on which net_cls control group processes 118782a37132SDaniel Borkmann belong to. 118882a37132SDaniel Borkmann 11890269ea49SPablo Neira Ayusoconfig NETFILTER_XT_MATCH_CLUSTER 11900269ea49SPablo Neira Ayuso tristate '"cluster" match support' 11910269ea49SPablo Neira Ayuso depends on NF_CONNTRACK 11920269ea49SPablo Neira Ayuso depends on NETFILTER_ADVANCED 1193a7f7f624SMasahiro Yamada help 11940269ea49SPablo Neira Ayuso This option allows you to build work-load-sharing clusters of 11950269ea49SPablo Neira Ayuso network servers/stateful firewalls without having a dedicated 11960269ea49SPablo Neira Ayuso load-balancing router/server/switch. Basically, this match returns 11970269ea49SPablo Neira Ayuso true when the packet must be handled by this cluster node. Thus, 11980269ea49SPablo Neira Ayuso all nodes see all packets and this match decides which node handles 11990269ea49SPablo Neira Ayuso what packets. The work-load sharing algorithm is based on source 12000269ea49SPablo Neira Ayuso address hashing. 12010269ea49SPablo Neira Ayuso 12020269ea49SPablo Neira Ayuso If you say Y or M here, try `iptables -m cluster --help` for 12030269ea49SPablo Neira Ayuso more information. 12040269ea49SPablo Neira Ayuso 12052e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_COMMENT 12062e4e6a17SHarald Welte tristate '"comment" match support' 120733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 12082e4e6a17SHarald Welte help 12092e4e6a17SHarald Welte This option adds a `comment' dummy-match, which allows you to put 12102e4e6a17SHarald Welte comments in your iptables ruleset. 12112e4e6a17SHarald Welte 12122e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1213cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12142e4e6a17SHarald Welte 12152e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNBYTES 12162e4e6a17SHarald Welte tristate '"connbytes" per-connection counter match support' 1217587aa641SPatrick McHardy depends on NF_CONNTRACK 121833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 12192e4e6a17SHarald Welte help 12202e4e6a17SHarald Welte This option adds a `connbytes' match, which allows you to match the 12212e4e6a17SHarald Welte number of bytes and/or packets for each direction within a connection. 12222e4e6a17SHarald Welte 12232e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1224cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12252e4e6a17SHarald Welte 1226c539f017SFlorian Westphalconfig NETFILTER_XT_MATCH_CONNLABEL 1227c539f017SFlorian Westphal tristate '"connlabel" match support' 1228c539f017SFlorian Westphal select NF_CONNTRACK_LABELS 122935612a22SFlorian Westphal depends on NF_CONNTRACK 1230c539f017SFlorian Westphal depends on NETFILTER_ADVANCED 1231a7f7f624SMasahiro Yamada help 1232c539f017SFlorian Westphal This match allows you to test and assign userspace-defined labels names 1233c539f017SFlorian Westphal to a connection. The kernel only stores bit values - mapping 1234c539f017SFlorian Westphal names to bits is done by userspace. 1235c539f017SFlorian Westphal 1236c539f017SFlorian Westphal Unlike connmark, more than 32 flag bits may be assigned to a 1237c539f017SFlorian Westphal connection simultaneously. 1238c539f017SFlorian Westphal 1239370786f9SJan Engelhardtconfig NETFILTER_XT_MATCH_CONNLIMIT 124048192248SRandy Dunlap tristate '"connlimit" match support' 12413fd8f9e4SCornelia Huck depends on NF_CONNTRACK 124233b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1243625c5561SFlorian Westphal select NETFILTER_CONNCOUNT 1244a7f7f624SMasahiro Yamada help 1245370786f9SJan Engelhardt This match allows you to match against the number of parallel 1246370786f9SJan Engelhardt connections to a server per client IP address (or address block). 1247370786f9SJan Engelhardt 12482e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNMARK 12492e4e6a17SHarald Welte tristate '"connmark" connection mark match support' 1250587aa641SPatrick McHardy depends on NF_CONNTRACK 125133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1252b8f00ba2SJan Engelhardt select NETFILTER_XT_CONNMARK 1253a7f7f624SMasahiro Yamada help 1254b8f00ba2SJan Engelhardt This is a backwards-compat option for the user's convenience 1255b8f00ba2SJan Engelhardt (e.g. when running oldconfig). It selects 1256b8f00ba2SJan Engelhardt CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module). 12572e4e6a17SHarald Welte 12582e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_CONNTRACK 12592e4e6a17SHarald Welte tristate '"conntrack" connection tracking match support' 1260587aa641SPatrick McHardy depends on NF_CONNTRACK 126133b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 12622e4e6a17SHarald Welte help 12632e4e6a17SHarald Welte This is a general conntrack match module, a superset of the state match. 12642e4e6a17SHarald Welte 12652e4e6a17SHarald Welte It allows matching on additional conntrack information, which is 12662e4e6a17SHarald Welte useful in complex configurations, such as NAT gateways with multiple 12672e4e6a17SHarald Welte internet links or tunnels. 12682e4e6a17SHarald Welte 12692e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 12702e4e6a17SHarald Welte 1271e8648a1fSEric Dumazetconfig NETFILTER_XT_MATCH_CPU 1272e8648a1fSEric Dumazet tristate '"cpu" match support' 1273e8648a1fSEric Dumazet depends on NETFILTER_ADVANCED 1274e8648a1fSEric Dumazet help 1275e8648a1fSEric Dumazet CPU matching allows you to match packets based on the CPU 1276e8648a1fSEric Dumazet currently handling the packet. 1277e8648a1fSEric Dumazet 1278e8648a1fSEric Dumazet To compile it as a module, choose M here. If unsure, say N. 1279e8648a1fSEric Dumazet 12802e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_DCCP 12814c37799cSJan Engelhardt tristate '"dccp" protocol match support' 128233b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1283f3261affSPatrick McHardy default IP_DCCP 12842e4e6a17SHarald Welte help 12852e4e6a17SHarald Welte With this option enabled, you will be able to use the iptables 12862e4e6a17SHarald Welte `dccp' match in order to match on DCCP source/destination ports 12872e4e6a17SHarald Welte and DCCP flags. 12882e4e6a17SHarald Welte 12892e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1290cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 12912e4e6a17SHarald Welte 12929291747fSPatrick McHardyconfig NETFILTER_XT_MATCH_DEVGROUP 12939291747fSPatrick McHardy tristate '"devgroup" match support' 12949291747fSPatrick McHardy depends on NETFILTER_ADVANCED 12959291747fSPatrick McHardy help 12969291747fSPatrick McHardy This options adds a `devgroup' match, which allows to match on the 12979291747fSPatrick McHardy device group a network device is assigned to. 12989291747fSPatrick McHardy 12999291747fSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 13009291747fSPatrick McHardy 13019ba16276SYasuyuki Kozakaiconfig NETFILTER_XT_MATCH_DSCP 1302c3b33e6aSJan Engelhardt tristate '"dscp" and "tos" match support' 130333b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 13049ba16276SYasuyuki Kozakai help 13059ba16276SYasuyuki Kozakai This option adds a `DSCP' match, which allows you to match against 13069ba16276SYasuyuki Kozakai the IPv4/IPv6 header DSCP field (differentiated services codepoint). 13079ba16276SYasuyuki Kozakai 13089ba16276SYasuyuki Kozakai The DSCP field can have any value between 0x0 and 0x3f inclusive. 13099ba16276SYasuyuki Kozakai 1310c3b33e6aSJan Engelhardt It will also add a "tos" match, which allows you to match packets 1311c3b33e6aSJan Engelhardt based on the Type Of Service fields of the IPv4 packet (which share 1312c3b33e6aSJan Engelhardt the same bits as DSCP). 1313c3b33e6aSJan Engelhardt 13149ba16276SYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 13159ba16276SYasuyuki Kozakai 1316d446a820SJan Engelhardtconfig NETFILTER_XT_MATCH_ECN 1317d446a820SJan Engelhardt tristate '"ecn" match support' 1318d446a820SJan Engelhardt depends on NETFILTER_ADVANCED 1319a7f7f624SMasahiro Yamada help 1320d446a820SJan Engelhardt This option adds an "ECN" match, which allows you to match against 1321d446a820SJan Engelhardt the IPv4 and TCP header ECN fields. 1322d446a820SJan Engelhardt 1323d446a820SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1324d446a820SJan Engelhardt 1325dc5ab2faSYasuyuki Kozakaiconfig NETFILTER_XT_MATCH_ESP 13264c37799cSJan Engelhardt tristate '"esp" match support' 132733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1328dc5ab2faSYasuyuki Kozakai help 1329dc5ab2faSYasuyuki Kozakai This match extension allows you to match a range of SPIs 1330dc5ab2faSYasuyuki Kozakai inside ESP header of IPSec packets. 1331dc5ab2faSYasuyuki Kozakai 1332dc5ab2faSYasuyuki Kozakai To compile it as a module, choose M here. If unsure, say N. 1333dc5ab2faSYasuyuki Kozakai 1334aba0d348SJan Engelhardtconfig NETFILTER_XT_MATCH_HASHLIMIT 1335aba0d348SJan Engelhardt tristate '"hashlimit" match support' 1336f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 1337aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 1338aba0d348SJan Engelhardt help 1339aba0d348SJan Engelhardt This option adds a `hashlimit' match. 1340aba0d348SJan Engelhardt 1341aba0d348SJan Engelhardt As opposed to `limit', this match dynamically creates a hash table 1342aba0d348SJan Engelhardt of limit buckets, based on your selection of source/destination 1343aba0d348SJan Engelhardt addresses and/or ports. 1344aba0d348SJan Engelhardt 1345aba0d348SJan Engelhardt It enables you to express policies like `10kpps for any given 1346aba0d348SJan Engelhardt destination address' or `500pps from any given source address' 1347aba0d348SJan Engelhardt with a single rule. 1348aba0d348SJan Engelhardt 13492e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_HELPER 13502e4e6a17SHarald Welte tristate '"helper" match support' 1351587aa641SPatrick McHardy depends on NF_CONNTRACK 135233b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 13532e4e6a17SHarald Welte help 13542e4e6a17SHarald Welte Helper matching allows you to match packets in dynamic connections 135505ba4c89SYonatan Goldschmidt tracked by a conntrack-helper, ie. nf_conntrack_ftp 13562e4e6a17SHarald Welte 13572e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say Y. 13582e4e6a17SHarald Welte 1359cfac5ef7SJan Engelhardtconfig NETFILTER_XT_MATCH_HL 1360cfac5ef7SJan Engelhardt tristate '"hl" hoplimit/TTL match support' 1361cfac5ef7SJan Engelhardt depends on NETFILTER_ADVANCED 1362a7f7f624SMasahiro Yamada help 1363cfac5ef7SJan Engelhardt HL matching allows you to match packets based on the hoplimit 1364cfac5ef7SJan Engelhardt in the IPv6 header, or the time-to-live field in the IPv4 1365cfac5ef7SJan Engelhardt header of the packet. 1366cfac5ef7SJan Engelhardt 13676a649f33Sfan.duconfig NETFILTER_XT_MATCH_IPCOMP 13686a649f33Sfan.du tristate '"ipcomp" match support' 13696a649f33Sfan.du depends on NETFILTER_ADVANCED 13706a649f33Sfan.du help 13716a649f33Sfan.du This match extension allows you to match a range of CPIs(16 bits) 13726a649f33Sfan.du inside IPComp header of IPSec packets. 13736a649f33Sfan.du 13746a649f33Sfan.du To compile it as a module, choose M here. If unsure, say N. 13756a649f33Sfan.du 1376f72e25a8SJan Engelhardtconfig NETFILTER_XT_MATCH_IPRANGE 1377f72e25a8SJan Engelhardt tristate '"iprange" address range match support' 1378f72e25a8SJan Engelhardt depends on NETFILTER_ADVANCED 1379a7f7f624SMasahiro Yamada help 1380f72e25a8SJan Engelhardt This option adds a "iprange" match, which allows you to match based on 1381f72e25a8SJan Engelhardt an IP address range. (Normal iptables only matches on single addresses 1382f72e25a8SJan Engelhardt with an optional mask.) 1383f72e25a8SJan Engelhardt 1384f72e25a8SJan Engelhardt If unsure, say M. 1385f72e25a8SJan Engelhardt 13869c3e1c39SHannes Ederconfig NETFILTER_XT_MATCH_IPVS 13879c3e1c39SHannes Eder tristate '"ipvs" match support' 13889c3e1c39SHannes Eder depends on IP_VS 13899c3e1c39SHannes Eder depends on NETFILTER_ADVANCED 13909c3e1c39SHannes Eder depends on NF_CONNTRACK 13919c3e1c39SHannes Eder help 13929c3e1c39SHannes Eder This option allows you to match against IPVS properties of a packet. 13939c3e1c39SHannes Eder 13949c3e1c39SHannes Eder If unsure, say N. 13959c3e1c39SHannes Eder 139674f77a6bSJames Chapmanconfig NETFILTER_XT_MATCH_L2TP 139774f77a6bSJames Chapman tristate '"l2tp" match support' 139874f77a6bSJames Chapman depends on NETFILTER_ADVANCED 139974f77a6bSJames Chapman default L2TP 1400a7f7f624SMasahiro Yamada help 140174f77a6bSJames Chapman This option adds an "L2TP" match, which allows you to match against 140274f77a6bSJames Chapman L2TP protocol header fields. 140374f77a6bSJames Chapman 140474f77a6bSJames Chapman To compile it as a module, choose M here. If unsure, say N. 140574f77a6bSJames Chapman 14062e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_LENGTH 14072e4e6a17SHarald Welte tristate '"length" match support' 140833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14092e4e6a17SHarald Welte help 14102e4e6a17SHarald Welte This option allows you to match the length of a packet against a 14112e4e6a17SHarald Welte specific value or range of values. 14122e4e6a17SHarald Welte 14132e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14142e4e6a17SHarald Welte 14152e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_LIMIT 14162e4e6a17SHarald Welte tristate '"limit" match support' 141733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14182e4e6a17SHarald Welte help 14192e4e6a17SHarald Welte limit matching allows you to control the rate at which a rule can be 14202e4e6a17SHarald Welte matched: mainly useful in combination with the LOG target ("LOG 14212e4e6a17SHarald Welte target support", below) and to avoid some Denial of Service attacks. 14222e4e6a17SHarald Welte 14232e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14242e4e6a17SHarald Welte 14252e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_MAC 14262e4e6a17SHarald Welte tristate '"mac" address match support' 142733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 14282e4e6a17SHarald Welte help 14292e4e6a17SHarald Welte MAC matching allows you to match packets based on the source 14302e4e6a17SHarald Welte Ethernet address of the packet. 14312e4e6a17SHarald Welte 14322e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 14332e4e6a17SHarald Welte 14342e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_MARK 14352e4e6a17SHarald Welte tristate '"mark" match support' 143628b94988SJan Engelhardt depends on NETFILTER_ADVANCED 143728b94988SJan Engelhardt select NETFILTER_XT_MARK 1438a7f7f624SMasahiro Yamada help 143928b94988SJan Engelhardt This is a backwards-compat option for the user's convenience 144028b94988SJan Engelhardt (e.g. when running oldconfig). It selects 144128b94988SJan Engelhardt CONFIG_NETFILTER_XT_MARK (combined mark/MARK module). 14422e4e6a17SHarald Welte 1443aba0d348SJan Engelhardtconfig NETFILTER_XT_MATCH_MULTIPORT 1444aba0d348SJan Engelhardt tristate '"multiport" Multiple port match support' 1445aba0d348SJan Engelhardt depends on NETFILTER_ADVANCED 1446aba0d348SJan Engelhardt help 1447aba0d348SJan Engelhardt Multiport matching allows you to match TCP or UDP packets based on 1448aba0d348SJan Engelhardt a series of source or destination ports: normally a rule can only 1449aba0d348SJan Engelhardt match a single range of ports. 1450aba0d348SJan Engelhardt 1451aba0d348SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1452aba0d348SJan Engelhardt 1453ceb98d03SPablo Neira Ayusoconfig NETFILTER_XT_MATCH_NFACCT 1454ceb98d03SPablo Neira Ayuso tristate '"nfacct" match support' 1455bc94b521SPablo Neira Ayuso depends on NETFILTER_ADVANCED 1456ceb98d03SPablo Neira Ayuso select NETFILTER_NETLINK_ACCT 1457ceb98d03SPablo Neira Ayuso help 1458ceb98d03SPablo Neira Ayuso This option allows you to use the extended accounting through 1459ceb98d03SPablo Neira Ayuso nfnetlink_acct. 1460ceb98d03SPablo Neira Ayuso 1461ceb98d03SPablo Neira Ayuso To compile it as a module, choose M here. If unsure, say N. 1462ceb98d03SPablo Neira Ayuso 1463115bc8f2SJan Engelhardtconfig NETFILTER_XT_MATCH_OSF 1464115bc8f2SJan Engelhardt tristate '"osf" Passive OS fingerprint match' 1465f6b7b5f4SFernando Fernandez Mancera depends on NETFILTER_ADVANCED 1466f6b7b5f4SFernando Fernandez Mancera select NETFILTER_NETLINK_OSF 1467115bc8f2SJan Engelhardt help 1468115bc8f2SJan Engelhardt This option selects the Passive OS Fingerprinting match module 1469115bc8f2SJan Engelhardt that allows to passively match the remote operating system by 1470115bc8f2SJan Engelhardt analyzing incoming TCP SYN packets. 1471115bc8f2SJan Engelhardt 1472115bc8f2SJan Engelhardt Rules and loading software can be downloaded from 1473115bc8f2SJan Engelhardt http://www.ioremap.net/projects/osf 1474115bc8f2SJan Engelhardt 1475115bc8f2SJan Engelhardt To compile it as a module, choose M here. If unsure, say N. 1476115bc8f2SJan Engelhardt 14770265ab44SJan Engelhardtconfig NETFILTER_XT_MATCH_OWNER 14780265ab44SJan Engelhardt tristate '"owner" match support' 147933b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1480a7f7f624SMasahiro Yamada help 14810265ab44SJan Engelhardt Socket owner matching allows you to match locally-generated packets 14820265ab44SJan Engelhardt based on who created the socket: the user or group. It is also 14830265ab44SJan Engelhardt possible to check whether a socket actually exists. 14840265ab44SJan Engelhardt 1485c4b88513SPatrick McHardyconfig NETFILTER_XT_MATCH_POLICY 1486c4b88513SPatrick McHardy tristate 'IPsec "policy" match support' 1487c2df73deSJan Engelhardt depends on XFRM 148833b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 1489c4b88513SPatrick McHardy help 1490c4b88513SPatrick McHardy Policy matching allows you to match packets based on the 1491c4b88513SPatrick McHardy IPsec policy that was used during decapsulation/will 1492c4b88513SPatrick McHardy be used during encapsulation. 1493c4b88513SPatrick McHardy 1494c4b88513SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1495c4b88513SPatrick McHardy 14962e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_PHYSDEV 14972e4e6a17SHarald Welte tristate '"physdev" match support' 1498c2df73deSJan Engelhardt depends on BRIDGE && BRIDGE_NETFILTER 149933b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 15002e4e6a17SHarald Welte help 15012e4e6a17SHarald Welte Physdev packet matching matches against the physical bridge ports 15022e4e6a17SHarald Welte the IP packet arrived on or will leave by. 15032e4e6a17SHarald Welte 15042e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 15052e4e6a17SHarald Welte 15062e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_PKTTYPE 15072e4e6a17SHarald Welte tristate '"pkttype" packet type match support' 150833b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 15092e4e6a17SHarald Welte help 15102e4e6a17SHarald Welte Packet type matching allows you to match a packet by 15112e4e6a17SHarald Welte its "class", eg. BROADCAST, MULTICAST, ... 15122e4e6a17SHarald Welte 15132e4e6a17SHarald Welte Typical usage: 15142e4e6a17SHarald Welte iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG 15152e4e6a17SHarald Welte 15162e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 15172e4e6a17SHarald Welte 151862b77434SPatrick McHardyconfig NETFILTER_XT_MATCH_QUOTA 151962b77434SPatrick McHardy tristate '"quota" match support' 152033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 152162b77434SPatrick McHardy help 152262b77434SPatrick McHardy This option adds a `quota' match, which allows to match on a 152362b77434SPatrick McHardy byte counter. 152462b77434SPatrick McHardy 152562b77434SPatrick McHardy If you want to compile it as a module, say M here and read 1526cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 152762b77434SPatrick McHardy 152850c164a8SPatrick McHardyconfig NETFILTER_XT_MATCH_RATEEST 152950c164a8SPatrick McHardy tristate '"rateest" match support' 1530b26e76b7SPatrick McHardy depends on NETFILTER_ADVANCED 153150c164a8SPatrick McHardy select NETFILTER_XT_TARGET_RATEEST 153250c164a8SPatrick McHardy help 153350c164a8SPatrick McHardy This option adds a `rateest' match, which allows to match on the 153450c164a8SPatrick McHardy rate estimated by the RATEEST target. 153550c164a8SPatrick McHardy 153650c164a8SPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 153750c164a8SPatrick McHardy 15382e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_REALM 15392e4e6a17SHarald Welte tristate '"realm" match support' 154033b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1541c7066f70SPatrick McHardy select IP_ROUTE_CLASSID 15422e4e6a17SHarald Welte help 15432e4e6a17SHarald Welte This option adds a `realm' match, which allows you to use the realm 15442e4e6a17SHarald Welte key from the routing subsystem inside iptables. 15452e4e6a17SHarald Welte 15462e4e6a17SHarald Welte This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 15472e4e6a17SHarald Welte in tc world. 15482e4e6a17SHarald Welte 15492e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1550cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 15512e4e6a17SHarald Welte 1552e948b20aSJan Engelhardtconfig NETFILTER_XT_MATCH_RECENT 1553e948b20aSJan Engelhardt tristate '"recent" match support' 1554e948b20aSJan Engelhardt depends on NETFILTER_ADVANCED 1555a7f7f624SMasahiro Yamada help 1556e948b20aSJan Engelhardt This match is used for creating one or many lists of recently 1557e948b20aSJan Engelhardt used addresses and then matching against that/those list(s). 1558e948b20aSJan Engelhardt 1559e948b20aSJan Engelhardt Short options are available by using 'iptables -m recent -h' 1560e948b20aSJan Engelhardt Official Website: <http://snowman.net/projects/ipt_recent/> 1561e948b20aSJan Engelhardt 15622e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_SCTP 1563663ef0d1SKees Cook tristate '"sctp" protocol match support' 156433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1565f3261affSPatrick McHardy default IP_SCTP 15662e4e6a17SHarald Welte help 15672e4e6a17SHarald Welte With this option enabled, you will be able to use the 15682e4e6a17SHarald Welte `sctp' match in order to match on SCTP source/destination ports 15692e4e6a17SHarald Welte and SCTP chunk types. 15702e4e6a17SHarald Welte 15712e4e6a17SHarald Welte If you want to compile it as a module, say M here and read 1572cd238effSMauro Carvalho Chehab <file:Documentation/kbuild/modules.rst>. If unsure, say `N'. 15732e4e6a17SHarald Welte 1574136cdc71SKOVACS Krisztianconfig NETFILTER_XT_MATCH_SOCKET 1575663ef0d1SKees Cook tristate '"socket" match support' 1576136cdc71SKOVACS Krisztian depends on NETFILTER_XTABLES 1577136cdc71SKOVACS Krisztian depends on NETFILTER_ADVANCED 1578f09becc7SPablo Neira Ayuso depends on IPV6 || IPV6=n 1579f09becc7SPablo Neira Ayuso depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n 15807414d929SMáté Eckl select NF_SOCKET_IPV4 15817414d929SMáté Eckl select NF_SOCKET_IPV6 if IP6_NF_IPTABLES 1582136cdc71SKOVACS Krisztian select NF_DEFRAG_IPV4 158374ec4d55SArnd Bergmann select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n 1584136cdc71SKOVACS Krisztian help 1585136cdc71SKOVACS Krisztian This option adds a `socket' match, which can be used to match 1586136cdc71SKOVACS Krisztian packets for which a TCP or UDP socket lookup finds a valid socket. 1587136cdc71SKOVACS Krisztian It can be used in combination with the MARK target and policy 1588136cdc71SKOVACS Krisztian routing to implement full featured non-locally bound sockets. 1589136cdc71SKOVACS Krisztian 1590136cdc71SKOVACS Krisztian To compile it as a module, choose M here. If unsure, say N. 1591136cdc71SKOVACS Krisztian 15922e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_STATE 15932e4e6a17SHarald Welte tristate '"state" match support' 1594587aa641SPatrick McHardy depends on NF_CONNTRACK 159533b8e776SPatrick McHardy default m if NETFILTER_ADVANCED=n 15962e4e6a17SHarald Welte help 15972e4e6a17SHarald Welte Connection state matching allows you to match packets based on their 15982e4e6a17SHarald Welte relationship to a tracked connection (ie. previous packets). This 15992e4e6a17SHarald Welte is a powerful tool for packet classification. 16002e4e6a17SHarald Welte 16012e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 16022e4e6a17SHarald Welte 1603f3389805SPatrick McHardyconfig NETFILTER_XT_MATCH_STATISTIC 1604f3389805SPatrick McHardy tristate '"statistic" match support' 160533b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1606f3389805SPatrick McHardy help 160768c1692eSPatrick McHardy This option adds a `statistic' match, which allows you to match 160868c1692eSPatrick McHardy on packets periodically or randomly with a given percentage. 160968c1692eSPatrick McHardy 161068c1692eSPatrick McHardy To compile it as a module, choose M here. If unsure, say N. 1611f3389805SPatrick McHardy 16122e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_STRING 16132e4e6a17SHarald Welte tristate '"string" match support' 161433b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 16152e4e6a17SHarald Welte select TEXTSEARCH 16162e4e6a17SHarald Welte select TEXTSEARCH_KMP 16172e4e6a17SHarald Welte select TEXTSEARCH_BM 16182e4e6a17SHarald Welte select TEXTSEARCH_FSM 16192e4e6a17SHarald Welte help 16202e4e6a17SHarald Welte This option adds a `string' match, which allows you to look for 16212e4e6a17SHarald Welte pattern matchings in packets. 16222e4e6a17SHarald Welte 16232e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 16242e4e6a17SHarald Welte 16252e4e6a17SHarald Welteconfig NETFILTER_XT_MATCH_TCPMSS 16262e4e6a17SHarald Welte tristate '"tcpmss" match support' 162733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 16282e4e6a17SHarald Welte help 16292e4e6a17SHarald Welte This option adds a `tcpmss' match, which allows you to examine the 16302e4e6a17SHarald Welte MSS value of TCP SYN packets, which control the maximum packet size 16312e4e6a17SHarald Welte for that connection. 16322e4e6a17SHarald Welte 16332e4e6a17SHarald Welte To compile it as a module, choose M here. If unsure, say N. 16342e4e6a17SHarald Welte 1635ee4411a1SJan Engelhardtconfig NETFILTER_XT_MATCH_TIME 1636ee4411a1SJan Engelhardt tristate '"time" match support' 163733b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1638a7f7f624SMasahiro Yamada help 1639ee4411a1SJan Engelhardt This option adds a "time" match, which allows you to match based on 1640ee4411a1SJan Engelhardt the packet arrival time (at the machine which netfilter is running) 1641ee4411a1SJan Engelhardt on) or departure time/date (for locally generated packets). 1642ee4411a1SJan Engelhardt 1643ee4411a1SJan Engelhardt If you say Y here, try `iptables -m time --help` for 1644ee4411a1SJan Engelhardt more information. 1645ee4411a1SJan Engelhardt 1646ee4411a1SJan Engelhardt If you want to compile it as a module, say M here. 1647ee4411a1SJan Engelhardt If unsure, say N. 1648ee4411a1SJan Engelhardt 16491b50b8a3SJan Engelhardtconfig NETFILTER_XT_MATCH_U32 16501b50b8a3SJan Engelhardt tristate '"u32" match support' 165133b8e776SPatrick McHardy depends on NETFILTER_ADVANCED 1652a7f7f624SMasahiro Yamada help 16531b50b8a3SJan Engelhardt u32 allows you to extract quantities of up to 4 bytes from a packet, 16541b50b8a3SJan Engelhardt AND them with specified masks, shift them by specified amounts and 16551b50b8a3SJan Engelhardt test whether the results are in any of a set of specified ranges. 16561b50b8a3SJan Engelhardt The specification of what to extract is general enough to skip over 16571b50b8a3SJan Engelhardt headers with lengths stored in the packet, as in IP or TCP header 16581b50b8a3SJan Engelhardt lengths. 16591b50b8a3SJan Engelhardt 16601b50b8a3SJan Engelhardt Details and examples are in the kernel module source. 16611b50b8a3SJan Engelhardt 1662c2df73deSJan Engelhardtendif # NETFILTER_XTABLES 1663a6c1cd57SHarald Welte 1664c2df73deSJan Engelhardtendmenu 1665f9e815b3SHarald Welte 1666a7b4f989SJozsef Kadlecsiksource "net/netfilter/ipset/Kconfig" 1667a7b4f989SJozsef Kadlecsik 1668cb7f6a7bSJulius Volzsource "net/netfilter/ipvs/Kconfig" 1669