2 # IP netfilter configuration
5 menu "IP: Netfilter Configuration"
6 depends on INET && NETFILTER
12 config NF_CONNTRACK_IPV4
13 tristate "IPv4 connection tracking support (required for NAT)"
14 depends on NF_CONNTRACK
15 default m if NETFILTER_ADVANCED=n
18 Connection tracking keeps a record of what packets have passed
19 through your machine, in order to figure out how they are related
22 This is IPv4 support on Layer 3 independent connection tracking.
23 Layer 3 independent connection tracking is experimental scheme
24 which generalize ip_conntrack to support other layer 3 protocols.
26 To compile it as a module, choose M here. If unsure, say N.
28 config NF_CONNTRACK_PROC_COMPAT
29 bool "proc/sysctl compatibility with old connection tracking"
30 depends on NF_CONNTRACK_PROCFS && NF_CONNTRACK_IPV4
33 This option enables /proc and sysctl compatibility with the old
34 layer 3 dependent connection tracking. This is needed to keep
35 old programs that have not been adapted to the new names working.
40 tristate "IP tables support (required for filtering/masq/NAT)"
41 default m if NETFILTER_ADVANCED=n
42 select NETFILTER_XTABLES
44 iptables is a general, extensible packet identification framework.
45 The packet filtering and full NAT (masquerading, port forwarding,
46 etc) subsystems now use this: say `Y' or `M' here if you want to use
49 To compile it as a module, choose M here. If unsure, say N.
55 tristate '"ah" match support'
56 depends on NETFILTER_ADVANCED
58 This match extension allows you to match a range of SPIs
59 inside AH header of IPSec packets.
61 To compile it as a module, choose M here. If unsure, say N.
63 config IP_NF_MATCH_ECN
64 tristate '"ecn" match support'
65 depends on NETFILTER_ADVANCED
66 select NETFILTER_XT_MATCH_ECN
68 This is a backwards-compat option for the user's convenience
69 (e.g. when running oldconfig). It selects
70 CONFIG_NETFILTER_XT_MATCH_ECN.
72 config IP_NF_MATCH_RPFILTER
73 tristate '"rpfilter" reverse path filter match support'
74 depends on NETFILTER_ADVANCED && (IP_NF_MANGLE || IP_NF_RAW)
76 This option allows you to match packets whose replies would
77 go out via the interface the packet came in.
79 To compile it as a module, choose M here. If unsure, say N.
80 The module will be called ipt_rpfilter.
82 config IP_NF_MATCH_TTL
83 tristate '"ttl" match support'
84 depends on NETFILTER_ADVANCED
85 select NETFILTER_XT_MATCH_HL
87 This is a backwards-compat option for the user's convenience
88 (e.g. when running oldconfig). It selects
89 CONFIG_NETFILTER_XT_MATCH_HL.
91 # `filter', generic and specific targets
93 tristate "Packet filtering"
94 default m if NETFILTER_ADVANCED=n
96 Packet filtering defines a table `filter', which has a series of
97 rules for simple packet filtering at local input, forwarding and
98 local output. See the man page for iptables(8).
100 To compile it as a module, choose M here. If unsure, say N.
102 config IP_NF_TARGET_REJECT
103 tristate "REJECT target support"
104 depends on IP_NF_FILTER
105 default m if NETFILTER_ADVANCED=n
107 The REJECT target allows a filtering rule to specify that an ICMP
108 error should be issued in response to an incoming packet, rather
109 than silently being dropped.
111 To compile it as a module, choose M here. If unsure, say N.
113 config IP_NF_TARGET_ULOG
114 tristate "ULOG target support (obsolete)"
115 default m if NETFILTER_ADVANCED=n
118 This option enables the old IPv4-only "ipt_ULOG" implementation
119 which has been obsoleted by the new "nfnetlink_log" code (see
120 CONFIG_NETFILTER_NETLINK_LOG).
122 This option adds a `ULOG' target, which allows you to create rules in
123 any iptables table. The packet is passed to a userspace logging
124 daemon using netlink multicast sockets; unlike the LOG target
125 which can only be viewed through syslog.
127 The appropriate userspace logging daemon (ulogd) may be obtained from
128 <http://www.netfilter.org/projects/ulogd/index.html>
130 To compile it as a module, choose M here. If unsure, say N.
132 # NAT + specific targets: nf_conntrack
135 depends on NF_CONNTRACK_IPV4
136 default m if NETFILTER_ADVANCED=n
139 The IPv4 NAT option allows masquerading, port forwarding and other
140 forms of full Network Address Port Translation. It is controlled by
141 the `nat' table in iptables: see the man page for iptables(8).
143 To compile it as a module, choose M here. If unsure, say N.
147 config IP_NF_TARGET_MASQUERADE
148 tristate "MASQUERADE target support"
149 default m if NETFILTER_ADVANCED=n
151 Masquerading is a special case of NAT: all outgoing connections are
152 changed to seem to come from a particular interface's address, and
153 if the interface goes down, those connections are lost. This is
154 only useful for dialup accounts with dynamic IP address (ie. your IP
155 address will be different on next dialup).
157 To compile it as a module, choose M here. If unsure, say N.
159 config IP_NF_TARGET_NETMAP
160 tristate "NETMAP target support"
161 depends on NETFILTER_ADVANCED
162 select NETFILTER_XT_TARGET_NETMAP
164 This is a backwards-compat option for the user's convenience
165 (e.g. when running oldconfig). It selects
166 CONFIG_NETFILTER_XT_TARGET_NETMAP.
168 config IP_NF_TARGET_REDIRECT
169 tristate "REDIRECT target support"
170 depends on NETFILTER_ADVANCED
171 select NETFILTER_XT_TARGET_REDIRECT
173 This is a backwards-compat option for the user's convenience
174 (e.g. when running oldconfig). It selects
175 CONFIG_NETFILTER_XT_TARGET_REDIRECT.
179 config NF_NAT_SNMP_BASIC
180 tristate "Basic SNMP-ALG support"
181 depends on NF_CONNTRACK_SNMP && NF_NAT_IPV4
182 depends on NETFILTER_ADVANCED
183 default NF_NAT && NF_CONNTRACK_SNMP
186 This module implements an Application Layer Gateway (ALG) for
187 SNMP payloads. In conjunction with NAT, it allows a network
188 management system to access multiple private networks with
189 conflicting addresses. It works by modifying IP addresses
190 inside SNMP payloads to match IP-layer NAT mapping.
192 This is the "basic" form of SNMP-ALG, as described in RFC 2962
194 To compile it as a module, choose M here. If unsure, say N.
196 # If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
197 # or $CONFIG_IP_NF_FTP (m or y), whichever is weaker.
198 # From kconfig-language.txt:
200 # <expr> '&&' <expr> (6)
202 # (6) Returns the result of min(/expr/, /expr/).
204 config NF_NAT_PROTO_GRE
206 depends on NF_NAT_IPV4 && NF_CT_PROTO_GRE
210 depends on NF_CONNTRACK && NF_NAT_IPV4
211 default NF_NAT_IPV4 && NF_CONNTRACK_PPTP
212 select NF_NAT_PROTO_GRE
216 depends on NF_CONNTRACK && NF_NAT_IPV4
217 default NF_NAT_IPV4 && NF_CONNTRACK_H323
219 # mangle + specific targets
221 tristate "Packet mangling"
222 default m if NETFILTER_ADVANCED=n
224 This option adds a `mangle' table to iptables: see the man page for
225 iptables(8). This table is used for various packet alterations
226 which can effect how the packet is routed.
228 To compile it as a module, choose M here. If unsure, say N.
230 config IP_NF_TARGET_CLUSTERIP
231 tristate "CLUSTERIP target support"
232 depends on IP_NF_MANGLE
233 depends on NF_CONNTRACK_IPV4
234 depends on NETFILTER_ADVANCED
235 select NF_CONNTRACK_MARK
237 The CLUSTERIP target allows you to build load-balancing clusters of
238 network servers without having a dedicated load-balancing
239 router/server/switch.
241 To compile it as a module, choose M here. If unsure, say N.
243 config IP_NF_TARGET_ECN
244 tristate "ECN target support"
245 depends on IP_NF_MANGLE
246 depends on NETFILTER_ADVANCED
248 This option adds a `ECN' target, which can be used in the iptables mangle
251 You can use this target to remove the ECN bits from the IPv4 header of
252 an IP packet. This is particularly useful, if you need to work around
253 existing ECN blackholes on the internet, but don't want to disable
254 ECN support in general.
256 To compile it as a module, choose M here. If unsure, say N.
258 config IP_NF_TARGET_TTL
259 tristate '"TTL" target support'
260 depends on NETFILTER_ADVANCED && IP_NF_MANGLE
261 select NETFILTER_XT_TARGET_HL
263 This is a backwards-compatible option for the user's convenience
264 (e.g. when running oldconfig). It selects
265 CONFIG_NETFILTER_XT_TARGET_HL.
267 # raw + specific targets
269 tristate 'raw table support (required for NOTRACK/TRACE)'
271 This option adds a `raw' table to iptables. This table is the very
272 first in the netfilter framework and hooks in at the PREROUTING
275 If you want to compile it as a module, say M here and read
276 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
278 # security table for MAC policy
279 config IP_NF_SECURITY
280 tristate "Security table"
282 depends on NETFILTER_ADVANCED
284 This option adds a `security' table to iptables, for use
285 with Mandatory Access Control (MAC) policy.
289 endif # IP_NF_IPTABLES
292 config IP_NF_ARPTABLES
293 tristate "ARP tables support"
294 select NETFILTER_XTABLES
295 depends on NETFILTER_ADVANCED
297 arptables is a general, extensible packet identification framework.
298 The ARP packet filtering and mangling (manipulation)subsystems
299 use this: say Y or M here if you want to use either of those.
301 To compile it as a module, choose M here. If unsure, say N.
305 config IP_NF_ARPFILTER
306 tristate "ARP packet filtering"
308 ARP packet filtering defines a table `filter', which has a series of
309 rules for simple ARP packet filtering at local input and
310 local output. On a bridge, you can also specify filtering rules
311 for forwarded ARP packets. See the man page for arptables(8).
313 To compile it as a module, choose M here. If unsure, say N.
315 config IP_NF_ARP_MANGLE
316 tristate "ARP payload mangling"
318 Allows altering the ARP packet payload: source and destination
319 hardware and network addresses.
321 endif # IP_NF_ARPTABLES