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