linux/net/netfilter/Kconfig
<<
>>
Prefs
   1menu "Core Netfilter Configuration"
   2        depends on NET && INET && NETFILTER
   3
   4config NETFILTER_NETLINK
   5        tristate
   6
   7config NETFILTER_NETLINK_ACCT
   8tristate "Netfilter NFACCT over NFNETLINK interface"
   9        depends on NETFILTER_ADVANCED
  10        select NETFILTER_NETLINK
  11        help
  12          If this option is enabled, the kernel will include support
  13          for extended accounting via NFNETLINK.
  14
  15config NETFILTER_NETLINK_QUEUE
  16        tristate "Netfilter NFQUEUE over NFNETLINK interface"
  17        depends on NETFILTER_ADVANCED
  18        select NETFILTER_NETLINK
  19        help
  20          If this option is enabled, the kernel will include support
  21          for queueing packets via NFNETLINK.
  22          
  23config NETFILTER_NETLINK_LOG
  24        tristate "Netfilter LOG over NFNETLINK interface"
  25        default m if NETFILTER_ADVANCED=n
  26        select NETFILTER_NETLINK
  27        help
  28          If this option is enabled, the kernel will include support
  29          for logging packets via NFNETLINK.
  30
  31          This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
  32          and is also scheduled to replace the old syslog-based ipt_LOG
  33          and ip6t_LOG modules.
  34
  35config NF_CONNTRACK
  36        tristate "Netfilter connection tracking support"
  37        default m if NETFILTER_ADVANCED=n
  38        help
  39          Connection tracking keeps a record of what packets have passed
  40          through your machine, in order to figure out how they are related
  41          into connections.
  42
  43          This is required to do Masquerading or other kinds of Network
  44          Address Translation.  It can also be used to enhance packet
  45          filtering (see `Connection state match support' below).
  46
  47          To compile it as a module, choose M here.  If unsure, say N.
  48
  49if NF_CONNTRACK
  50
  51config NF_CONNTRACK_MARK
  52        bool  'Connection mark tracking support'
  53        depends on NETFILTER_ADVANCED
  54        help
  55          This option enables support for connection marks, used by the
  56          `CONNMARK' target and `connmark' match. Similar to the mark value
  57          of packets, but this mark value is kept in the conntrack session
  58          instead of the individual packets.
  59
  60config NF_CONNTRACK_SECMARK
  61        bool  'Connection tracking security mark support'
  62        depends on NETWORK_SECMARK
  63        default m if NETFILTER_ADVANCED=n
  64        help
  65          This option enables security markings to be applied to
  66          connections.  Typically they are copied to connections from
  67          packets using the CONNSECMARK target and copied back from
  68          connections to packets with the same target, with the packets
  69          being originally labeled via SECMARK.
  70
  71          If unsure, say 'N'.
  72
  73config NF_CONNTRACK_ZONES
  74        bool  'Connection tracking zones'
  75        depends on NETFILTER_ADVANCED
  76        depends on NETFILTER_XT_TARGET_CT
  77        help
  78          This option enables support for connection tracking zones.
  79          Normally, each connection needs to have a unique system wide
  80          identity. Connection tracking zones allow to have multiple
  81          connections using the same identity, as long as they are
  82          contained in different zones.
  83
  84          If unsure, say `N'.
  85
  86config NF_CONNTRACK_PROCFS
  87        bool "Supply CT list in procfs (OBSOLETE)"
  88        default y
  89        depends on PROC_FS
  90        ---help---
  91        This option enables for the list of known conntrack entries
  92        to be shown in procfs under net/netfilter/nf_conntrack. This
  93        is considered obsolete in favor of using the conntrack(8)
  94        tool which uses Netlink.
  95
  96config NF_CONNTRACK_EVENTS
  97        bool "Connection tracking events"
  98        depends on NETFILTER_ADVANCED
  99        help
 100          If this option is enabled, the connection tracking code will
 101          provide a notifier chain that can be used by other kernel code
 102          to get notified about changes in the connection tracking state.
 103
 104          If unsure, say `N'.
 105
 106config NF_CONNTRACK_TIMESTAMP
 107        bool  'Connection tracking timestamping'
 108        depends on NETFILTER_ADVANCED
 109        help
 110          This option enables support for connection tracking timestamping.
 111          This allows you to store the flow start-time and to obtain
 112          the flow-stop time (once it has been destroyed) via Connection
 113          tracking events.
 114
 115          If unsure, say `N'.
 116
 117config NF_CT_PROTO_DCCP
 118        tristate 'DCCP protocol connection tracking support (EXPERIMENTAL)'
 119        depends on EXPERIMENTAL
 120        depends on NETFILTER_ADVANCED
 121        default IP_DCCP
 122        help
 123          With this option enabled, the layer 3 independent connection
 124          tracking code will be able to do state tracking on DCCP connections.
 125
 126          If unsure, say 'N'.
 127
 128config NF_CT_PROTO_GRE
 129        tristate
 130
 131config NF_CT_PROTO_SCTP
 132        tristate 'SCTP protocol connection tracking support (EXPERIMENTAL)'
 133        depends on EXPERIMENTAL
 134        depends on NETFILTER_ADVANCED
 135        default IP_SCTP
 136        help
 137          With this option enabled, the layer 3 independent connection
 138          tracking code will be able to do state tracking on SCTP connections.
 139
 140          If you want to compile it as a module, say M here and read
 141          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 142
 143config NF_CT_PROTO_UDPLITE
 144        tristate 'UDP-Lite protocol connection tracking support'
 145        depends on NETFILTER_ADVANCED
 146        help
 147          With this option enabled, the layer 3 independent connection
 148          tracking code will be able to do state tracking on UDP-Lite
 149          connections.
 150
 151          To compile it as a module, choose M here.  If unsure, say N.
 152
 153config NF_CONNTRACK_AMANDA
 154        tristate "Amanda backup protocol support"
 155        depends on NETFILTER_ADVANCED
 156        select TEXTSEARCH
 157        select TEXTSEARCH_KMP
 158        help
 159          If you are running the Amanda backup package <http://www.amanda.org/>
 160          on this machine or machines that will be MASQUERADED through this
 161          machine, then you may want to enable this feature.  This allows the
 162          connection tracking and natting code to allow the sub-channels that
 163          Amanda requires for communication of the backup data, messages and
 164          index.
 165
 166          To compile it as a module, choose M here.  If unsure, say N.
 167
 168config NF_CONNTRACK_FTP
 169        tristate "FTP protocol support"
 170        default m if NETFILTER_ADVANCED=n
 171        help
 172          Tracking FTP connections is problematic: special helpers are
 173          required for tracking them, and doing masquerading and other forms
 174          of Network Address Translation on them.
 175
 176          This is FTP support on Layer 3 independent connection tracking.
 177          Layer 3 independent connection tracking is experimental scheme
 178          which generalize ip_conntrack to support other layer 3 protocols.
 179
 180          To compile it as a module, choose M here.  If unsure, say N.
 181
 182config NF_CONNTRACK_H323
 183        tristate "H.323 protocol support"
 184        depends on (IPV6 || IPV6=n)
 185        depends on NETFILTER_ADVANCED
 186        help
 187          H.323 is a VoIP signalling protocol from ITU-T. As one of the most
 188          important VoIP protocols, it is widely used by voice hardware and
 189          software including voice gateways, IP phones, Netmeeting, OpenPhone,
 190          Gnomemeeting, etc.
 191
 192          With this module you can support H.323 on a connection tracking/NAT
 193          firewall.
 194
 195          This module supports RAS, Fast Start, H.245 Tunnelling, Call
 196          Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
 197          whiteboard, file transfer, etc. For more information, please
 198          visit http://nath323.sourceforge.net/.
 199
 200          To compile it as a module, choose M here.  If unsure, say N.
 201
 202config NF_CONNTRACK_IRC
 203        tristate "IRC protocol support"
 204        default m if NETFILTER_ADVANCED=n
 205        help
 206          There is a commonly-used extension to IRC called
 207          Direct Client-to-Client Protocol (DCC).  This enables users to send
 208          files to each other, and also chat to each other without the need
 209          of a server.  DCC Sending is used anywhere you send files over IRC,
 210          and DCC Chat is most commonly used by Eggdrop bots.  If you are
 211          using NAT, this extension will enable you to send files and initiate
 212          chats.  Note that you do NOT need this extension to get files or
 213          have others initiate chats, or everything else in IRC.
 214
 215          To compile it as a module, choose M here.  If unsure, say N.
 216
 217config NF_CONNTRACK_BROADCAST
 218        tristate
 219
 220config NF_CONNTRACK_NETBIOS_NS
 221        tristate "NetBIOS name service protocol support"
 222        select NF_CONNTRACK_BROADCAST
 223        help
 224          NetBIOS name service requests are sent as broadcast messages from an
 225          unprivileged port and responded to with unicast messages to the
 226          same port. This make them hard to firewall properly because connection
 227          tracking doesn't deal with broadcasts. This helper tracks locally
 228          originating NetBIOS name service requests and the corresponding
 229          responses. It relies on correct IP address configuration, specifically
 230          netmask and broadcast address. When properly configured, the output
 231          of "ip address show" should look similar to this:
 232
 233          $ ip -4 address show eth0
 234          4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
 235              inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
 236
 237          To compile it as a module, choose M here.  If unsure, say N.
 238
 239config NF_CONNTRACK_SNMP
 240        tristate "SNMP service protocol support"
 241        depends on NETFILTER_ADVANCED
 242        select NF_CONNTRACK_BROADCAST
 243        help
 244          SNMP service requests are sent as broadcast messages from an
 245          unprivileged port and responded to with unicast messages to the
 246          same port. This make them hard to firewall properly because connection
 247          tracking doesn't deal with broadcasts. This helper tracks locally
 248          originating SNMP service requests and the corresponding
 249          responses. It relies on correct IP address configuration, specifically
 250          netmask and broadcast address.
 251
 252          To compile it as a module, choose M here.  If unsure, say N.
 253
 254config NF_CONNTRACK_PPTP
 255        tristate "PPtP protocol support"
 256        depends on NETFILTER_ADVANCED
 257        select NF_CT_PROTO_GRE
 258        help
 259          This module adds support for PPTP (Point to Point Tunnelling
 260          Protocol, RFC2637) connection tracking and NAT.
 261
 262          If you are running PPTP sessions over a stateful firewall or NAT
 263          box, you may want to enable this feature.
 264
 265          Please note that not all PPTP modes of operation are supported yet.
 266          Specifically these limitations exist:
 267            - Blindly assumes that control connections are always established
 268              in PNS->PAC direction. This is a violation of RFC2637.
 269            - Only supports a single call within each session
 270
 271          To compile it as a module, choose M here.  If unsure, say N.
 272
 273config NF_CONNTRACK_SANE
 274        tristate "SANE protocol support (EXPERIMENTAL)"
 275        depends on EXPERIMENTAL
 276        depends on NETFILTER_ADVANCED
 277        help
 278          SANE is a protocol for remote access to scanners as implemented
 279          by the 'saned' daemon. Like FTP, it uses separate control and
 280          data connections.
 281
 282          With this module you can support SANE on a connection tracking
 283          firewall.
 284
 285          To compile it as a module, choose M here.  If unsure, say N.
 286
 287config NF_CONNTRACK_SIP
 288        tristate "SIP protocol support"
 289        default m if NETFILTER_ADVANCED=n
 290        help
 291          SIP is an application-layer control protocol that can establish,
 292          modify, and terminate multimedia sessions (conferences) such as
 293          Internet telephony calls. With the ip_conntrack_sip and
 294          the nf_nat_sip modules you can support the protocol on a connection
 295          tracking/NATing firewall.
 296
 297          To compile it as a module, choose M here.  If unsure, say N.
 298
 299config NF_CONNTRACK_TFTP
 300        tristate "TFTP protocol support"
 301        depends on NETFILTER_ADVANCED
 302        help
 303          TFTP connection tracking helper, this is required depending
 304          on how restrictive your ruleset is.
 305          If you are using a tftp client behind -j SNAT or -j MASQUERADING
 306          you will need this.
 307
 308          To compile it as a module, choose M here.  If unsure, say N.
 309
 310config NF_CT_NETLINK
 311        tristate 'Connection tracking netlink interface'
 312        select NETFILTER_NETLINK
 313        default m if NETFILTER_ADVANCED=n
 314        help
 315          This option enables support for a netlink-based userspace interface
 316
 317endif # NF_CONNTRACK
 318
 319# transparent proxy support
 320config NETFILTER_TPROXY
 321        tristate "Transparent proxying support (EXPERIMENTAL)"
 322        depends on EXPERIMENTAL
 323        depends on IP_NF_MANGLE
 324        depends on NETFILTER_ADVANCED
 325        help
 326          This option enables transparent proxying support, that is,
 327          support for handling non-locally bound IPv4 TCP and UDP sockets.
 328          For it to work you will have to configure certain iptables rules
 329          and use policy routing. For more information on how to set it up
 330          see Documentation/networking/tproxy.txt.
 331
 332          To compile it as a module, choose M here.  If unsure, say N.
 333
 334config NETFILTER_XTABLES
 335        tristate "Netfilter Xtables support (required for ip_tables)"
 336        default m if NETFILTER_ADVANCED=n
 337        help
 338          This is required if you intend to use any of ip_tables,
 339          ip6_tables or arp_tables.
 340
 341if NETFILTER_XTABLES
 342
 343comment "Xtables combined modules"
 344
 345config NETFILTER_XT_MARK
 346        tristate 'nfmark target and match support'
 347        default m if NETFILTER_ADVANCED=n
 348        ---help---
 349        This option adds the "MARK" target and "mark" match.
 350
 351        Netfilter mark matching allows you to match packets based on the
 352        "nfmark" value in the packet.
 353        The target allows you to create rules in the "mangle" table which alter
 354        the netfilter mark (nfmark) field associated with the packet.
 355
 356        Prior to routing, the nfmark can influence the routing method (see
 357        "Use netfilter MARK value as routing key") and can also be used by
 358        other subsystems to change their behavior.
 359
 360config NETFILTER_XT_CONNMARK
 361        tristate 'ctmark target and match support'
 362        depends on NF_CONNTRACK
 363        depends on NETFILTER_ADVANCED
 364        select NF_CONNTRACK_MARK
 365        ---help---
 366        This option adds the "CONNMARK" target and "connmark" match.
 367
 368        Netfilter allows you to store a mark value per connection (a.k.a.
 369        ctmark), similarly to the packet mark (nfmark). Using this
 370        target and match, you can set and match on this mark.
 371
 372config NETFILTER_XT_SET
 373        tristate 'set target and match support'
 374        depends on IP_SET
 375        depends on NETFILTER_ADVANCED
 376        help
 377          This option adds the "SET" target and "set" match.
 378
 379          Using this target and match, you can add/delete and match
 380          elements in the sets created by ipset(8).
 381
 382          To compile it as a module, choose M here.  If unsure, say N.
 383
 384# alphabetically ordered list of targets
 385
 386comment "Xtables targets"
 387
 388config NETFILTER_XT_TARGET_AUDIT
 389        tristate "AUDIT target support"
 390        depends on AUDIT
 391        depends on NETFILTER_ADVANCED
 392        ---help---
 393          This option adds a 'AUDIT' target, which can be used to create
 394          audit records for packets dropped/accepted.
 395
 396          To compileit as a module, choose M here. If unsure, say N.
 397
 398config NETFILTER_XT_TARGET_CHECKSUM
 399        tristate "CHECKSUM target support"
 400        depends on IP_NF_MANGLE || IP6_NF_MANGLE
 401        depends on NETFILTER_ADVANCED
 402        ---help---
 403          This option adds a `CHECKSUM' target, which can be used in the iptables mangle
 404          table.
 405
 406          You can use this target to compute and fill in the checksum in
 407          a packet that lacks a checksum.  This is particularly useful,
 408          if you need to work around old applications such as dhcp clients,
 409          that do not work well with checksum offloads, but don't want to disable
 410          checksum offload in your device.
 411
 412          To compile it as a module, choose M here.  If unsure, say N.
 413
 414config NETFILTER_XT_TARGET_CLASSIFY
 415        tristate '"CLASSIFY" target support'
 416        depends on NETFILTER_ADVANCED
 417        help
 418          This option adds a `CLASSIFY' target, which enables the user to set
 419          the priority of a packet. Some qdiscs can use this value for
 420          classification, among these are:
 421
 422          atm, cbq, dsmark, pfifo_fast, htb, prio
 423
 424          To compile it as a module, choose M here.  If unsure, say N.
 425
 426config NETFILTER_XT_TARGET_CONNMARK
 427        tristate  '"CONNMARK" target support'
 428        depends on NF_CONNTRACK
 429        depends on NETFILTER_ADVANCED
 430        select NETFILTER_XT_CONNMARK
 431        ---help---
 432        This is a backwards-compat option for the user's convenience
 433        (e.g. when running oldconfig). It selects
 434        CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
 435
 436config NETFILTER_XT_TARGET_CONNSECMARK
 437        tristate '"CONNSECMARK" target support'
 438        depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK
 439        default m if NETFILTER_ADVANCED=n
 440        help
 441          The CONNSECMARK target copies security markings from packets
 442          to connections, and restores security markings from connections
 443          to packets (if the packets are not already marked).  This would
 444          normally be used in conjunction with the SECMARK target.
 445
 446          To compile it as a module, choose M here.  If unsure, say N.
 447
 448config NETFILTER_XT_TARGET_CT
 449        tristate '"CT" target support'
 450        depends on NF_CONNTRACK
 451        depends on IP_NF_RAW || IP6_NF_RAW
 452        depends on NETFILTER_ADVANCED
 453        help
 454          This options adds a `CT' target, which allows to specify initial
 455          connection tracking parameters like events to be delivered and
 456          the helper to be used.
 457
 458          To compile it as a module, choose M here.  If unsure, say N.
 459
 460config NETFILTER_XT_TARGET_DSCP
 461        tristate '"DSCP" and "TOS" target support'
 462        depends on IP_NF_MANGLE || IP6_NF_MANGLE
 463        depends on NETFILTER_ADVANCED
 464        help
 465          This option adds a `DSCP' target, which allows you to manipulate
 466          the IPv4/IPv6 header DSCP field (differentiated services codepoint).
 467
 468          The DSCP field can have any value between 0x0 and 0x3f inclusive.
 469
 470          It also adds the "TOS" target, which allows you to create rules in
 471          the "mangle" table which alter the Type Of Service field of an IPv4
 472          or the Priority field of an IPv6 packet, prior to routing.
 473
 474          To compile it as a module, choose M here.  If unsure, say N.
 475
 476config NETFILTER_XT_TARGET_HL
 477        tristate '"HL" hoplimit target support'
 478        depends on IP_NF_MANGLE || IP6_NF_MANGLE
 479        depends on NETFILTER_ADVANCED
 480        ---help---
 481        This option adds the "HL" (for IPv6) and "TTL" (for IPv4)
 482        targets, which enable the user to change the
 483        hoplimit/time-to-live value of the IP header.
 484
 485        While it is safe to decrement the hoplimit/TTL value, the
 486        modules also allow to increment and set the hoplimit value of
 487        the header to arbitrary values. This is EXTREMELY DANGEROUS
 488        since you can easily create immortal packets that loop
 489        forever on the network.
 490
 491config NETFILTER_XT_TARGET_IDLETIMER
 492        tristate  "IDLETIMER target support"
 493        depends on NETFILTER_ADVANCED
 494        help
 495
 496          This option adds the `IDLETIMER' target.  Each matching packet
 497          resets the timer associated with label specified when the rule is
 498          added.  When the timer expires, it triggers a sysfs notification.
 499          The remaining time for expiration can be read via sysfs.
 500
 501          To compile it as a module, choose M here.  If unsure, say N.
 502
 503config NETFILTER_XT_TARGET_LED
 504        tristate '"LED" target support'
 505        depends on LEDS_CLASS && LEDS_TRIGGERS
 506        depends on NETFILTER_ADVANCED
 507        help
 508          This option adds a `LED' target, which allows you to blink LEDs in
 509          response to particular packets passing through your machine.
 510
 511          This can be used to turn a spare LED into a network activity LED,
 512          which only flashes in response to FTP transfers, for example.  Or
 513          you could have an LED which lights up for a minute or two every time
 514          somebody connects to your machine via SSH.
 515
 516          You will need support for the "led" class to make this work.
 517
 518          To create an LED trigger for incoming SSH traffic:
 519            iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
 520
 521          Then attach the new trigger to an LED on your system:
 522            echo netfilter-ssh > /sys/class/leds/<ledname>/trigger
 523
 524          For more information on the LEDs available on your system, see
 525          Documentation/leds/leds-class.txt
 526
 527config NETFILTER_XT_TARGET_MARK
 528        tristate '"MARK" target support'
 529        depends on NETFILTER_ADVANCED
 530        select NETFILTER_XT_MARK
 531        ---help---
 532        This is a backwards-compat option for the user's convenience
 533        (e.g. when running oldconfig). It selects
 534        CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
 535
 536config NETFILTER_XT_TARGET_NFLOG
 537        tristate '"NFLOG" target support'
 538        default m if NETFILTER_ADVANCED=n
 539        select NETFILTER_NETLINK_LOG
 540        help
 541          This option enables the NFLOG target, which allows to LOG
 542          messages through nfnetlink_log.
 543
 544          To compile it as a module, choose M here.  If unsure, say N.
 545
 546config NETFILTER_XT_TARGET_NFQUEUE
 547        tristate '"NFQUEUE" target Support'
 548        depends on NETFILTER_ADVANCED
 549        select NETFILTER_NETLINK_QUEUE
 550        help
 551          This target replaced the old obsolete QUEUE target.
 552
 553          As opposed to QUEUE, it supports 65535 different queues,
 554          not just one.
 555
 556          To compile it as a module, choose M here.  If unsure, say N.
 557
 558config NETFILTER_XT_TARGET_NOTRACK
 559        tristate  '"NOTRACK" target support'
 560        depends on IP_NF_RAW || IP6_NF_RAW
 561        depends on NF_CONNTRACK
 562        help
 563          The NOTRACK target allows a select rule to specify
 564          which packets *not* to enter the conntrack/NAT
 565          subsystem with all the consequences (no ICMP error tracking,
 566          no protocol helpers for the selected packets).
 567
 568          If you want to compile it as a module, say M here and read
 569          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 570
 571config NETFILTER_XT_TARGET_RATEEST
 572        tristate '"RATEEST" target support'
 573        depends on NETFILTER_ADVANCED
 574        help
 575          This option adds a `RATEEST' target, which allows to measure
 576          rates similar to TC estimators. The `rateest' match can be
 577          used to match on the measured rates.
 578
 579          To compile it as a module, choose M here.  If unsure, say N.
 580
 581config NETFILTER_XT_TARGET_TEE
 582        tristate '"TEE" - packet cloning to alternate destination'
 583        depends on NETFILTER_ADVANCED
 584        depends on (IPV6 || IPV6=n)
 585        depends on !NF_CONNTRACK || NF_CONNTRACK
 586        ---help---
 587        This option adds a "TEE" target with which a packet can be cloned and
 588        this clone be rerouted to another nexthop.
 589
 590config NETFILTER_XT_TARGET_TPROXY
 591        tristate '"TPROXY" target support (EXPERIMENTAL)'
 592        depends on EXPERIMENTAL
 593        depends on NETFILTER_TPROXY
 594        depends on NETFILTER_XTABLES
 595        depends on NETFILTER_ADVANCED
 596        select NF_DEFRAG_IPV4
 597        select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES
 598        help
 599          This option adds a `TPROXY' target, which is somewhat similar to
 600          REDIRECT.  It can only be used in the mangle table and is useful
 601          to redirect traffic to a transparent proxy.  It does _not_ depend
 602          on Netfilter connection tracking and NAT, unlike REDIRECT.
 603
 604          To compile it as a module, choose M here.  If unsure, say N.
 605
 606config NETFILTER_XT_TARGET_TRACE
 607        tristate  '"TRACE" target support'
 608        depends on IP_NF_RAW || IP6_NF_RAW
 609        depends on NETFILTER_ADVANCED
 610        help
 611          The TRACE target allows you to mark packets so that the kernel
 612          will log every rule which match the packets as those traverse
 613          the tables, chains, rules.
 614
 615          If you want to compile it as a module, say M here and read
 616          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 617
 618config NETFILTER_XT_TARGET_SECMARK
 619        tristate '"SECMARK" target support'
 620        depends on NETWORK_SECMARK
 621        default m if NETFILTER_ADVANCED=n
 622        help
 623          The SECMARK target allows security marking of network
 624          packets, for use with security subsystems.
 625
 626          To compile it as a module, choose M here.  If unsure, say N.
 627
 628config NETFILTER_XT_TARGET_TCPMSS
 629        tristate '"TCPMSS" target support'
 630        depends on (IPV6 || IPV6=n)
 631        default m if NETFILTER_ADVANCED=n
 632        ---help---
 633          This option adds a `TCPMSS' target, which allows you to alter the
 634          MSS value of TCP SYN packets, to control the maximum size for that
 635          connection (usually limiting it to your outgoing interface's MTU
 636          minus 40).
 637
 638          This is used to overcome criminally braindead ISPs or servers which
 639          block ICMP Fragmentation Needed packets.  The symptoms of this
 640          problem are that everything works fine from your Linux
 641          firewall/router, but machines behind it can never exchange large
 642          packets:
 643                1) Web browsers connect, then hang with no data received.
 644                2) Small mail works fine, but large emails hang.
 645                3) ssh works fine, but scp hangs after initial handshaking.
 646
 647          Workaround: activate this option and add a rule to your firewall
 648          configuration like:
 649
 650          iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
 651                         -j TCPMSS --clamp-mss-to-pmtu
 652
 653          To compile it as a module, choose M here.  If unsure, say N.
 654
 655config NETFILTER_XT_TARGET_TCPOPTSTRIP
 656        tristate '"TCPOPTSTRIP" target support (EXPERIMENTAL)'
 657        depends on EXPERIMENTAL
 658        depends on IP_NF_MANGLE || IP6_NF_MANGLE
 659        depends on NETFILTER_ADVANCED
 660        help
 661          This option adds a "TCPOPTSTRIP" target, which allows you to strip
 662          TCP options from TCP packets.
 663
 664# alphabetically ordered list of matches
 665
 666comment "Xtables matches"
 667
 668config NETFILTER_XT_MATCH_ADDRTYPE
 669        tristate '"addrtype" address type match support'
 670        depends on NETFILTER_ADVANCED
 671        ---help---
 672          This option allows you to match what routing thinks of an address,
 673          eg. UNICAST, LOCAL, BROADCAST, ...
 674
 675          If you want to compile it as a module, say M here and read
 676          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 677
 678config NETFILTER_XT_MATCH_CLUSTER
 679        tristate '"cluster" match support'
 680        depends on NF_CONNTRACK
 681        depends on NETFILTER_ADVANCED
 682        ---help---
 683          This option allows you to build work-load-sharing clusters of
 684          network servers/stateful firewalls without having a dedicated
 685          load-balancing router/server/switch. Basically, this match returns
 686          true when the packet must be handled by this cluster node. Thus,
 687          all nodes see all packets and this match decides which node handles
 688          what packets. The work-load sharing algorithm is based on source
 689          address hashing.
 690
 691          If you say Y or M here, try `iptables -m cluster --help` for
 692          more information.
 693
 694config NETFILTER_XT_MATCH_COMMENT
 695        tristate  '"comment" match support'
 696        depends on NETFILTER_ADVANCED
 697        help
 698          This option adds a `comment' dummy-match, which allows you to put
 699          comments in your iptables ruleset.
 700
 701          If you want to compile it as a module, say M here and read
 702          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 703
 704config NETFILTER_XT_MATCH_CONNBYTES
 705        tristate  '"connbytes" per-connection counter match support'
 706        depends on NF_CONNTRACK
 707        depends on NETFILTER_ADVANCED
 708        help
 709          This option adds a `connbytes' match, which allows you to match the
 710          number of bytes and/or packets for each direction within a connection.
 711
 712          If you want to compile it as a module, say M here and read
 713          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 714
 715config NETFILTER_XT_MATCH_CONNLIMIT
 716        tristate '"connlimit" match support"'
 717        depends on NF_CONNTRACK
 718        depends on NETFILTER_ADVANCED
 719        ---help---
 720          This match allows you to match against the number of parallel
 721          connections to a server per client IP address (or address block).
 722
 723config NETFILTER_XT_MATCH_CONNMARK
 724        tristate  '"connmark" connection mark match support'
 725        depends on NF_CONNTRACK
 726        depends on NETFILTER_ADVANCED
 727        select NETFILTER_XT_CONNMARK
 728        ---help---
 729        This is a backwards-compat option for the user's convenience
 730        (e.g. when running oldconfig). It selects
 731        CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
 732
 733config NETFILTER_XT_MATCH_CONNTRACK
 734        tristate '"conntrack" connection tracking match support'
 735        depends on NF_CONNTRACK
 736        default m if NETFILTER_ADVANCED=n
 737        help
 738          This is a general conntrack match module, a superset of the state match.
 739
 740          It allows matching on additional conntrack information, which is
 741          useful in complex configurations, such as NAT gateways with multiple
 742          internet links or tunnels.
 743
 744          To compile it as a module, choose M here.  If unsure, say N.
 745
 746config NETFILTER_XT_MATCH_CPU
 747        tristate '"cpu" match support'
 748        depends on NETFILTER_ADVANCED
 749        help
 750          CPU matching allows you to match packets based on the CPU
 751          currently handling the packet.
 752
 753          To compile it as a module, choose M here.  If unsure, say N.
 754
 755config NETFILTER_XT_MATCH_DCCP
 756        tristate '"dccp" protocol match support'
 757        depends on NETFILTER_ADVANCED
 758        default IP_DCCP
 759        help
 760          With this option enabled, you will be able to use the iptables
 761          `dccp' match in order to match on DCCP source/destination ports
 762          and DCCP flags.
 763
 764          If you want to compile it as a module, say M here and read
 765          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 766
 767config NETFILTER_XT_MATCH_DEVGROUP
 768        tristate '"devgroup" match support'
 769        depends on NETFILTER_ADVANCED
 770        help
 771          This options adds a `devgroup' match, which allows to match on the
 772          device group a network device is assigned to.
 773
 774          To compile it as a module, choose M here.  If unsure, say N.
 775
 776config NETFILTER_XT_MATCH_DSCP
 777        tristate '"dscp" and "tos" match support'
 778        depends on NETFILTER_ADVANCED
 779        help
 780          This option adds a `DSCP' match, which allows you to match against
 781          the IPv4/IPv6 header DSCP field (differentiated services codepoint).
 782
 783          The DSCP field can have any value between 0x0 and 0x3f inclusive.
 784
 785          It will also add a "tos" match, which allows you to match packets
 786          based on the Type Of Service fields of the IPv4 packet (which share
 787          the same bits as DSCP).
 788
 789          To compile it as a module, choose M here.  If unsure, say N.
 790
 791config NETFILTER_XT_MATCH_ECN
 792        tristate '"ecn" match support'
 793        depends on NETFILTER_ADVANCED
 794        ---help---
 795        This option adds an "ECN" match, which allows you to match against
 796        the IPv4 and TCP header ECN fields.
 797
 798        To compile it as a module, choose M here. If unsure, say N.
 799
 800config NETFILTER_XT_MATCH_ESP
 801        tristate '"esp" match support'
 802        depends on NETFILTER_ADVANCED
 803        help
 804          This match extension allows you to match a range of SPIs
 805          inside ESP header of IPSec packets.
 806
 807          To compile it as a module, choose M here.  If unsure, say N.
 808
 809config NETFILTER_XT_MATCH_HASHLIMIT
 810        tristate '"hashlimit" match support'
 811        depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
 812        depends on NETFILTER_ADVANCED
 813        help
 814          This option adds a `hashlimit' match.
 815
 816          As opposed to `limit', this match dynamically creates a hash table
 817          of limit buckets, based on your selection of source/destination
 818          addresses and/or ports.
 819
 820          It enables you to express policies like `10kpps for any given
 821          destination address' or `500pps from any given source address'
 822          with a single rule.
 823
 824config NETFILTER_XT_MATCH_HELPER
 825        tristate '"helper" match support'
 826        depends on NF_CONNTRACK
 827        depends on NETFILTER_ADVANCED
 828        help
 829          Helper matching allows you to match packets in dynamic connections
 830          tracked by a conntrack-helper, ie. ip_conntrack_ftp
 831
 832          To compile it as a module, choose M here.  If unsure, say Y.
 833
 834config NETFILTER_XT_MATCH_HL
 835        tristate '"hl" hoplimit/TTL match support'
 836        depends on NETFILTER_ADVANCED
 837        ---help---
 838        HL matching allows you to match packets based on the hoplimit
 839        in the IPv6 header, or the time-to-live field in the IPv4
 840        header of the packet.
 841
 842config NETFILTER_XT_MATCH_IPRANGE
 843        tristate '"iprange" address range match support'
 844        depends on NETFILTER_ADVANCED
 845        ---help---
 846        This option adds a "iprange" match, which allows you to match based on
 847        an IP address range. (Normal iptables only matches on single addresses
 848        with an optional mask.)
 849
 850        If unsure, say M.
 851
 852config NETFILTER_XT_MATCH_IPVS
 853        tristate '"ipvs" match support'
 854        depends on IP_VS
 855        depends on NETFILTER_ADVANCED
 856        depends on NF_CONNTRACK
 857        help
 858          This option allows you to match against IPVS properties of a packet.
 859
 860          If unsure, say N.
 861
 862config NETFILTER_XT_MATCH_LENGTH
 863        tristate '"length" match support'
 864        depends on NETFILTER_ADVANCED
 865        help
 866          This option allows you to match the length of a packet against a
 867          specific value or range of values.
 868
 869          To compile it as a module, choose M here.  If unsure, say N.
 870
 871config NETFILTER_XT_MATCH_LIMIT
 872        tristate '"limit" match support'
 873        depends on NETFILTER_ADVANCED
 874        help
 875          limit matching allows you to control the rate at which a rule can be
 876          matched: mainly useful in combination with the LOG target ("LOG
 877          target support", below) and to avoid some Denial of Service attacks.
 878
 879          To compile it as a module, choose M here.  If unsure, say N.
 880
 881config NETFILTER_XT_MATCH_MAC
 882        tristate '"mac" address match support'
 883        depends on NETFILTER_ADVANCED
 884        help
 885          MAC matching allows you to match packets based on the source
 886          Ethernet address of the packet.
 887
 888          To compile it as a module, choose M here.  If unsure, say N.
 889
 890config NETFILTER_XT_MATCH_MARK
 891        tristate '"mark" match support'
 892        depends on NETFILTER_ADVANCED
 893        select NETFILTER_XT_MARK
 894        ---help---
 895        This is a backwards-compat option for the user's convenience
 896        (e.g. when running oldconfig). It selects
 897        CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
 898
 899config NETFILTER_XT_MATCH_MULTIPORT
 900        tristate '"multiport" Multiple port match support'
 901        depends on NETFILTER_ADVANCED
 902        help
 903          Multiport matching allows you to match TCP or UDP packets based on
 904          a series of source or destination ports: normally a rule can only
 905          match a single range of ports.
 906
 907          To compile it as a module, choose M here.  If unsure, say N.
 908
 909config NETFILTER_XT_MATCH_NFACCT
 910        tristate '"nfacct" match support'
 911        depends on NETFILTER_ADVANCED
 912        select NETFILTER_NETLINK_ACCT
 913        help
 914          This option allows you to use the extended accounting through
 915          nfnetlink_acct.
 916
 917          To compile it as a module, choose M here.  If unsure, say N.
 918
 919config NETFILTER_XT_MATCH_OSF
 920        tristate '"osf" Passive OS fingerprint match'
 921        depends on NETFILTER_ADVANCED && NETFILTER_NETLINK
 922        help
 923          This option selects the Passive OS Fingerprinting match module
 924          that allows to passively match the remote operating system by
 925          analyzing incoming TCP SYN packets.
 926
 927          Rules and loading software can be downloaded from
 928          http://www.ioremap.net/projects/osf
 929
 930          To compile it as a module, choose M here.  If unsure, say N.
 931
 932config NETFILTER_XT_MATCH_OWNER
 933        tristate '"owner" match support'
 934        depends on NETFILTER_ADVANCED
 935        ---help---
 936        Socket owner matching allows you to match locally-generated packets
 937        based on who created the socket: the user or group. It is also
 938        possible to check whether a socket actually exists.
 939
 940config NETFILTER_XT_MATCH_POLICY
 941        tristate 'IPsec "policy" match support'
 942        depends on XFRM
 943        default m if NETFILTER_ADVANCED=n
 944        help
 945          Policy matching allows you to match packets based on the
 946          IPsec policy that was used during decapsulation/will
 947          be used during encapsulation.
 948
 949          To compile it as a module, choose M here.  If unsure, say N.
 950
 951config NETFILTER_XT_MATCH_PHYSDEV
 952        tristate '"physdev" match support'
 953        depends on BRIDGE && BRIDGE_NETFILTER
 954        depends on NETFILTER_ADVANCED
 955        help
 956          Physdev packet matching matches against the physical bridge ports
 957          the IP packet arrived on or will leave by.
 958
 959          To compile it as a module, choose M here.  If unsure, say N.
 960
 961config NETFILTER_XT_MATCH_PKTTYPE
 962        tristate '"pkttype" packet type match support'
 963        depends on NETFILTER_ADVANCED
 964        help
 965          Packet type matching allows you to match a packet by
 966          its "class", eg. BROADCAST, MULTICAST, ...
 967
 968          Typical usage:
 969          iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
 970
 971          To compile it as a module, choose M here.  If unsure, say N.
 972
 973config NETFILTER_XT_MATCH_QUOTA
 974        tristate '"quota" match support'
 975        depends on NETFILTER_ADVANCED
 976        help
 977          This option adds a `quota' match, which allows to match on a
 978          byte counter.
 979
 980          If you want to compile it as a module, say M here and read
 981          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 982
 983config NETFILTER_XT_MATCH_RATEEST
 984        tristate '"rateest" match support'
 985        depends on NETFILTER_ADVANCED
 986        select NETFILTER_XT_TARGET_RATEEST
 987        help
 988          This option adds a `rateest' match, which allows to match on the
 989          rate estimated by the RATEEST target.
 990
 991          To compile it as a module, choose M here.  If unsure, say N.
 992
 993config NETFILTER_XT_MATCH_REALM
 994        tristate  '"realm" match support'
 995        depends on NETFILTER_ADVANCED
 996        select IP_ROUTE_CLASSID
 997        help
 998          This option adds a `realm' match, which allows you to use the realm
 999          key from the routing subsystem inside iptables.
1000
1001          This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option 
1002          in tc world.
1003
1004          If you want to compile it as a module, say M here and read
1005          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
1006
1007config NETFILTER_XT_MATCH_RECENT
1008        tristate '"recent" match support'
1009        depends on NETFILTER_ADVANCED
1010        ---help---
1011        This match is used for creating one or many lists of recently
1012        used addresses and then matching against that/those list(s).
1013
1014        Short options are available by using 'iptables -m recent -h'
1015        Official Website: <http://snowman.net/projects/ipt_recent/>
1016
1017config NETFILTER_XT_MATCH_SCTP
1018        tristate  '"sctp" protocol match support (EXPERIMENTAL)'
1019        depends on EXPERIMENTAL
1020        depends on NETFILTER_ADVANCED
1021        default IP_SCTP
1022        help
1023          With this option enabled, you will be able to use the 
1024          `sctp' match in order to match on SCTP source/destination ports
1025          and SCTP chunk types.
1026
1027          If you want to compile it as a module, say M here and read
1028          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
1029
1030config NETFILTER_XT_MATCH_SOCKET
1031        tristate '"socket" match support (EXPERIMENTAL)'
1032        depends on EXPERIMENTAL
1033        depends on NETFILTER_TPROXY
1034        depends on NETFILTER_XTABLES
1035        depends on NETFILTER_ADVANCED
1036        depends on !NF_CONNTRACK || NF_CONNTRACK
1037        select NF_DEFRAG_IPV4
1038        select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES
1039        help
1040          This option adds a `socket' match, which can be used to match
1041          packets for which a TCP or UDP socket lookup finds a valid socket.
1042          It can be used in combination with the MARK target and policy
1043          routing to implement full featured non-locally bound sockets.
1044
1045          To compile it as a module, choose M here.  If unsure, say N.
1046
1047config NETFILTER_XT_MATCH_STATE
1048        tristate '"state" match support'
1049        depends on NF_CONNTRACK
1050        default m if NETFILTER_ADVANCED=n
1051        help
1052          Connection state matching allows you to match packets based on their
1053          relationship to a tracked connection (ie. previous packets).  This
1054          is a powerful tool for packet classification.
1055
1056          To compile it as a module, choose M here.  If unsure, say N.
1057
1058config NETFILTER_XT_MATCH_STATISTIC
1059        tristate '"statistic" match support'
1060        depends on NETFILTER_ADVANCED
1061        help
1062          This option adds a `statistic' match, which allows you to match
1063          on packets periodically or randomly with a given percentage.
1064
1065          To compile it as a module, choose M here.  If unsure, say N.
1066
1067config NETFILTER_XT_MATCH_STRING
1068        tristate  '"string" match support'
1069        depends on NETFILTER_ADVANCED
1070        select TEXTSEARCH
1071        select TEXTSEARCH_KMP
1072        select TEXTSEARCH_BM
1073        select TEXTSEARCH_FSM
1074        help
1075          This option adds a `string' match, which allows you to look for
1076          pattern matchings in packets.
1077
1078          To compile it as a module, choose M here.  If unsure, say N.
1079
1080config NETFILTER_XT_MATCH_TCPMSS
1081        tristate '"tcpmss" match support'
1082        depends on NETFILTER_ADVANCED
1083        help
1084          This option adds a `tcpmss' match, which allows you to examine the
1085          MSS value of TCP SYN packets, which control the maximum packet size
1086          for that connection.
1087
1088          To compile it as a module, choose M here.  If unsure, say N.
1089
1090config NETFILTER_XT_MATCH_TIME
1091        tristate '"time" match support'
1092        depends on NETFILTER_ADVANCED
1093        ---help---
1094          This option adds a "time" match, which allows you to match based on
1095          the packet arrival time (at the machine which netfilter is running)
1096          on) or departure time/date (for locally generated packets).
1097
1098          If you say Y here, try `iptables -m time --help` for
1099          more information.
1100
1101          If you want to compile it as a module, say M here.
1102          If unsure, say N.
1103
1104config NETFILTER_XT_MATCH_U32
1105        tristate '"u32" match support'
1106        depends on NETFILTER_ADVANCED
1107        ---help---
1108          u32 allows you to extract quantities of up to 4 bytes from a packet,
1109          AND them with specified masks, shift them by specified amounts and
1110          test whether the results are in any of a set of specified ranges.
1111          The specification of what to extract is general enough to skip over
1112          headers with lengths stored in the packet, as in IP or TCP header
1113          lengths.
1114
1115          Details and examples are in the kernel module source.
1116
1117endif # NETFILTER_XTABLES
1118
1119endmenu
1120
1121source "net/netfilter/ipset/Kconfig"
1122
1123source "net/netfilter/ipvs/Kconfig"
1124
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.