2005-04-16 22:20:36 +00:00
|
|
|
#
|
|
|
|
# IP netfilter configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
menu "IP: Netfilter Configuration"
|
|
|
|
depends on INET && NETFILTER
|
|
|
|
|
[NETFILTER]: Add nf_conntrack subsystem.
The existing connection tracking subsystem in netfilter can only
handle ipv4. There were basically two choices present to add
connection tracking support for ipv6. We could either duplicate all
of the ipv4 connection tracking code into an ipv6 counterpart, or (the
choice taken by these patches) we could design a generic layer that
could handle both ipv4 and ipv6 and thus requiring only one sub-protocol
(TCP, UDP, etc.) connection tracking helper module to be written.
In fact nf_conntrack is capable of working with any layer 3
protocol.
The existing ipv4 specific conntrack code could also not deal
with the pecularities of doing connection tracking on ipv6,
which is also cured here. For example, these issues include:
1) ICMPv6 handling, which is used for neighbour discovery in
ipv6 thus some messages such as these should not participate
in connection tracking since effectively they are like ARP
messages
2) fragmentation must be handled differently in ipv6, because
the simplistic "defrag, connection track and NAT, refrag"
(which the existing ipv4 connection tracking does) approach simply
isn't feasible in ipv6
3) ipv6 extension header parsing must occur at the correct spots
before and after connection tracking decisions, and there were
no provisions for this in the existing connection tracking
design
4) ipv6 has no need for stateful NAT
The ipv4 specific conntrack layer is kept around, until all of
the ipv4 specific conntrack helpers are ported over to nf_conntrack
and it is feature complete. Once that occurs, the old conntrack
stuff will get placed into the feature-removal-schedule and we will
fully kill it off 6 months later.
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
2005-11-10 00:38:16 +00:00
|
|
|
config NF_CONNTRACK_IPV4
|
|
|
|
tristate "IPv4 support for new connection tracking (EXPERIMENTAL)"
|
|
|
|
depends on EXPERIMENTAL && NF_CONNTRACK
|
|
|
|
---help---
|
|
|
|
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 IPv4 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.
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
# connection tracking, helpers and protocols
|
|
|
|
config IP_NF_CONNTRACK
|
|
|
|
tristate "Connection tracking (required for masq/NAT)"
|
|
|
|
---help---
|
|
|
|
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 required to do Masquerading or other kinds of Network
|
|
|
|
Address Translation (except for Fast NAT). It can also be used to
|
|
|
|
enhance packet filtering (see `Connection state match support'
|
|
|
|
below).
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_CT_ACCT
|
|
|
|
bool "Connection tracking flow accounting"
|
|
|
|
depends on IP_NF_CONNTRACK
|
|
|
|
help
|
|
|
|
If this option is enabled, the connection tracking code will
|
|
|
|
keep per-flow packet and byte counters.
|
|
|
|
|
|
|
|
Those counters can be used for flow-based accounting or the
|
|
|
|
`connbytes' match.
|
|
|
|
|
|
|
|
If unsure, say `N'.
|
|
|
|
|
|
|
|
config IP_NF_CONNTRACK_MARK
|
|
|
|
bool 'Connection mark tracking support'
|
2005-09-06 22:09:20 +00:00
|
|
|
depends on IP_NF_CONNTRACK
|
2005-04-16 22:20:36 +00:00
|
|
|
help
|
|
|
|
This option enables support for connection marks, used by the
|
|
|
|
`CONNMARK' target and `connmark' match. Similar to the mark value
|
|
|
|
of packets, but this mark value is kept in the conntrack session
|
|
|
|
instead of the individual packets.
|
|
|
|
|
2005-08-10 02:28:03 +00:00
|
|
|
config IP_NF_CONNTRACK_EVENTS
|
2005-12-05 21:36:25 +00:00
|
|
|
bool "Connection tracking events (EXPERIMENTAL)"
|
|
|
|
depends on EXPERIMENTAL && IP_NF_CONNTRACK
|
2005-08-10 02:28:03 +00:00
|
|
|
help
|
|
|
|
If this option is enabled, the connection tracking code will
|
|
|
|
provide a notifier chain that can be used by other kernel code
|
|
|
|
to get notified about changes in the connection tracking state.
|
|
|
|
|
|
|
|
IF unsure, say `N'.
|
|
|
|
|
2005-09-17 07:41:02 +00:00
|
|
|
config IP_NF_CONNTRACK_NETLINK
|
2005-12-05 21:36:25 +00:00
|
|
|
tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
|
|
|
|
depends on EXPERIMENTAL && IP_NF_CONNTRACK && NETFILTER_NETLINK
|
2005-09-18 07:33:02 +00:00
|
|
|
depends on IP_NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
|
2005-09-17 07:41:02 +00:00
|
|
|
help
|
|
|
|
This option enables support for a netlink-based userspace interface
|
|
|
|
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
config IP_NF_CT_PROTO_SCTP
|
|
|
|
tristate 'SCTP protocol connection tracking support (EXPERIMENTAL)'
|
|
|
|
depends on IP_NF_CONNTRACK && EXPERIMENTAL
|
|
|
|
help
|
|
|
|
With this option enabled, the connection tracking code will
|
|
|
|
be able to do state tracking on SCTP connections.
|
|
|
|
|
|
|
|
If you want to compile it as a module, say M here and read
|
|
|
|
<file:Documentation/modules.txt>. If unsure, say `N'.
|
|
|
|
|
|
|
|
config IP_NF_FTP
|
|
|
|
tristate "FTP protocol support"
|
|
|
|
depends on IP_NF_CONNTRACK
|
|
|
|
help
|
|
|
|
Tracking FTP connections is problematic: special helpers are
|
|
|
|
required for tracking them, and doing masquerading and other forms
|
|
|
|
of Network Address Translation on them.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say Y.
|
|
|
|
|
|
|
|
config IP_NF_IRC
|
|
|
|
tristate "IRC protocol support"
|
|
|
|
depends on IP_NF_CONNTRACK
|
|
|
|
---help---
|
|
|
|
There is a commonly-used extension to IRC called
|
|
|
|
Direct Client-to-Client Protocol (DCC). This enables users to send
|
|
|
|
files to each other, and also chat to each other without the need
|
|
|
|
of a server. DCC Sending is used anywhere you send files over IRC,
|
|
|
|
and DCC Chat is most commonly used by Eggdrop bots. If you are
|
|
|
|
using NAT, this extension will enable you to send files and initiate
|
|
|
|
chats. Note that you do NOT need this extension to get files or
|
|
|
|
have others initiate chats, or everything else in IRC.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say Y.
|
|
|
|
|
2005-09-06 22:08:51 +00:00
|
|
|
config IP_NF_NETBIOS_NS
|
|
|
|
tristate "NetBIOS name service protocol support (EXPERIMENTAL)"
|
|
|
|
depends on IP_NF_CONNTRACK && EXPERIMENTAL
|
|
|
|
help
|
|
|
|
NetBIOS name service requests are sent as broadcast messages from an
|
|
|
|
unprivileged port and responded to with unicast messages to the
|
|
|
|
same port. This make them hard to firewall properly because connection
|
|
|
|
tracking doesn't deal with broadcasts. This helper tracks locally
|
|
|
|
originating NetBIOS name service requests and the corresponding
|
|
|
|
responses. It relies on correct IP address configuration, specifically
|
|
|
|
netmask and broadcast address. When properly configured, the output
|
|
|
|
of "ip address show" should look similar to this:
|
|
|
|
|
|
|
|
$ ip -4 address show eth0
|
|
|
|
4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
|
|
|
|
inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
config IP_NF_TFTP
|
|
|
|
tristate "TFTP protocol support"
|
|
|
|
depends on IP_NF_CONNTRACK
|
|
|
|
help
|
|
|
|
TFTP connection tracking helper, this is required depending
|
|
|
|
on how restrictive your ruleset is.
|
|
|
|
If you are using a tftp client behind -j SNAT or -j MASQUERADING
|
|
|
|
you will need this.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say Y.
|
|
|
|
|
|
|
|
config IP_NF_AMANDA
|
|
|
|
tristate "Amanda backup protocol support"
|
|
|
|
depends on IP_NF_CONNTRACK
|
|
|
|
help
|
|
|
|
If you are running the Amanda backup package <http://www.amanda.org/>
|
|
|
|
on this machine or machines that will be MASQUERADED through this
|
|
|
|
machine, then you may want to enable this feature. This allows the
|
|
|
|
connection tracking and natting code to allow the sub-channels that
|
|
|
|
Amanda requires for communication of the backup data, messages and
|
|
|
|
index.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say Y.
|
|
|
|
|
2005-09-19 22:33:08 +00:00
|
|
|
config IP_NF_PPTP
|
|
|
|
tristate 'PPTP protocol support'
|
2005-10-11 03:47:42 +00:00
|
|
|
depends on IP_NF_CONNTRACK
|
2005-09-19 22:33:08 +00:00
|
|
|
help
|
|
|
|
This module adds support for PPTP (Point to Point Tunnelling
|
2005-10-04 22:58:56 +00:00
|
|
|
Protocol, RFC2637) connection tracking and NAT.
|
2005-09-19 22:33:08 +00:00
|
|
|
|
|
|
|
If you are running PPTP sessions over a stateful firewall or NAT
|
|
|
|
box, you may want to enable this feature.
|
|
|
|
|
|
|
|
Please note that not all PPTP modes of operation are supported yet.
|
|
|
|
For more info, read top of the file
|
|
|
|
net/ipv4/netfilter/ip_conntrack_pptp.c
|
|
|
|
|
|
|
|
If you want to compile it as a module, say M here and read
|
|
|
|
Documentation/modules.txt. If unsure, say `N'.
|
|
|
|
|
2006-03-21 07:41:17 +00:00
|
|
|
config IP_NF_H323
|
|
|
|
tristate 'H.323 protocol support'
|
|
|
|
depends on IP_NF_CONNTRACK
|
|
|
|
help
|
|
|
|
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
|
|
|
|
important VoIP protocols, it is widely used by voice hardware and
|
|
|
|
software including voice gateways, IP phones, Netmeeting, OpenPhone,
|
|
|
|
Gnomemeeting, etc.
|
|
|
|
|
|
|
|
With this module you can support H.323 on a connection tracking/NAT
|
|
|
|
firewall.
|
|
|
|
|
|
|
|
This module supports RAS, Fast-start, H.245 tunnelling, RTP/RTCP
|
|
|
|
and T.120 based data and applications including audio, video, FAX,
|
|
|
|
chat, whiteboard, file transfer, etc. For more information, please
|
|
|
|
see http://nath323.sourceforge.net/.
|
|
|
|
|
|
|
|
If you want to compile it as a module, say 'M' here and read
|
|
|
|
Documentation/modules.txt. If unsure, say 'N'.
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
config IP_NF_QUEUE
|
2005-08-10 02:44:15 +00:00
|
|
|
tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
|
2005-04-16 22:20:36 +00:00
|
|
|
help
|
|
|
|
Netfilter has the ability to queue packets to user space: the
|
|
|
|
netlink device can be used to access them using this driver.
|
|
|
|
|
2005-08-10 02:44:15 +00:00
|
|
|
This option enables the old IPv4-only "ip_queue" implementation
|
|
|
|
which has been obsoleted by the new "nfnetlink_queue" code (see
|
|
|
|
CONFIG_NETFILTER_NETLINK_QUEUE).
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_IPTABLES
|
|
|
|
tristate "IP tables support (required for filtering/masq/NAT)"
|
[NETFILTER] x_tables: Abstraction layer for {ip,ip6,arp}_tables
This monster-patch tries to do the best job for unifying the data
structures and backend interfaces for the three evil clones ip_tables,
ip6_tables and arp_tables. In an ideal world we would never have
allowed this kind of copy+paste programming... but well, our world
isn't (yet?) ideal.
o introduce a new x_tables module
o {ip,arp,ip6}_tables depend on this x_tables module
o registration functions for tables, matches and targets are only
wrappers around x_tables provided functions
o all matches/targets that are used from ip_tables and ip6_tables
are now implemented as xt_FOOBAR.c files and provide module aliases
to ipt_FOOBAR and ip6t_FOOBAR
o header files for xt_matches are in include/linux/netfilter/,
include/linux/netfilter_{ipv4,ipv6} contains compatibility wrappers
around the xt_FOOBAR.h headers
Based on this patchset we're going to further unify the code,
gradually getting rid of all the layer 3 specific assumptions.
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-12 21:30:04 +00:00
|
|
|
depends on NETFILTER_XTABLES
|
2005-04-16 22:20:36 +00:00
|
|
|
help
|
|
|
|
iptables is a general, extensible packet identification framework.
|
|
|
|
The packet filtering and full NAT (masquerading, port forwarding,
|
|
|
|
etc) subsystems now use this: 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 matches.
|
|
|
|
config IP_NF_MATCH_IPRANGE
|
|
|
|
tristate "IP range match support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
This option makes possible to match IP addresses against IP address
|
|
|
|
ranges.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_MATCH_TOS
|
|
|
|
tristate "TOS match support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
TOS matching allows you to match packets based on the Type Of
|
|
|
|
Service fields of the IP packet.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_MATCH_RECENT
|
|
|
|
tristate "recent match support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
This match is used for creating one or many lists of recently
|
|
|
|
used addresses and then matching against that/those list(s).
|
|
|
|
|
|
|
|
Short options are available by using 'iptables -m recent -h'
|
|
|
|
Official Website: <http://snowman.net/projects/ipt_recent/>
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_MATCH_ECN
|
|
|
|
tristate "ECN match support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
This option adds a `ECN' match, which allows you to match against
|
|
|
|
the IPv4 and TCP header ECN fields.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_MATCH_DSCP
|
|
|
|
tristate "DSCP match support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
This option adds a `DSCP' match, which allows you to match against
|
|
|
|
the IPv4 header DSCP field (DSCP codepoint).
|
|
|
|
|
|
|
|
The DSCP codepoint can have any value between 0x0 and 0x4f.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
2006-04-01 10:22:30 +00:00
|
|
|
config IP_NF_MATCH_AH
|
|
|
|
tristate "AH match support"
|
2005-04-16 22:20:36 +00:00
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
2006-04-01 10:22:30 +00:00
|
|
|
This match extension allows you to match a range of SPIs
|
|
|
|
inside AH header of IPSec packets.
|
2005-04-16 22:20:36 +00:00
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_MATCH_TTL
|
|
|
|
tristate "TTL match support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
|
|
|
|
to match packets by their TTL value.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_MATCH_OWNER
|
|
|
|
tristate "Owner match support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
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.
|
|
|
|
|
|
|
|
config IP_NF_MATCH_ADDRTYPE
|
|
|
|
tristate 'address type match support'
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
This option allows you to match what routing thinks of an address,
|
|
|
|
eg. UNICAST, LOCAL, BROADCAST, ...
|
|
|
|
|
|
|
|
If you want to compile it as a module, say M here and read
|
|
|
|
<file:Documentation/modules.txt>. If unsure, say `N'.
|
|
|
|
|
|
|
|
config IP_NF_MATCH_HASHLIMIT
|
|
|
|
tristate 'hashlimit match support'
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
This option adds a new iptables `hashlimit' match.
|
|
|
|
|
|
|
|
As opposed to `limit', this match dynamically crates a hash table
|
|
|
|
of limit buckets, based on your selection of source/destination
|
|
|
|
ip addresses and/or ports.
|
|
|
|
|
|
|
|
It enables you to express policies like `10kpps for any given
|
|
|
|
destination IP' or `500pps from any given source IP' with a single
|
|
|
|
IPtables rule.
|
|
|
|
|
|
|
|
# `filter', generic and specific targets
|
|
|
|
config IP_NF_FILTER
|
|
|
|
tristate "Packet filtering"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
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.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_REJECT
|
|
|
|
tristate "REJECT target support"
|
|
|
|
depends on IP_NF_FILTER
|
|
|
|
help
|
|
|
|
The REJECT target allows a filtering rule to specify that an ICMP
|
|
|
|
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.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_LOG
|
|
|
|
tristate "LOG target support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
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.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_ULOG
|
2005-10-11 03:51:53 +00:00
|
|
|
tristate "ULOG target support (OBSOLETE)"
|
2005-04-16 22:20:36 +00:00
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
---help---
|
2005-10-11 03:51:53 +00:00
|
|
|
|
|
|
|
This option enables the old IPv4-only "ipt_ULOG" implementation
|
|
|
|
which has been obsoleted by the new "nfnetlink_log" code (see
|
|
|
|
CONFIG_NETFILTER_NETLINK_LOG).
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
This option adds a `ULOG' target, which allows you to create rules in
|
|
|
|
any iptables table. The packet is passed to a userspace logging
|
|
|
|
daemon using netlink multicast sockets; unlike the LOG target
|
|
|
|
which can only be viewed through syslog.
|
|
|
|
|
|
|
|
The apropriate userspace logging daemon (ulogd) may be obtained from
|
|
|
|
<http://www.gnumonks.org/projects/ulogd/>
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_TCPMSS
|
|
|
|
tristate "TCPMSS target support"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
---help---
|
|
|
|
This option adds a `TCPMSS' target, which allows you to alter the
|
|
|
|
MSS value of TCP SYN packets, to control the maximum size for that
|
|
|
|
connection (usually limiting it to your outgoing interface's MTU
|
|
|
|
minus 40).
|
|
|
|
|
|
|
|
This is used to overcome criminally braindead ISPs or servers which
|
|
|
|
block ICMP Fragmentation Needed packets. The symptoms of this
|
|
|
|
problem are that everything works fine from your Linux
|
|
|
|
firewall/router, but machines behind it can never exchange large
|
|
|
|
packets:
|
|
|
|
1) Web browsers connect, then hang with no data received.
|
|
|
|
2) Small mail works fine, but large emails hang.
|
|
|
|
3) ssh works fine, but scp hangs after initial handshaking.
|
|
|
|
|
|
|
|
Workaround: activate this option and add a rule to your firewall
|
|
|
|
configuration like:
|
|
|
|
|
|
|
|
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
|
|
|
|
-j TCPMSS --clamp-mss-to-pmtu
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
2005-09-24 23:52:03 +00:00
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
# NAT + specific targets
|
|
|
|
config IP_NF_NAT
|
|
|
|
tristate "Full NAT"
|
|
|
|
depends on IP_NF_IPTABLES && IP_NF_CONNTRACK
|
|
|
|
help
|
|
|
|
The Full NAT option allows masquerading, port forwarding and other
|
|
|
|
forms of full Network Address Port Translation. It is controlled by
|
|
|
|
the `nat' table in iptables: see the man page for iptables(8).
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_NAT_NEEDED
|
|
|
|
bool
|
|
|
|
depends on IP_NF_NAT != n
|
|
|
|
default y
|
|
|
|
|
|
|
|
config IP_NF_TARGET_MASQUERADE
|
|
|
|
tristate "MASQUERADE target support"
|
|
|
|
depends on IP_NF_NAT
|
|
|
|
help
|
|
|
|
Masquerading is a special case of NAT: all outgoing connections are
|
|
|
|
changed to seem to come from a particular interface's address, and
|
|
|
|
if the interface goes down, those connections are lost. This is
|
|
|
|
only useful for dialup accounts with dynamic IP address (ie. your IP
|
|
|
|
address will be different on next dialup).
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_REDIRECT
|
|
|
|
tristate "REDIRECT target support"
|
|
|
|
depends on IP_NF_NAT
|
|
|
|
help
|
|
|
|
REDIRECT is a special case of NAT: all incoming connections are
|
|
|
|
mapped onto the incoming interface's address, causing the packets to
|
|
|
|
come to the local machine instead of passing through. This is
|
|
|
|
useful for transparent proxies.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_NETMAP
|
|
|
|
tristate "NETMAP target support"
|
|
|
|
depends on IP_NF_NAT
|
|
|
|
help
|
|
|
|
NETMAP is an implementation of static 1:1 NAT mapping of network
|
|
|
|
addresses. It maps the network address part, while keeping the host
|
|
|
|
address part intact. It is similar to Fast NAT, except that
|
|
|
|
Netfilter's connection tracking doesn't work well with Fast NAT.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_SAME
|
|
|
|
tristate "SAME target support"
|
|
|
|
depends on IP_NF_NAT
|
|
|
|
help
|
|
|
|
This option adds a `SAME' target, which works like the standard SNAT
|
|
|
|
target, but attempts to give clients the same IP for all connections.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_NAT_SNMP_BASIC
|
|
|
|
tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
|
|
|
|
depends on EXPERIMENTAL && IP_NF_NAT
|
|
|
|
---help---
|
|
|
|
|
|
|
|
This module implements an Application Layer Gateway (ALG) for
|
|
|
|
SNMP payloads. In conjunction with NAT, it allows a network
|
|
|
|
management system to access multiple private networks with
|
|
|
|
conflicting addresses. It works by modifying IP addresses
|
|
|
|
inside SNMP payloads to match IP-layer NAT mapping.
|
|
|
|
|
|
|
|
This is the "basic" form of SNMP-ALG, as described in RFC 2962
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_NAT_IRC
|
|
|
|
tristate
|
|
|
|
depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
|
|
|
|
default IP_NF_NAT if IP_NF_IRC=y
|
|
|
|
default m if IP_NF_IRC=m
|
|
|
|
|
|
|
|
# If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
|
|
|
|
# or $CONFIG_IP_NF_FTP (m or y), whichever is weaker. Argh.
|
|
|
|
config IP_NF_NAT_FTP
|
|
|
|
tristate
|
|
|
|
depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
|
|
|
|
default IP_NF_NAT if IP_NF_FTP=y
|
|
|
|
default m if IP_NF_FTP=m
|
|
|
|
|
|
|
|
config IP_NF_NAT_TFTP
|
|
|
|
tristate
|
|
|
|
depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
|
|
|
|
default IP_NF_NAT if IP_NF_TFTP=y
|
|
|
|
default m if IP_NF_TFTP=m
|
|
|
|
|
|
|
|
config IP_NF_NAT_AMANDA
|
|
|
|
tristate
|
|
|
|
depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
|
|
|
|
default IP_NF_NAT if IP_NF_AMANDA=y
|
|
|
|
default m if IP_NF_AMANDA=m
|
|
|
|
|
2005-09-19 22:33:08 +00:00
|
|
|
config IP_NF_NAT_PPTP
|
|
|
|
tristate
|
|
|
|
depends on IP_NF_NAT!=n && IP_NF_PPTP!=n
|
|
|
|
default IP_NF_NAT if IP_NF_PPTP=y
|
|
|
|
default m if IP_NF_PPTP=m
|
|
|
|
|
2006-03-21 07:41:17 +00:00
|
|
|
config IP_NF_NAT_H323
|
|
|
|
tristate
|
|
|
|
depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n
|
|
|
|
default IP_NF_NAT if IP_NF_H323=y
|
|
|
|
default m if IP_NF_H323=m
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
# mangle + specific targets
|
|
|
|
config IP_NF_MANGLE
|
|
|
|
tristate "Packet mangling"
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
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.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_TOS
|
|
|
|
tristate "TOS target support"
|
|
|
|
depends on IP_NF_MANGLE
|
|
|
|
help
|
|
|
|
This option adds a `TOS' target, which allows you to create rules in
|
|
|
|
the `mangle' table which alter the Type Of Service field of an IP
|
|
|
|
packet prior to routing.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_ECN
|
|
|
|
tristate "ECN target support"
|
|
|
|
depends on IP_NF_MANGLE
|
|
|
|
---help---
|
|
|
|
This option adds a `ECN' target, which can be used in the iptables mangle
|
|
|
|
table.
|
|
|
|
|
|
|
|
You can use this target to remove the ECN bits from the IPv4 header of
|
|
|
|
an IP packet. This is particularly useful, if you need to work around
|
|
|
|
existing ECN blackholes on the internet, but don't want to disable
|
|
|
|
ECN support in general.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_TARGET_DSCP
|
|
|
|
tristate "DSCP target support"
|
|
|
|
depends on IP_NF_MANGLE
|
|
|
|
help
|
|
|
|
This option adds a `DSCP' match, which allows you to match against
|
|
|
|
the IPv4 header DSCP field (DSCP codepoint).
|
|
|
|
|
|
|
|
The DSCP codepoint can have any value between 0x0 and 0x4f.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
2005-08-28 05:37:03 +00:00
|
|
|
config IP_NF_TARGET_TTL
|
|
|
|
tristate 'TTL target support'
|
|
|
|
depends on IP_NF_MANGLE
|
|
|
|
help
|
|
|
|
This option adds a `TTL' target, which enables the user to modify
|
|
|
|
the TTL value of the IP header.
|
|
|
|
|
|
|
|
While it is safe to decrement/lower the TTL, this target also enables
|
|
|
|
functionality to increment and set the TTL value of the IP 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.
|
|
|
|
|
2005-04-16 22:20:36 +00:00
|
|
|
config IP_NF_TARGET_CLUSTERIP
|
|
|
|
tristate "CLUSTERIP target support (EXPERIMENTAL)"
|
2005-11-21 05:09:55 +00:00
|
|
|
depends on IP_NF_MANGLE && EXPERIMENTAL
|
|
|
|
depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK_IPV4)
|
2005-04-16 22:20:36 +00:00
|
|
|
help
|
|
|
|
The CLUSTERIP target allows you to build load-balancing clusters of
|
|
|
|
network servers without having a dedicated load-balancing
|
|
|
|
router/server/switch.
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
# raw + specific targets
|
|
|
|
config IP_NF_RAW
|
|
|
|
tristate 'raw table support (required for NOTRACK/TRACE)'
|
|
|
|
depends on IP_NF_IPTABLES
|
|
|
|
help
|
|
|
|
This option adds a `raw' table to iptables. 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
|
|
|
|
<file:Documentation/modules.txt>. If unsure, say `N'.
|
|
|
|
|
|
|
|
# ARP tables
|
|
|
|
config IP_NF_ARPTABLES
|
|
|
|
tristate "ARP tables support"
|
[NETFILTER] x_tables: Abstraction layer for {ip,ip6,arp}_tables
This monster-patch tries to do the best job for unifying the data
structures and backend interfaces for the three evil clones ip_tables,
ip6_tables and arp_tables. In an ideal world we would never have
allowed this kind of copy+paste programming... but well, our world
isn't (yet?) ideal.
o introduce a new x_tables module
o {ip,arp,ip6}_tables depend on this x_tables module
o registration functions for tables, matches and targets are only
wrappers around x_tables provided functions
o all matches/targets that are used from ip_tables and ip6_tables
are now implemented as xt_FOOBAR.c files and provide module aliases
to ipt_FOOBAR and ip6t_FOOBAR
o header files for xt_matches are in include/linux/netfilter/,
include/linux/netfilter_{ipv4,ipv6} contains compatibility wrappers
around the xt_FOOBAR.h headers
Based on this patchset we're going to further unify the code,
gradually getting rid of all the layer 3 specific assumptions.
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-12 21:30:04 +00:00
|
|
|
depends on NETFILTER_XTABLES
|
2005-04-16 22:20:36 +00:00
|
|
|
help
|
|
|
|
arptables is a general, extensible packet identification framework.
|
|
|
|
The ARP packet filtering and mangling (manipulation)subsystems
|
|
|
|
use this: 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.
|
|
|
|
|
|
|
|
config IP_NF_ARPFILTER
|
|
|
|
tristate "ARP packet filtering"
|
|
|
|
depends on IP_NF_ARPTABLES
|
|
|
|
help
|
|
|
|
ARP packet filtering defines a table `filter', which has a series of
|
|
|
|
rules for simple ARP packet filtering at local input and
|
|
|
|
local output. On a bridge, you can also specify filtering rules
|
|
|
|
for forwarded ARP packets. See the man page for arptables(8).
|
|
|
|
|
|
|
|
To compile it as a module, choose M here. If unsure, say N.
|
|
|
|
|
|
|
|
config IP_NF_ARP_MANGLE
|
|
|
|
tristate "ARP payload mangling"
|
|
|
|
depends on IP_NF_ARPTABLES
|
|
|
|
help
|
|
|
|
Allows altering the ARP packet payload: source and destination
|
|
|
|
hardware and network addresses.
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|