2 # IP netfilter configuration
4 mainmenu_option next_comment
5 comment ' IP: Netfilter Configuration'
7 tristate 'Connection tracking (required for masq/NAT)' CONFIG_IP_NF_CONNTRACK
8 if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ]; then
9 bool ' Connection mark tracking support' CONFIG_IP_NF_CONNTRACK_MARK
10 dep_tristate ' FTP protocol support' CONFIG_IP_NF_FTP $CONFIG_IP_NF_CONNTRACK
11 dep_tristate ' Amanda protocol support' CONFIG_IP_NF_AMANDA $CONFIG_IP_NF_CONNTRACK
12 dep_tristate ' STARCRAFT protocol support' CONFIG_IP_NF_STARCRAFT $CONFIG_IP_NF_CONNTRACK
13 dep_tristate ' TFTP protocol support' CONFIG_IP_NF_TFTP $CONFIG_IP_NF_CONNTRACK
14 dep_tristate ' IRC protocol support' CONFIG_IP_NF_IRC $CONFIG_IP_NF_CONNTRACK
15 dep_tristate ' Connection tracking flow accounting' CONFIG_IP_NF_CT_ACCT $CONFIG_IP_NF_CONNTRACK
16 dep_tristate ' Connection byte counter support' CONFIG_IP_NF_MATCH_CONNBYTES $CONFIG_IP_NF_CT_ACCT $CONFIG_IP_NF_CONNTRACK $CONFIG_IP_NF_IPTABLES
17 dep_tristate ' GRE protocol support' CONFIG_IP_NF_CT_PROTO_GRE $CONFIG_IP_NF_CONNTRACK
18 dep_tristate ' PPTP protocol support' CONFIG_IP_NF_PPTP $CONFIG_IP_NF_CT_PROTO_GRE
19 dep_tristate ' SIP protocol support' CONFIG_IP_NF_SIP $CONFIG_IP_NF_CONNTRACK
20 dep_tristate ' H.323 (netmeeting) support' CONFIG_IP_NF_H323 $CONFIG_IP_NF_CONNTRACK
21 dep_tristate ' RTSP protocol support' CONFIG_IP_NF_RTSP $CONFIG_IP_NF_CONNTRACK
22 dep_tristate ' MMS protocol support' CONFIG_IP_NF_MMS $CONFIG_IP_NF_CONNTRACK
25 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
26 tristate 'Userspace queueing via NETLINK (EXPERIMENTAL)' CONFIG_IP_NF_QUEUE
28 tristate 'IP tables support (required for filtering/masq/NAT)' CONFIG_IP_NF_IPTABLES
29 if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; then
31 dep_tristate ' limit match support' CONFIG_IP_NF_MATCH_LIMIT $CONFIG_IP_NF_IPTABLES
32 dep_tristate ' IP range match support' CONFIG_IP_NF_MATCH_IPRANGE $CONFIG_IP_NF_IPTABLES
33 dep_tristate ' quota match support' CONFIG_IP_NF_MATCH_QUOTA $CONFIG_IP_NF_IPTABLES
34 dep_tristate ' MAC address match support' CONFIG_IP_NF_MATCH_MAC $CONFIG_IP_NF_IPTABLES
35 dep_tristate ' Packet type match support' CONFIG_IP_NF_MATCH_PKTTYPE $CONFIG_IP_NF_IPTABLES
36 dep_tristate ' netfilter MARK match support' CONFIG_IP_NF_MATCH_MARK $CONFIG_IP_NF_IPTABLES
37 dep_tristate ' Multiple port match support' CONFIG_IP_NF_MATCH_MULTIPORT $CONFIG_IP_NF_IPTABLES
38 dep_tristate ' Multiple port with ranges match support' CONFIG_IP_NF_MATCH_MPORT $CONFIG_IP_NF_IPTABLES
39 dep_tristate ' TOS match support' CONFIG_IP_NF_MATCH_TOS $CONFIG_IP_NF_IPTABLES
40 dep_tristate ' TIME match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_TIME $CONFIG_IP_NF_IPTABLES
41 dep_tristate ' condition match support' CONFIG_IP_NF_MATCH_CONDITION $CONFIG_IP_NF_IPTABLES
42 dep_tristate ' Nth match support' CONFIG_IP_NF_MATCH_NTH $CONFIG_IP_NF_IPTABLES
43 dep_tristate ' psd match support' CONFIG_IP_NF_MATCH_PSD $CONFIG_IP_NF_IPTABLES
44 dep_tristate ' random match support' CONFIG_IP_NF_MATCH_RANDOM $CONFIG_IP_NF_IPTABLES
45 dep_tristate ' recent match support' CONFIG_IP_NF_MATCH_RECENT $CONFIG_IP_NF_IPTABLES
46 dep_tristate ' account match support' CONFIG_IP_NF_MATCH_ACCOUNT $CONFIG_IP_NF_IPTABLES $CONFIG_PROC_FS
47 dep_tristate ' IP address pool support' CONFIG_IP_NF_POOL $CONFIG_IP_NF_IPTABLES
48 if [ "$CONFIG_IP_NF_POOL" = "y" -o "$CONFIG_IP_NF_POOL" = "m" ]; then
49 bool ' enable statistics on pool usage' CONFIG_IP_POOL_STATISTICS n
51 dep_tristate ' ECN match support' CONFIG_IP_NF_MATCH_ECN $CONFIG_IP_NF_IPTABLES
52 dep_tristate ' peer to peer traffic match support' CONFIG_IP_NF_MATCH_IPP2P $CONFIG_IP_NF_IPTABLES
54 dep_tristate ' DSCP match support' CONFIG_IP_NF_MATCH_DSCP $CONFIG_IP_NF_IPTABLES
56 dep_tristate ' AH/ESP match support' CONFIG_IP_NF_MATCH_AH_ESP $CONFIG_IP_NF_IPTABLES
57 dep_tristate ' LENGTH match support' CONFIG_IP_NF_MATCH_LENGTH $CONFIG_IP_NF_IPTABLES
58 dep_tristate ' TTL match support' CONFIG_IP_NF_MATCH_TTL $CONFIG_IP_NF_IPTABLES
59 dep_tristate ' tcpmss match support' CONFIG_IP_NF_MATCH_TCPMSS $CONFIG_IP_NF_IPTABLES
60 if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ]; then
61 dep_tristate ' Helper match support' CONFIG_IP_NF_MATCH_HELPER $CONFIG_IP_NF_IPTABLES
63 if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ]; then
64 dep_tristate ' Connection state match support' CONFIG_IP_NF_MATCH_STATE $CONFIG_IP_NF_CONNTRACK $CONFIG_IP_NF_IPTABLES
65 dep_tristate ' Connection tracking match support' CONFIG_IP_NF_MATCH_CONNTRACK $CONFIG_IP_NF_CONNTRACK $CONFIG_IP_NF_IPTABLES
66 if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
67 dep_tristate ' Connection mark match support' CONFIG_IP_NF_MATCH_CONNMARK $CONFIG_IP_NF_IPTABLES
68 dep_tristate ' Connections/IP limit match support' CONFIG_IP_NF_MATCH_CONNLIMIT $CONFIG_IP_NF_IPTABLES
71 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
72 dep_tristate ' Unclean match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_UNCLEAN $CONFIG_IP_NF_IPTABLES
73 dep_tristate ' String match support (EXPERIMENTAL) ' CONFIG_IP_NF_MATCH_STRING $CONFIG_IP_NF_IPTABLES
74 dep_tristate ' Owner match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_OWNER $CONFIG_IP_NF_IPTABLES
75 dep_tristate ' Layer 7 match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_LAYER7 $CONFIG_IP_NF_CONNTRACK
76 dep_mbool ' Layer 7 debugging output (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_LAYER7_DEBUG $CONFIG_IP_NF_MATCH_LAYER7
77 dep_tristate ' Webstr match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_WEBSTR $CONFIG_IP_NF_IPTABLES
79 dep_tristate ' geoip match support' CONFIG_IP_NF_MATCH_GEOIP $CONFIG_IP_NF_IPTABLES
81 dep_tristate ' U32 match support' CONFIG_IP_NF_MATCH_U32 $CONFIG_IP_NF_IPTABLES
82 dep_tristate ' web match' CONFIG_IP_NF_MATCH_WEB $CONFIG_IP_NF_IPTABLES
83 dep_tristate ' BCOUNT target' CONFIG_IP_NF_TARGET_BCOUNT $CONFIG_IP_NF_IPTABLES
84 dep_tristate ' bcount match' CONFIG_IP_NF_MATCH_BCOUNT $CONFIG_IP_NF_TARGET_BCOUNT
85 dep_tristate ' MACSAVE target' CONFIG_IP_NF_TARGET_MACSAVE $CONFIG_IP_NF_IPTABLES
86 dep_tristate ' macsave match' CONFIG_IP_NF_MATCH_MACSAVE $CONFIG_IP_NF_TARGET_MACSAVE
87 dep_tristate ' exp match (experimental rig - do not use)' CONFIG_IP_NF_MATCH_EXP $CONFIG_IP_NF_IPTABLES
88 dep_tristate ' Web Monitor match support' CONFIG_IP_NF_MATCH_WEBMON $CONFIG_IP_NF_IPTABLES
92 dep_tristate ' Packet filtering' CONFIG_IP_NF_FILTER $CONFIG_IP_NF_IPTABLES
93 if [ "$CONFIG_IP_NF_FILTER" != "n" ]; then
94 dep_tristate ' REJECT target support' CONFIG_IP_NF_TARGET_REJECT $CONFIG_IP_NF_FILTER
95 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
96 dep_tristate ' MIRROR target support (EXPERIMENTAL)' CONFIG_IP_NF_TARGET_MIRROR $CONFIG_IP_NF_FILTER
97 dep_tristate ' TARPIT target support (EXPERIMENTAL)' CONFIG_IP_NF_TARGET_TARPIT $CONFIG_IP_NF_FILTER
101 if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ]; then
102 dep_tristate ' Full NAT' CONFIG_IP_NF_NAT $CONFIG_IP_NF_IPTABLES $CONFIG_IP_NF_CONNTRACK
103 if [ "$CONFIG_IP_NF_NAT" != "n" ]; then
104 define_bool CONFIG_IP_NF_NAT_NEEDED y
105 dep_tristate ' MASQUERADE target support' CONFIG_IP_NF_TARGET_MASQUERADE $CONFIG_IP_NF_NAT
106 dep_tristate ' REDIRECT target support' CONFIG_IP_NF_TARGET_REDIRECT $CONFIG_IP_NF_NAT
107 dep_tristate ' NETMAP target support' CONFIG_IP_NF_TARGET_NETMAP $CONFIG_IP_NF_NAT
108 dep_tristate ' Automatic port forwarding (autofw) target support' CONFIG_IP_NF_AUTOFW $CONFIG_IP_NF_NAT
109 dep_tristate ' TRIGGER target support (port-trigger)' CONFIG_IP_NF_TARGET_TRIGGER $CONFIG_IP_NF_NAT
110 if [ "$CONFIG_IP_NF_PPTP" = "m" ]; then
111 define_tristate CONFIG_IP_NF_NAT_PPTP m
113 if [ "$CONFIG_IP_NF_PPTP" = "y" ]; then
114 define_tristate CONFIG_IP_NF_NAT_PPTP $CONFIG_IP_NF_NAT
117 if [ "$CONFIG_IP_NF_SIP" = "m" ]; then
118 define_tristate CONFIG_IP_NF_NAT_SIP m
120 if [ "$CONFIG_IP_NF_SIP" = "y" ]; then
121 define_tristate CONFIG_IP_NF_NAT_SIP $CONFIG_IP_NF_NAT
124 if [ "$CONFIG_IP_NF_CT_PROTO_GRE" = "m" ]; then
125 define_tristate CONFIG_IP_NF_NAT_PROTO_GRE m
127 if [ "$CONFIG_IP_NF_CT_PROTO_GRE" = "y" ]; then
128 define_tristate CONFIG_IP_NF_NAT_PROTO_GRE $CONFIG_IP_NF_NAT
131 if [ "$CONFIG_IP_NF_AMANDA" = "m" ]; then
132 define_tristate CONFIG_IP_NF_NAT_AMANDA m
134 if [ "$CONFIG_IP_NF_AMANDA" = "y" ]; then
135 define_tristate CONFIG_IP_NF_NAT_AMANDA $CONFIG_IP_NF_NAT
138 if [ "$CONFIG_IP_NF_H323" = "m" ]; then
139 define_tristate CONFIG_IP_NF_NAT_H323 m
141 if [ "$CONFIG_IP_NF_H323" = "y" ]; then
142 define_tristate CONFIG_IP_NF_NAT_H323 $CONFIG_IP_NF_NAT
145 if [ "$CONFIG_IP_NF_RTSP" = "m" ]; then
146 define_tristate CONFIG_IP_NF_NAT_RTSP m
148 if [ "$CONFIG_IP_NF_RTSP" = "y" ]; then
149 define_tristate CONFIG_IP_NF_NAT_RTSP $CONFIG_IP_NF_NAT
152 if [ "$CONFIG_IP_NF_MMS" = "m" ]; then
153 define_tristate CONFIG_IP_NF_NAT_MMS m
155 if [ "$CONFIG_IP_NF_MMS" = "y" ]; then
156 define_tristate CONFIG_IP_NF_NAT_MMS $CONFIG_IP_NF_NAT
159 if [ "$CONFIG_IP_NF_H323" = "m" ]; then
160 define_tristate CONFIG_IP_NF_NAT_H323 m
162 if [ "$CONFIG_IP_NF_H323" = "y" ]; then
163 define_tristate CONFIG_IP_NF_NAT_H323 $CONFIG_IP_NF_NAT
166 if [ "$CONFIG_IP_NF_RTSP" = "m" ]; then
167 define_tristate CONFIG_IP_NF_NAT_RTSP m
169 if [ "$CONFIG_IP_NF_RTSP" = "y" ]; then
170 define_tristate CONFIG_IP_NF_NAT_RTSP $CONFIG_IP_NF_NAT
173 if [ "$CONFIG_IP_NF_MMS" = "m" ]; then
174 define_tristate CONFIG_IP_NF_NAT_MMS m
176 if [ "$CONFIG_IP_NF_MMS" = "y" ]; then
177 define_tristate CONFIG_IP_NF_NAT_MMS $CONFIG_IP_NF_NAT
180 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
181 dep_tristate ' Basic SNMP-ALG support (EXPERIMENTAL)' CONFIG_IP_NF_NAT_SNMP_BASIC $CONFIG_IP_NF_NAT
183 if [ "$CONFIG_IP_NF_IRC" = "m" ]; then
184 define_tristate CONFIG_IP_NF_NAT_IRC m
186 if [ "$CONFIG_IP_NF_IRC" = "y" ]; then
187 define_tristate CONFIG_IP_NF_NAT_IRC $CONFIG_IP_NF_NAT
190 # If they want FTP, set to $CONFIG_IP_NF_NAT (m or y),
191 # or $CONFIG_IP_NF_FTP (m or y), whichever is weaker. Argh.
192 if [ "$CONFIG_IP_NF_FTP" = "m" ]; then
193 define_tristate CONFIG_IP_NF_NAT_FTP m
195 if [ "$CONFIG_IP_NF_FTP" = "y" ]; then
196 define_tristate CONFIG_IP_NF_NAT_FTP $CONFIG_IP_NF_NAT
199 if [ "$CONFIG_IP_NF_TFTP" = "m" ]; then
200 define_tristate CONFIG_IP_NF_NAT_TFTP m
202 if [ "$CONFIG_IP_NF_TFTP" = "y" ]; then
203 define_tristate CONFIG_IP_NF_NAT_TFTP $CONFIG_IP_NF_NAT
206 # If they want Starcraft, set to $CONFIG_IP_NF_NAT (m or y),
207 # or $CONFIG_IP_NF_STARCRAFT (m or y), whichever is weaker. Argh.
208 if [ "$CONFIG_IP_NF_STARCRAFT" = "m" ]; then
209 define_tristate CONFIG_IP_NF_NAT_STARCRAFT m
211 if [ "$CONFIG_IP_NF_STARCRAFT" = "y" ]; then
212 define_tristate CONFIG_IP_NF_NAT_STARCRAFT $CONFIG_IP_NF_NAT
219 dep_tristate ' Packet mangling' CONFIG_IP_NF_MANGLE $CONFIG_IP_NF_IPTABLES
220 if [ "$CONFIG_IP_NF_MANGLE" != "n" ]; then
221 dep_tristate ' TOS target support' CONFIG_IP_NF_TARGET_TOS $CONFIG_IP_NF_MANGLE
222 dep_tristate ' ECN target support' CONFIG_IP_NF_TARGET_ECN $CONFIG_IP_NF_MANGLE
224 dep_tristate ' DSCP target support' CONFIG_IP_NF_TARGET_DSCP $CONFIG_IP_NF_MANGLE
226 dep_tristate ' MARK target support' CONFIG_IP_NF_TARGET_MARK $CONFIG_IP_NF_MANGLE
227 dep_tristate ' ROUTE target support' CONFIG_IP_NF_TARGET_ROUTE $CONFIG_IP_NF_MANGLE
228 dep_tristate ' IMQ target support' CONFIG_IP_NF_TARGET_IMQ $CONFIG_IP_NF_MANGLE
229 dep_tristate ' CLASSIFY target support (EXPERIMENTAL)' CONFIG_IP_NF_TARGET_CLASSIFY $CONFIG_IP_NF_MANGLE
231 if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
232 dep_tristate ' CONNMARK target support' CONFIG_IP_NF_TARGET_CONNMARK $CONFIG_IP_NF_IPTABLES
234 dep_tristate ' LOG target support' CONFIG_IP_NF_TARGET_LOG $CONFIG_IP_NF_IPTABLES
235 dep_tristate ' TTL target support' CONFIG_IP_NF_TARGET_TTL $CONFIG_IP_NF_IPTABLES
236 dep_tristate ' ULOG target support' CONFIG_IP_NF_TARGET_ULOG $CONFIG_IP_NF_IPTABLES
237 dep_tristate ' TCPMSS target support' CONFIG_IP_NF_TARGET_TCPMSS $CONFIG_IP_NF_IPTABLES
240 tristate 'ARP tables support' CONFIG_IP_NF_ARPTABLES
241 if [ "$CONFIG_IP_NF_ARPTABLES" != "n" ]; then
242 dep_tristate ' ARP packet filtering' CONFIG_IP_NF_ARPFILTER $CONFIG_IP_NF_ARPTABLES
244 if [ "$CONFIG_IP_NF_ARPTABLES" != "n" ]; then
245 dep_tristate ' ARP payload mangling' CONFIG_IP_NF_ARP_MANGLE $CONFIG_IP_NF_ARPTABLES
248 if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
249 tristate 'tomato_ct' CONFIG_IP_NF_TOMATOCT
252 # Backwards compatibility modules: only if you don't build in the others.
253 if [ "$CONFIG_IP_NF_CONNTRACK" != "y" ]; then
254 if [ "$CONFIG_IP_NF_IPTABLES" != "y" ]; then
255 tristate 'ipchains (2.2-style) support' CONFIG_IP_NF_COMPAT_IPCHAINS
256 if [ "$CONFIG_IP_NF_COMPAT_IPCHAINS" != "n" ]; then
257 define_bool CONFIG_IP_NF_NAT_NEEDED y
259 if [ "$CONFIG_IP_NF_COMPAT_IPCHAINS" != "y" ]; then
260 tristate 'ipfwadm (2.0-style) support' CONFIG_IP_NF_COMPAT_IPFWADM
261 if [ "$CONFIG_IP_NF_COMPAT_IPFWADM" != "n" ]; then
262 define_bool CONFIG_IP_NF_NAT_NEEDED y
267 dep_tristate ' IP set support' CONFIG_IP_NF_SET $CONFIG_IP_NF_IPTABLES
268 if [ "$CONFIG_IP_NF_SET" != "n" ]; then
269 int ' Maximum number of sets' CONFIG_IP_NF_SET_MAX 256
270 int ' Hash size for bindings of IP sets' CONFIG_IP_NF_SET_HASHSIZE 1024
271 dep_tristate ' set match support' CONFIG_IP_NF_MATCH_SET $CONFIG_IP_NF_SET
272 dep_tristate ' SET target support' CONFIG_IP_NF_TARGET_SET $CONFIG_IP_NF_SET
273 dep_tristate ' ipmap set type support' CONFIG_IP_NF_SET_IPMAP $CONFIG_IP_NF_SET
274 dep_tristate ' macipmap set type support' CONFIG_IP_NF_SET_MACIPMAP $CONFIG_IP_NF_SET
275 dep_tristate ' portmap set type support' CONFIG_IP_NF_SET_PORTMAP $CONFIG_IP_NF_SET
276 dep_tristate ' iphash set type support' CONFIG_IP_NF_SET_IPHASH $CONFIG_IP_NF_SET
277 dep_tristate ' nethash set type support' CONFIG_IP_NF_SET_NETHASH $CONFIG_IP_NF_SET
278 dep_tristate ' ipporthash set type support' CONFIG_IP_NF_SET_IPPORTHASH $CONFIG_IP_NF_SET
279 dep_tristate ' ipportiphash set type support' CONFIG_IP_NF_SET_IPPORTIPHASH $CONFIG_IP_NF_SET
280 dep_tristate ' ipportnethash set type support' CONFIG_IP_NF_SET_IPPORTNETHASH $CONFIG_IP_NF_SET
281 dep_tristate ' iptree set type support' CONFIG_IP_NF_SET_IPTREE $CONFIG_IP_NF_SET
282 dep_tristate ' iptreemap set type support' CONFIG_IP_NF_SET_IPTREEMAP $CONFIG_IP_NF_SET
283 dep_tristate ' setlist set type support' CONFIG_IP_NF_SET_SETLIST $CONFIG_IP_NF_SET