How to configure the Linux kernel/net/ipv6/netfilter

Howto configure the Linux kernel / net / ipv6 / netfilter


 * IP netfilter configuration
 * IP netfilter configuration

IPv6: Netfilter Configuration (EXPERIMENTAL)

 * depends on INET && IPV6 && NETFILTER && EXPERIMENTAL


 * Option: NF_CONNTRACK_IPV6
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) IPv6 support for new connection tracking (EXPERIMENTAL)
 * depends on EXPERIMENTAL && NF_CONNTRACK
 * Connection tracking keeps a record of what packets have passed through your machine, in order to figure out how they are related into connections.
 * This is IPv6 support on Layer 3 independent connection tracking. Layer 3 independent connection tracking is experimental scheme which generalize ip_conntrack to support other layer 3 protocols.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_QUEUE
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) IP6 Userspace queueing via NETLINK (OBSOLETE)
 * This option adds a queue handler to the kernel for IPv6 packets which enables users to receive the filtered packets with QUEUE target using libipq.
 * THis option enables the old IPv6-only "ip6_queue" implementation which has been obsoleted by the new "nfnetlink_queue" code (see CONFIG_NETFILTER_NETLINK_QUEUE).
 * (C) Fernando Anton 2001 IPv64 Project - Work based in IPv64 draft by Arturo Azcorra. Universidad Carlos III de Madrid Universidad Politecnica de Alcala de Henares email: .
 * To compile it as a module, choose M here. If unsure, say N.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_IPTABLES
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) IP6 tables support (required for filtering/masq/NAT)
 * ip6tables is a general, extensible packet identification framework. Currently only the packet filtering and packet mangling subsystem for IPv6 use this, but connection tracking is going to follow. Say 'Y' or 'M' here if you want to use either of those.
 * To compile it as a module, choose M here. If unsure, say N.


 * The simple matches.


 * Option: IP6_NF_MATCH_LIMIT
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) limit match support
 * depends on IP6_NF_IPTABLES
 * limit matching allows you to control the rate at which a rule can be matched: mainly useful in combination with the LOG target ("LOG target support", below) and to avoid some Denial of Service attacks.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_MAC
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) MAC address match support
 * depends on IP6_NF_IPTABLES
 * mac matching allows you to match packets based on the source Ethernet address of the packet.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_RT
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Routing header match support
 * depends on IP6_NF_IPTABLES
 * rt matching allows you to match packets based on the routing header of the packet.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_OPTS
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Hop-by-hop and Dst opts header match support
 * depends on IP6_NF_IPTABLES
 * This allows one to match packets based on the hop-by-hop and destination options headers of a packet.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_FRAG
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Fragmentation header match support
 * depends on IP6_NF_IPTABLES
 * frag matching allows you to match packets based on the fragmentation header of the packet.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_HL
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) HL match support
 * depends on IP6_NF_IPTABLES
 * HL matching allows you to match packets based on the hop limit of the packet.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_MULTIPORT
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Multiple port match support
 * depends on IP6_NF_IPTABLES
 * Multiport matching allows you to match TCP or UDP packets based on a series of source or destination ports: normally a rule can only match a single range of ports.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_OWNER
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Owner match support
 * depends on IP6_NF_IPTABLES
 * Packet owner matching allows you to match locally-generated packets based on who created them: the user, group, process or session.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_MARK
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) netfilter MARK match support
 * depends on IP6_NF_IPTABLES
 * Netfilter mark matching allows you to match packets based on the `nfmark' value in the packet. This can be set by the MARK target (see below).
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_IPV6HEADER
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) IPv6 Extension Headers Match
 * depends on IP6_NF_IPTABLES
 * This module allows one to match packets based upon the ipv6 extension headers.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_AHESP
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) AH/ESP match support
 * depends on IP6_NF_IPTABLES
 * This module allows one to match AH and ESP packets.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_LENGTH
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Packet Length match support
 * depends on IP6_NF_IPTABLES
 * This option allows you to match the length of a packet against a specific value or range of values.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_EUI64
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) EUI64 address check
 * depends on IP6_NF_IPTABLES
 * This module performs checking on the IPv6 source address Compares the last 64 bits with the EUI64 (delivered from the MAC address) address
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MATCH_PHYSDEV
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Physdev match support
 * depends on IP6_NF_IPTABLES && BRIDGE_NETFILTER
 * Physdev packet matching matches against the physical bridge ports the IP packet arrived on or will leave by.
 * To compile it as a module, choose M here. If unsure, say N.


 * The targets


 * Option: IP6_NF_FILTER
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Packet filtering
 * depends on IP6_NF_IPTABLES
 * Packet filtering defines a table `filter', which has a series of rules for simple packet filtering at local input, forwarding and local output. See the man page for iptables(8).
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_TARGET_LOG
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) LOG target support
 * depends on IP6_NF_FILTER
 * This option adds a `LOG' target, which allows you to create rules in any iptables table which records the packet header to the syslog.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_TARGET_REJECT
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) REJECT target support
 * depends on IP6_NF_FILTER
 * The REJECT target allows a filtering rule to specify that an ICMPv6 error should be issued in response to an incoming packet, rather than silently being dropped.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_TARGET_NFQUEUE
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) NFQUEUE Target Support
 * depends on IP6_NF_IPTABLES
 * This Target replaced the old obsolete QUEUE target.
 * As opposed to QUEUE, it supports 65535 different queues, not just one.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_MANGLE
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) Packet mangling
 * depends on IP6_NF_IPTABLES
 * This option adds a `mangle' table to iptables: see the man page for iptables(8). This table is used for various packet alterations which can effect how the packet is routed.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_TARGET_MARK
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module) MARK target support
 * depends on IP6_NF_MANGLE
 * This option adds a `MARK' target, which allows you to create rules in the `mangle' table which alter the netfilter mark (nfmark) field associated with the packet packet prior to routing. This can change the routing method (see `Use netfilter MARK value as routing key') and can also be used by other subsystems to change their behavior.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_TARGET_HL
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module)  'HL (hoplimit) target support'
 * depends on IP6_NF_MANGLE
 * This option adds a `HL' target, which enables the user to decrement the hoplimit value of the IPv6 header or set it to a given (lower) value.
 * While it is safe to decrement the hoplimit value, this option also enables functionality to increment and set the hoplimit value of the IPv6 header to arbitrary values. This is EXTREMELY DANGEROUS since you can easily create immortal packets that loop forever on the network.
 * To compile it as a module, choose M here. If unsure, say N.


 * Option: IP6_NF_RAW
 * Kernel Versions: 2.6.15.6 ...
 * (on/off/module)  'raw table support (required for TRACE)'
 * depends on IP6_NF_IPTABLES
 * This option adds a `raw' table to ip6tables. This table is the very first in the netfilter framework and hooks in at the PREROUTING and OUTPUT chains.
 * If you want to compile it as a module, say M here and read . If unsure, say `N'.

Linux Kernel Configuration