linux/net/ipv6/netfilter/Kconfig
<<
>>
Prefs
   1#
   2# IP netfilter configuration
   3#
   4
   5menu "IPv6: Netfilter Configuration"
   6        depends on INET && IPV6 && NETFILTER
   7
   8config NF_SOCKET_IPV6
   9        tristate "IPv6 socket lookup support"
  10        help
  11          This option enables the IPv6 socket lookup infrastructure. This
  12          is used by the {ip6,nf}tables socket match.
  13
  14config NF_TPROXY_IPV6
  15        tristate "IPv6 tproxy support"
  16
  17if NF_TABLES
  18
  19config NF_TABLES_IPV6
  20        bool "IPv6 nf_tables support"
  21        help
  22          This option enables the IPv6 support for nf_tables.
  23
  24if NF_TABLES_IPV6
  25
  26config NFT_CHAIN_ROUTE_IPV6
  27        tristate "IPv6 nf_tables route chain support"
  28        help
  29          This option enables the "route" chain for IPv6 in nf_tables. This
  30          chain type is used to force packet re-routing after mangling header
  31          fields such as the source, destination, flowlabel, hop-limit and
  32          the packet mark.
  33
  34if NF_NAT_IPV6
  35
  36config NFT_CHAIN_NAT_IPV6
  37        tristate "IPv6 nf_tables nat chain support"
  38        help
  39          This option enables the "nat" chain for IPv6 in nf_tables. This
  40          chain type is used to perform Network Address Translation (NAT)
  41          packet transformations such as the source, destination address and
  42          source and destination ports.
  43
  44config NFT_MASQ_IPV6
  45        tristate "IPv6 masquerade support for nf_tables"
  46        depends on NFT_MASQ
  47        select NF_NAT_MASQUERADE_IPV6
  48        help
  49          This is the expression that provides IPv4 masquerading support for
  50          nf_tables.
  51
  52config NFT_REDIR_IPV6
  53        tristate "IPv6 redirect support for nf_tables"
  54        depends on NFT_REDIR
  55        select NF_NAT_REDIRECT
  56        help
  57          This is the expression that provides IPv4 redirect support for
  58          nf_tables.
  59
  60endif # NF_NAT_IPV6
  61
  62config NFT_REJECT_IPV6
  63        select NF_REJECT_IPV6
  64        default NFT_REJECT
  65        tristate
  66
  67config NFT_DUP_IPV6
  68        tristate "IPv6 nf_tables packet duplication support"
  69        depends on !NF_CONNTRACK || NF_CONNTRACK
  70        select NF_DUP_IPV6
  71        help
  72          This module enables IPv6 packet duplication support for nf_tables.
  73
  74config NFT_FIB_IPV6
  75        tristate "nf_tables fib / ipv6 route lookup support"
  76        select NFT_FIB
  77        help
  78          This module enables IPv6 FIB lookups, e.g. for reverse path filtering.
  79          It also allows query of the FIB for the route type, e.g. local, unicast,
  80          multicast or blackhole.
  81
  82endif # NF_TABLES_IPV6
  83endif # NF_TABLES
  84
  85config NF_FLOW_TABLE_IPV6
  86        tristate "Netfilter flow table IPv6 module"
  87        depends on NF_FLOW_TABLE
  88        help
  89          This option adds the flow table IPv6 support.
  90
  91          To compile it as a module, choose M here.
  92
  93config NF_DUP_IPV6
  94        tristate "Netfilter IPv6 packet duplication to alternate destination"
  95        depends on !NF_CONNTRACK || NF_CONNTRACK
  96        help
  97          This option enables the nf_dup_ipv6 core, which duplicates an IPv6
  98          packet to be rerouted to another destination.
  99
 100config NF_REJECT_IPV6
 101        tristate "IPv6 packet rejection"
 102        default m if NETFILTER_ADVANCED=n
 103
 104config NF_LOG_IPV6
 105        tristate "IPv6 packet logging"
 106        default m if NETFILTER_ADVANCED=n
 107        select NF_LOG_COMMON
 108
 109config NF_NAT_IPV6
 110        tristate "IPv6 NAT"
 111        depends on NF_CONNTRACK
 112        depends on NETFILTER_ADVANCED
 113        select NF_NAT
 114        help
 115          The IPv6 NAT option allows masquerading, port forwarding and other
 116          forms of full Network Address Port Translation. This can be
 117          controlled by iptables or nft.
 118
 119if NF_NAT_IPV6
 120
 121config NF_NAT_MASQUERADE_IPV6
 122        bool
 123
 124endif # NF_NAT_IPV6
 125
 126config IP6_NF_IPTABLES
 127        tristate "IP6 tables support (required for filtering)"
 128        depends on INET && IPV6
 129        select NETFILTER_XTABLES
 130        default m if NETFILTER_ADVANCED=n
 131        help
 132          ip6tables is a general, extensible packet identification framework.
 133          Currently only the packet filtering and packet mangling subsystem
 134          for IPv6 use this, but connection tracking is going to follow.
 135          Say 'Y' or 'M' here if you want to use either of those.
 136
 137          To compile it as a module, choose M here.  If unsure, say N.
 138
 139if IP6_NF_IPTABLES
 140
 141# The simple matches.
 142config IP6_NF_MATCH_AH
 143        tristate '"ah" match support'
 144        depends on NETFILTER_ADVANCED
 145        help
 146          This module allows one to match AH packets.
 147
 148          To compile it as a module, choose M here.  If unsure, say N.
 149
 150config IP6_NF_MATCH_EUI64
 151        tristate '"eui64" address check'
 152        depends on NETFILTER_ADVANCED
 153        help
 154          This module performs checking on the IPv6 source address
 155          Compares the last 64 bits with the EUI64 (delivered
 156          from the MAC address) address
 157
 158          To compile it as a module, choose M here.  If unsure, say N.
 159
 160config IP6_NF_MATCH_FRAG
 161        tristate '"frag" Fragmentation header match support'
 162        depends on NETFILTER_ADVANCED
 163        help
 164          frag matching allows you to match packets based on the fragmentation
 165          header of the packet.
 166
 167          To compile it as a module, choose M here.  If unsure, say N.
 168
 169config IP6_NF_MATCH_OPTS
 170        tristate '"hbh" hop-by-hop and "dst" opts header match support'
 171        depends on NETFILTER_ADVANCED
 172        help
 173          This allows one to match packets based on the hop-by-hop
 174          and destination options headers of a packet.
 175
 176          To compile it as a module, choose M here.  If unsure, say N.
 177
 178config IP6_NF_MATCH_HL
 179        tristate '"hl" hoplimit match support'
 180        depends on NETFILTER_ADVANCED
 181        select NETFILTER_XT_MATCH_HL
 182        ---help---
 183        This is a backwards-compat option for the user's convenience
 184        (e.g. when running oldconfig). It selects
 185        CONFIG_NETFILTER_XT_MATCH_HL.
 186
 187config IP6_NF_MATCH_IPV6HEADER
 188        tristate '"ipv6header" IPv6 Extension Headers Match'
 189        default m if NETFILTER_ADVANCED=n
 190        help
 191          This module allows one to match packets based upon
 192          the ipv6 extension headers.
 193
 194          To compile it as a module, choose M here.  If unsure, say N.
 195
 196config IP6_NF_MATCH_MH
 197        tristate '"mh" match support'
 198        depends on NETFILTER_ADVANCED
 199        help
 200          This module allows one to match MH packets.
 201
 202          To compile it as a module, choose M here.  If unsure, say N.
 203
 204config IP6_NF_MATCH_RPFILTER
 205        tristate '"rpfilter" reverse path filter match support'
 206        depends on NETFILTER_ADVANCED
 207        depends on IP6_NF_MANGLE || IP6_NF_RAW
 208        ---help---
 209          This option allows you to match packets whose replies would
 210          go out via the interface the packet came in.
 211
 212          To compile it as a module, choose M here.  If unsure, say N.
 213          The module will be called ip6t_rpfilter.
 214
 215config IP6_NF_MATCH_RT
 216        tristate '"rt" Routing header match support'
 217        depends on NETFILTER_ADVANCED
 218        help
 219          rt matching allows you to match packets based on the routing
 220          header of the packet.
 221
 222          To compile it as a module, choose M here.  If unsure, say N.
 223
 224config IP6_NF_MATCH_SRH
 225        tristate '"srh" Segment Routing header match support'
 226        depends on NETFILTER_ADVANCED
 227        help
 228          srh matching allows you to match packets based on the segment
 229          routing header of the packet.
 230
 231          To compile it as a module, choose M here.  If unsure, say N.
 232
 233# The targets
 234config IP6_NF_TARGET_HL
 235        tristate '"HL" hoplimit target support'
 236        depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
 237        select NETFILTER_XT_TARGET_HL
 238        ---help---
 239        This is a backwards-compatible option for the user's convenience
 240        (e.g. when running oldconfig). It selects
 241        CONFIG_NETFILTER_XT_TARGET_HL.
 242
 243config IP6_NF_FILTER
 244        tristate "Packet filtering"
 245        default m if NETFILTER_ADVANCED=n
 246        help
 247          Packet filtering defines a table `filter', which has a series of
 248          rules for simple packet filtering at local input, forwarding and
 249          local output.  See the man page for iptables(8).
 250
 251          To compile it as a module, choose M here.  If unsure, say N.
 252
 253config IP6_NF_TARGET_REJECT
 254        tristate "REJECT target support"
 255        depends on IP6_NF_FILTER
 256        select NF_REJECT_IPV6
 257        default m if NETFILTER_ADVANCED=n
 258        help
 259          The REJECT target allows a filtering rule to specify that an ICMPv6
 260          error should be issued in response to an incoming packet, rather
 261          than silently being dropped.
 262
 263          To compile it as a module, choose M here.  If unsure, say N.
 264
 265config IP6_NF_TARGET_SYNPROXY
 266        tristate "SYNPROXY target support"
 267        depends on NF_CONNTRACK && NETFILTER_ADVANCED
 268        select NETFILTER_SYNPROXY
 269        select SYN_COOKIES
 270        help
 271          The SYNPROXY target allows you to intercept TCP connections and
 272          establish them using syncookies before they are passed on to the
 273          server. This allows to avoid conntrack and server resource usage
 274          during SYN-flood attacks.
 275
 276          To compile it as a module, choose M here. If unsure, say N.
 277
 278config IP6_NF_MANGLE
 279        tristate "Packet mangling"
 280        default m if NETFILTER_ADVANCED=n
 281        help
 282          This option adds a `mangle' table to iptables: see the man page for
 283          iptables(8).  This table is used for various packet alterations
 284          which can effect how the packet is routed.
 285
 286          To compile it as a module, choose M here.  If unsure, say N.
 287
 288config IP6_NF_RAW
 289        tristate  'raw table support (required for TRACE)'
 290        help
 291          This option adds a `raw' table to ip6tables. This table is the very
 292          first in the netfilter framework and hooks in at the PREROUTING
 293          and OUTPUT chains.
 294
 295          If you want to compile it as a module, say M here and read
 296          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 297
 298# security table for MAC policy
 299config IP6_NF_SECURITY
 300       tristate "Security table"
 301       depends on SECURITY
 302       depends on NETFILTER_ADVANCED
 303       help
 304         This option adds a `security' table to iptables, for use
 305         with Mandatory Access Control (MAC) policy.
 306
 307         If unsure, say N.
 308
 309config IP6_NF_NAT
 310        tristate "ip6tables NAT support"
 311        depends on NF_CONNTRACK
 312        depends on NETFILTER_ADVANCED
 313        select NF_NAT
 314        select NF_NAT_IPV6
 315        select NETFILTER_XT_NAT
 316        help
 317          This enables the `nat' table in ip6tables. This allows masquerading,
 318          port forwarding and other forms of full Network Address Port
 319          Translation.
 320
 321          To compile it as a module, choose M here.  If unsure, say N.
 322
 323if IP6_NF_NAT
 324
 325config IP6_NF_TARGET_MASQUERADE
 326        tristate "MASQUERADE target support"
 327        select NF_NAT_MASQUERADE_IPV6
 328        help
 329          Masquerading is a special case of NAT: all outgoing connections are
 330          changed to seem to come from a particular interface's address, and
 331          if the interface goes down, those connections are lost.  This is
 332          only useful for dialup accounts with dynamic IP address (ie. your IP
 333          address will be different on next dialup).
 334
 335          To compile it as a module, choose M here.  If unsure, say N.
 336
 337config IP6_NF_TARGET_NPT
 338        tristate "NPT (Network Prefix translation) target support"
 339        help
 340          This option adds the `SNPT' and `DNPT' target, which perform
 341          stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
 342
 343          To compile it as a module, choose M here.  If unsure, say N.
 344
 345endif # IP6_NF_NAT
 346
 347endif # IP6_NF_IPTABLES
 348endmenu
 349
 350config NF_DEFRAG_IPV6
 351        tristate
 352