aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2007-12-18 01:47:05 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:59:12 -0500
commit33b8e776056202aceaf4c90f465d0f4ee53432ac (patch)
tree24f6bc7b89a81d95b1b9c0f16254ad8423aed9cb /net/ipv4
parent34498825cb9062192b77fa02dae672a4fe6eec70 (diff)
[NETFILTER]: Add CONFIG_NETFILTER_ADVANCED option
The NETFILTER_ADVANCED option hides lots of the rather obscure netfilter options when disabled and provides defaults (M) that should allow to run a distribution firewall without further thinking. Defaults to 'y' to avoid breaking current configurations. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/netfilter/Kconfig26
1 files changed, 25 insertions, 1 deletions
diff --git a/net/ipv4/netfilter/Kconfig b/net/ipv4/netfilter/Kconfig
index ad26f66b53e9..cface714edf3 100644
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
@@ -8,6 +8,7 @@ menu "IP: Netfilter Configuration"
8config NF_CONNTRACK_IPV4 8config NF_CONNTRACK_IPV4
9 tristate "IPv4 connection tracking support (required for NAT)" 9 tristate "IPv4 connection tracking support (required for NAT)"
10 depends on NF_CONNTRACK 10 depends on NF_CONNTRACK
11 default m if NETFILTER_ADVANCED=n
11 ---help--- 12 ---help---
12 Connection tracking keeps a record of what packets have passed 13 Connection tracking keeps a record of what packets have passed
13 through your machine, in order to figure out how they are related 14 through your machine, in order to figure out how they are related
@@ -32,6 +33,7 @@ config NF_CONNTRACK_PROC_COMPAT
32 33
33config IP_NF_QUEUE 34config IP_NF_QUEUE
34 tristate "IP Userspace queueing via NETLINK (OBSOLETE)" 35 tristate "IP Userspace queueing via NETLINK (OBSOLETE)"
36 depends on NETFILTER_ADVANCED
35 help 37 help
36 Netfilter has the ability to queue packets to user space: the 38 Netfilter has the ability to queue packets to user space: the
37 netlink device can be used to access them using this driver. 39 netlink device can be used to access them using this driver.
@@ -44,6 +46,7 @@ config IP_NF_QUEUE
44 46
45config IP_NF_IPTABLES 47config IP_NF_IPTABLES
46 tristate "IP tables support (required for filtering/masq/NAT)" 48 tristate "IP tables support (required for filtering/masq/NAT)"
49 default m if NETFILTER_ADVANCED=n
47 select NETFILTER_XTABLES 50 select NETFILTER_XTABLES
48 help 51 help
49 iptables is a general, extensible packet identification framework. 52 iptables is a general, extensible packet identification framework.
@@ -57,6 +60,7 @@ config IP_NF_IPTABLES
57config IP_NF_MATCH_IPRANGE 60config IP_NF_MATCH_IPRANGE
58 tristate '"iprange" match support' 61 tristate '"iprange" match support'
59 depends on IP_NF_IPTABLES 62 depends on IP_NF_IPTABLES
63 depends on NETFILTER_ADVANCED
60 help 64 help
61 This option makes possible to match IP addresses against IP address 65 This option makes possible to match IP addresses against IP address
62 ranges. 66 ranges.
@@ -66,6 +70,7 @@ config IP_NF_MATCH_IPRANGE
66config IP_NF_MATCH_RECENT 70config IP_NF_MATCH_RECENT
67 tristate '"recent" match support' 71 tristate '"recent" match support'
68 depends on IP_NF_IPTABLES 72 depends on IP_NF_IPTABLES
73 depends on NETFILTER_ADVANCED
69 help 74 help
70 This match is used for creating one or many lists of recently 75 This match is used for creating one or many lists of recently
71 used addresses and then matching against that/those list(s). 76 used addresses and then matching against that/those list(s).
@@ -78,6 +83,7 @@ config IP_NF_MATCH_RECENT
78config IP_NF_MATCH_ECN 83config IP_NF_MATCH_ECN
79 tristate '"ecn" match support' 84 tristate '"ecn" match support'
80 depends on IP_NF_IPTABLES 85 depends on IP_NF_IPTABLES
86 depends on NETFILTER_ADVANCED
81 help 87 help
82 This option adds a `ECN' match, which allows you to match against 88 This option adds a `ECN' match, which allows you to match against
83 the IPv4 and TCP header ECN fields. 89 the IPv4 and TCP header ECN fields.
@@ -87,6 +93,7 @@ config IP_NF_MATCH_ECN
87config IP_NF_MATCH_AH 93config IP_NF_MATCH_AH
88 tristate '"ah" match support' 94 tristate '"ah" match support'
89 depends on IP_NF_IPTABLES 95 depends on IP_NF_IPTABLES
96 depends on NETFILTER_ADVANCED
90 help 97 help
91 This match extension allows you to match a range of SPIs 98 This match extension allows you to match a range of SPIs
92 inside AH header of IPSec packets. 99 inside AH header of IPSec packets.
@@ -96,6 +103,7 @@ config IP_NF_MATCH_AH
96config IP_NF_MATCH_TTL 103config IP_NF_MATCH_TTL
97 tristate '"ttl" match support' 104 tristate '"ttl" match support'
98 depends on IP_NF_IPTABLES 105 depends on IP_NF_IPTABLES
106 depends on NETFILTER_ADVANCED
99 help 107 help
100 This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user 108 This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
101 to match packets by their TTL value. 109 to match packets by their TTL value.
@@ -105,10 +113,11 @@ config IP_NF_MATCH_TTL
105config IP_NF_MATCH_ADDRTYPE 113config IP_NF_MATCH_ADDRTYPE
106 tristate '"addrtype" address type match support' 114 tristate '"addrtype" address type match support'
107 depends on IP_NF_IPTABLES 115 depends on IP_NF_IPTABLES
116 depends on NETFILTER_ADVANCED
108 help 117 help
109 This option allows you to match what routing thinks of an address, 118 This option allows you to match what routing thinks of an address,
110 eg. UNICAST, LOCAL, BROADCAST, ... 119 eg. UNICAST, LOCAL, BROADCAST, ...
111 120
112 If you want to compile it as a module, say M here and read 121 If you want to compile it as a module, say M here and read
113 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'. 122 <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
114 123
@@ -116,6 +125,7 @@ config IP_NF_MATCH_ADDRTYPE
116config IP_NF_FILTER 125config IP_NF_FILTER
117 tristate "Packet filtering" 126 tristate "Packet filtering"
118 depends on IP_NF_IPTABLES 127 depends on IP_NF_IPTABLES
128 default m if NETFILTER_ADVANCED=n
119 help 129 help
120 Packet filtering defines a table `filter', which has a series of 130 Packet filtering defines a table `filter', which has a series of
121 rules for simple packet filtering at local input, forwarding and 131 rules for simple packet filtering at local input, forwarding and
@@ -126,6 +136,7 @@ config IP_NF_FILTER
126config IP_NF_TARGET_REJECT 136config IP_NF_TARGET_REJECT
127 tristate "REJECT target support" 137 tristate "REJECT target support"
128 depends on IP_NF_FILTER 138 depends on IP_NF_FILTER
139 default m if NETFILTER_ADVANCED=n
129 help 140 help
130 The REJECT target allows a filtering rule to specify that an ICMP 141 The REJECT target allows a filtering rule to specify that an ICMP
131 error should be issued in response to an incoming packet, rather 142 error should be issued in response to an incoming packet, rather
@@ -136,6 +147,7 @@ config IP_NF_TARGET_REJECT
136config IP_NF_TARGET_LOG 147config IP_NF_TARGET_LOG
137 tristate "LOG target support" 148 tristate "LOG target support"
138 depends on IP_NF_IPTABLES 149 depends on IP_NF_IPTABLES
150 default m if NETFILTER_ADVANCED=n
139 help 151 help
140 This option adds a `LOG' target, which allows you to create rules in 152 This option adds a `LOG' target, which allows you to create rules in
141 any iptables table which records the packet header to the syslog. 153 any iptables table which records the packet header to the syslog.
@@ -145,6 +157,7 @@ config IP_NF_TARGET_LOG
145config IP_NF_TARGET_ULOG 157config IP_NF_TARGET_ULOG
146 tristate "ULOG target support" 158 tristate "ULOG target support"
147 depends on IP_NF_IPTABLES 159 depends on IP_NF_IPTABLES
160 default m if NETFILTER_ADVANCED=n
148 ---help--- 161 ---help---
149 162
150 This option enables the old IPv4-only "ipt_ULOG" implementation 163 This option enables the old IPv4-only "ipt_ULOG" implementation
@@ -165,6 +178,7 @@ config IP_NF_TARGET_ULOG
165config NF_NAT 178config NF_NAT
166 tristate "Full NAT" 179 tristate "Full NAT"
167 depends on IP_NF_IPTABLES && NF_CONNTRACK_IPV4 180 depends on IP_NF_IPTABLES && NF_CONNTRACK_IPV4
181 default m if NETFILTER_ADVANCED=n
168 help 182 help
169 The Full NAT option allows masquerading, port forwarding and other 183 The Full NAT option allows masquerading, port forwarding and other
170 forms of full Network Address Port Translation. It is controlled by 184 forms of full Network Address Port Translation. It is controlled by
@@ -180,6 +194,7 @@ config NF_NAT_NEEDED
180config IP_NF_TARGET_MASQUERADE 194config IP_NF_TARGET_MASQUERADE
181 tristate "MASQUERADE target support" 195 tristate "MASQUERADE target support"
182 depends on NF_NAT 196 depends on NF_NAT
197 default m if NETFILTER_ADVANCED=n
183 help 198 help
184 Masquerading is a special case of NAT: all outgoing connections are 199 Masquerading is a special case of NAT: all outgoing connections are
185 changed to seem to come from a particular interface's address, and 200 changed to seem to come from a particular interface's address, and
@@ -192,6 +207,7 @@ config IP_NF_TARGET_MASQUERADE
192config IP_NF_TARGET_REDIRECT 207config IP_NF_TARGET_REDIRECT
193 tristate "REDIRECT target support" 208 tristate "REDIRECT target support"
194 depends on NF_NAT 209 depends on NF_NAT
210 depends on NETFILTER_ADVANCED
195 help 211 help
196 REDIRECT is a special case of NAT: all incoming connections are 212 REDIRECT is a special case of NAT: all incoming connections are
197 mapped onto the incoming interface's address, causing the packets to 213 mapped onto the incoming interface's address, causing the packets to
@@ -203,6 +219,7 @@ config IP_NF_TARGET_REDIRECT
203config IP_NF_TARGET_NETMAP 219config IP_NF_TARGET_NETMAP
204 tristate "NETMAP target support" 220 tristate "NETMAP target support"
205 depends on NF_NAT 221 depends on NF_NAT
222 depends on NETFILTER_ADVANCED
206 help 223 help
207 NETMAP is an implementation of static 1:1 NAT mapping of network 224 NETMAP is an implementation of static 1:1 NAT mapping of network
208 addresses. It maps the network address part, while keeping the host 225 addresses. It maps the network address part, while keeping the host
@@ -214,6 +231,7 @@ config IP_NF_TARGET_NETMAP
214config NF_NAT_SNMP_BASIC 231config NF_NAT_SNMP_BASIC
215 tristate "Basic SNMP-ALG support (EXPERIMENTAL)" 232 tristate "Basic SNMP-ALG support (EXPERIMENTAL)"
216 depends on EXPERIMENTAL && NF_NAT 233 depends on EXPERIMENTAL && NF_NAT
234 depends on NETFILTER_ADVANCED
217 ---help--- 235 ---help---
218 236
219 This module implements an Application Layer Gateway (ALG) for 237 This module implements an Application Layer Gateway (ALG) for
@@ -277,6 +295,7 @@ config NF_NAT_SIP
277config IP_NF_MANGLE 295config IP_NF_MANGLE
278 tristate "Packet mangling" 296 tristate "Packet mangling"
279 depends on IP_NF_IPTABLES 297 depends on IP_NF_IPTABLES
298 default m if NETFILTER_ADVANCED=n
280 help 299 help
281 This option adds a `mangle' table to iptables: see the man page for 300 This option adds a `mangle' table to iptables: see the man page for
282 iptables(8). This table is used for various packet alterations 301 iptables(8). This table is used for various packet alterations
@@ -287,6 +306,7 @@ config IP_NF_MANGLE
287config IP_NF_TARGET_ECN 306config IP_NF_TARGET_ECN
288 tristate "ECN target support" 307 tristate "ECN target support"
289 depends on IP_NF_MANGLE 308 depends on IP_NF_MANGLE
309 depends on NETFILTER_ADVANCED
290 ---help--- 310 ---help---
291 This option adds a `ECN' target, which can be used in the iptables mangle 311 This option adds a `ECN' target, which can be used in the iptables mangle
292 table. 312 table.
@@ -301,6 +321,7 @@ config IP_NF_TARGET_ECN
301config IP_NF_TARGET_TTL 321config IP_NF_TARGET_TTL
302 tristate 'TTL target support' 322 tristate 'TTL target support'
303 depends on IP_NF_MANGLE 323 depends on IP_NF_MANGLE
324 depends on NETFILTER_ADVANCED
304 help 325 help
305 This option adds a `TTL' target, which enables the user to modify 326 This option adds a `TTL' target, which enables the user to modify
306 the TTL value of the IP header. 327 the TTL value of the IP header.
@@ -316,6 +337,7 @@ config IP_NF_TARGET_CLUSTERIP
316 tristate "CLUSTERIP target support (EXPERIMENTAL)" 337 tristate "CLUSTERIP target support (EXPERIMENTAL)"
317 depends on IP_NF_MANGLE && EXPERIMENTAL 338 depends on IP_NF_MANGLE && EXPERIMENTAL
318 depends on NF_CONNTRACK_IPV4 339 depends on NF_CONNTRACK_IPV4
340 depends on NETFILTER_ADVANCED
319 select NF_CONNTRACK_MARK 341 select NF_CONNTRACK_MARK
320 help 342 help
321 The CLUSTERIP target allows you to build load-balancing clusters of 343 The CLUSTERIP target allows you to build load-balancing clusters of
@@ -328,6 +350,7 @@ config IP_NF_TARGET_CLUSTERIP
328config IP_NF_RAW 350config IP_NF_RAW
329 tristate 'raw table support (required for NOTRACK/TRACE)' 351 tristate 'raw table support (required for NOTRACK/TRACE)'
330 depends on IP_NF_IPTABLES 352 depends on IP_NF_IPTABLES
353 depends on NETFILTER_ADVANCED
331 help 354 help
332 This option adds a `raw' table to iptables. This table is the very 355 This option adds a `raw' table to iptables. This table is the very
333 first in the netfilter framework and hooks in at the PREROUTING 356 first in the netfilter framework and hooks in at the PREROUTING
@@ -340,6 +363,7 @@ config IP_NF_RAW
340config IP_NF_ARPTABLES 363config IP_NF_ARPTABLES
341 tristate "ARP tables support" 364 tristate "ARP tables support"
342 select NETFILTER_XTABLES 365 select NETFILTER_XTABLES
366 depends on NETFILTER_ADVANCED
343 help 367 help
344 arptables is a general, extensible packet identification framework. 368 arptables is a general, extensible packet identification framework.
345 The ARP packet filtering and mangling (manipulation)subsystems 369 The ARP packet filtering and mangling (manipulation)subsystems