Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.16-rc3 610 lines 21 kB view raw
1# 2# IP netfilter configuration 3# 4 5menu "IP: Netfilter Configuration" 6 depends on INET && NETFILTER 7 8config NF_CONNTRACK_IPV4 9 tristate "IPv4 support for new connection tracking (EXPERIMENTAL)" 10 depends on EXPERIMENTAL && NF_CONNTRACK 11 ---help--- 12 Connection tracking keeps a record of what packets have passed 13 through your machine, in order to figure out how they are related 14 into connections. 15 16 This is IPv4 support on Layer 3 independent connection tracking. 17 Layer 3 independent connection tracking is experimental scheme 18 which generalize ip_conntrack to support other layer 3 protocols. 19 20 To compile it as a module, choose M here. If unsure, say N. 21 22# connection tracking, helpers and protocols 23config IP_NF_CONNTRACK 24 tristate "Connection tracking (required for masq/NAT)" 25 ---help--- 26 Connection tracking keeps a record of what packets have passed 27 through your machine, in order to figure out how they are related 28 into connections. 29 30 This is required to do Masquerading or other kinds of Network 31 Address Translation (except for Fast NAT). It can also be used to 32 enhance packet filtering (see `Connection state match support' 33 below). 34 35 To compile it as a module, choose M here. If unsure, say N. 36 37config IP_NF_CT_ACCT 38 bool "Connection tracking flow accounting" 39 depends on IP_NF_CONNTRACK 40 help 41 If this option is enabled, the connection tracking code will 42 keep per-flow packet and byte counters. 43 44 Those counters can be used for flow-based accounting or the 45 `connbytes' match. 46 47 If unsure, say `N'. 48 49config IP_NF_CONNTRACK_MARK 50 bool 'Connection mark tracking support' 51 depends on IP_NF_CONNTRACK 52 help 53 This option enables support for connection marks, used by the 54 `CONNMARK' target and `connmark' match. Similar to the mark value 55 of packets, but this mark value is kept in the conntrack session 56 instead of the individual packets. 57 58config IP_NF_CONNTRACK_EVENTS 59 bool "Connection tracking events (EXPERIMENTAL)" 60 depends on EXPERIMENTAL && IP_NF_CONNTRACK 61 help 62 If this option is enabled, the connection tracking code will 63 provide a notifier chain that can be used by other kernel code 64 to get notified about changes in the connection tracking state. 65 66 IF unsure, say `N'. 67 68config IP_NF_CONNTRACK_NETLINK 69 tristate 'Connection tracking netlink interface (EXPERIMENTAL)' 70 depends on EXPERIMENTAL && IP_NF_CONNTRACK && NETFILTER_NETLINK 71 depends on IP_NF_CONNTRACK!=y || NETFILTER_NETLINK!=m 72 help 73 This option enables support for a netlink-based userspace interface 74 75 76config IP_NF_CT_PROTO_SCTP 77 tristate 'SCTP protocol connection tracking support (EXPERIMENTAL)' 78 depends on IP_NF_CONNTRACK && EXPERIMENTAL 79 help 80 With this option enabled, the connection tracking code will 81 be able to do state tracking on SCTP connections. 82 83 If you want to compile it as a module, say M here and read 84 <file:Documentation/modules.txt>. If unsure, say `N'. 85 86config IP_NF_FTP 87 tristate "FTP protocol support" 88 depends on IP_NF_CONNTRACK 89 help 90 Tracking FTP connections is problematic: special helpers are 91 required for tracking them, and doing masquerading and other forms 92 of Network Address Translation on them. 93 94 To compile it as a module, choose M here. If unsure, say Y. 95 96config IP_NF_IRC 97 tristate "IRC protocol support" 98 depends on IP_NF_CONNTRACK 99 ---help--- 100 There is a commonly-used extension to IRC called 101 Direct Client-to-Client Protocol (DCC). This enables users to send 102 files to each other, and also chat to each other without the need 103 of a server. DCC Sending is used anywhere you send files over IRC, 104 and DCC Chat is most commonly used by Eggdrop bots. If you are 105 using NAT, this extension will enable you to send files and initiate 106 chats. Note that you do NOT need this extension to get files or 107 have others initiate chats, or everything else in IRC. 108 109 To compile it as a module, choose M here. If unsure, say Y. 110 111config IP_NF_NETBIOS_NS 112 tristate "NetBIOS name service protocol support (EXPERIMENTAL)" 113 depends on IP_NF_CONNTRACK && EXPERIMENTAL 114 help 115 NetBIOS name service requests are sent as broadcast messages from an 116 unprivileged port and responded to with unicast messages to the 117 same port. This make them hard to firewall properly because connection 118 tracking doesn't deal with broadcasts. This helper tracks locally 119 originating NetBIOS name service requests and the corresponding 120 responses. It relies on correct IP address configuration, specifically 121 netmask and broadcast address. When properly configured, the output 122 of "ip address show" should look similar to this: 123 124 $ ip -4 address show eth0 125 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 126 inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0 127 128 To compile it as a module, choose M here. If unsure, say N. 129 130config IP_NF_TFTP 131 tristate "TFTP protocol support" 132 depends on IP_NF_CONNTRACK 133 help 134 TFTP connection tracking helper, this is required depending 135 on how restrictive your ruleset is. 136 If you are using a tftp client behind -j SNAT or -j MASQUERADING 137 you will need this. 138 139 To compile it as a module, choose M here. If unsure, say Y. 140 141config IP_NF_AMANDA 142 tristate "Amanda backup protocol support" 143 depends on IP_NF_CONNTRACK 144 help 145 If you are running the Amanda backup package <http://www.amanda.org/> 146 on this machine or machines that will be MASQUERADED through this 147 machine, then you may want to enable this feature. This allows the 148 connection tracking and natting code to allow the sub-channels that 149 Amanda requires for communication of the backup data, messages and 150 index. 151 152 To compile it as a module, choose M here. If unsure, say Y. 153 154config IP_NF_PPTP 155 tristate 'PPTP protocol support' 156 depends on IP_NF_CONNTRACK 157 help 158 This module adds support for PPTP (Point to Point Tunnelling 159 Protocol, RFC2637) connection tracking and NAT. 160 161 If you are running PPTP sessions over a stateful firewall or NAT 162 box, you may want to enable this feature. 163 164 Please note that not all PPTP modes of operation are supported yet. 165 For more info, read top of the file 166 net/ipv4/netfilter/ip_conntrack_pptp.c 167 168 If you want to compile it as a module, say M here and read 169 Documentation/modules.txt. If unsure, say `N'. 170 171config IP_NF_QUEUE 172 tristate "IP Userspace queueing via NETLINK (OBSOLETE)" 173 help 174 Netfilter has the ability to queue packets to user space: the 175 netlink device can be used to access them using this driver. 176 177 This option enables the old IPv4-only "ip_queue" implementation 178 which has been obsoleted by the new "nfnetlink_queue" code (see 179 CONFIG_NETFILTER_NETLINK_QUEUE). 180 181 To compile it as a module, choose M here. If unsure, say N. 182 183config IP_NF_IPTABLES 184 tristate "IP tables support (required for filtering/masq/NAT)" 185 depends on NETFILTER_XTABLES 186 help 187 iptables is a general, extensible packet identification framework. 188 The packet filtering and full NAT (masquerading, port forwarding, 189 etc) subsystems now use this: say `Y' or `M' here if you want to use 190 either of those. 191 192 To compile it as a module, choose M here. If unsure, say N. 193 194# The matches. 195config IP_NF_MATCH_IPRANGE 196 tristate "IP range match support" 197 depends on IP_NF_IPTABLES 198 help 199 This option makes possible to match IP addresses against IP address 200 ranges. 201 202 To compile it as a module, choose M here. If unsure, say N. 203 204config IP_NF_MATCH_MULTIPORT 205 tristate "Multiple port match support" 206 depends on IP_NF_IPTABLES 207 help 208 Multiport matching allows you to match TCP or UDP packets based on 209 a series of source or destination ports: normally a rule can only 210 match a single range of ports. 211 212 To compile it as a module, choose M here. If unsure, say N. 213 214config IP_NF_MATCH_TOS 215 tristate "TOS match support" 216 depends on IP_NF_IPTABLES 217 help 218 TOS matching allows you to match packets based on the Type Of 219 Service fields of the IP packet. 220 221 To compile it as a module, choose M here. If unsure, say N. 222 223config IP_NF_MATCH_RECENT 224 tristate "recent match support" 225 depends on IP_NF_IPTABLES 226 help 227 This match is used for creating one or many lists of recently 228 used addresses and then matching against that/those list(s). 229 230 Short options are available by using 'iptables -m recent -h' 231 Official Website: <http://snowman.net/projects/ipt_recent/> 232 233 To compile it as a module, choose M here. If unsure, say N. 234 235config IP_NF_MATCH_ECN 236 tristate "ECN match support" 237 depends on IP_NF_IPTABLES 238 help 239 This option adds a `ECN' match, which allows you to match against 240 the IPv4 and TCP header ECN fields. 241 242 To compile it as a module, choose M here. If unsure, say N. 243 244config IP_NF_MATCH_DSCP 245 tristate "DSCP match support" 246 depends on IP_NF_IPTABLES 247 help 248 This option adds a `DSCP' match, which allows you to match against 249 the IPv4 header DSCP field (DSCP codepoint). 250 251 The DSCP codepoint can have any value between 0x0 and 0x4f. 252 253 To compile it as a module, choose M here. If unsure, say N. 254 255config IP_NF_MATCH_AH_ESP 256 tristate "AH/ESP match support" 257 depends on IP_NF_IPTABLES 258 help 259 These two match extensions (`ah' and `esp') allow you to match a 260 range of SPIs inside AH or ESP headers of IPSec packets. 261 262 To compile it as a module, choose M here. If unsure, say N. 263 264config IP_NF_MATCH_TTL 265 tristate "TTL match support" 266 depends on IP_NF_IPTABLES 267 help 268 This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user 269 to match packets by their TTL value. 270 271 To compile it as a module, choose M here. If unsure, say N. 272 273config IP_NF_MATCH_OWNER 274 tristate "Owner match support" 275 depends on IP_NF_IPTABLES 276 help 277 Packet owner matching allows you to match locally-generated packets 278 based on who created them: the user, group, process or session. 279 280 To compile it as a module, choose M here. If unsure, say N. 281 282config IP_NF_MATCH_ADDRTYPE 283 tristate 'address type match support' 284 depends on IP_NF_IPTABLES 285 help 286 This option allows you to match what routing thinks of an address, 287 eg. UNICAST, LOCAL, BROADCAST, ... 288 289 If you want to compile it as a module, say M here and read 290 <file:Documentation/modules.txt>. If unsure, say `N'. 291 292config IP_NF_MATCH_HASHLIMIT 293 tristate 'hashlimit match support' 294 depends on IP_NF_IPTABLES 295 help 296 This option adds a new iptables `hashlimit' match. 297 298 As opposed to `limit', this match dynamically crates a hash table 299 of limit buckets, based on your selection of source/destination 300 ip addresses and/or ports. 301 302 It enables you to express policies like `10kpps for any given 303 destination IP' or `500pps from any given source IP' with a single 304 IPtables rule. 305 306config IP_NF_MATCH_POLICY 307 tristate "IPsec policy match support" 308 depends on IP_NF_IPTABLES && XFRM 309 help 310 Policy matching allows you to match packets based on the 311 IPsec policy that was used during decapsulation/will 312 be used during encapsulation. 313 314 To compile it as a module, choose M here. If unsure, say N. 315 316# `filter', generic and specific targets 317config IP_NF_FILTER 318 tristate "Packet filtering" 319 depends on IP_NF_IPTABLES 320 help 321 Packet filtering defines a table `filter', which has a series of 322 rules for simple packet filtering at local input, forwarding and 323 local output. See the man page for iptables(8). 324 325 To compile it as a module, choose M here. If unsure, say N. 326 327config IP_NF_TARGET_REJECT 328 tristate "REJECT target support" 329 depends on IP_NF_FILTER 330 help 331 The REJECT target allows a filtering rule to specify that an ICMP 332 error should be issued in response to an incoming packet, rather 333 than silently being dropped. 334 335 To compile it as a module, choose M here. If unsure, say N. 336 337config IP_NF_TARGET_LOG 338 tristate "LOG target support" 339 depends on IP_NF_IPTABLES 340 help 341 This option adds a `LOG' target, which allows you to create rules in 342 any iptables table which records the packet header to the syslog. 343 344 To compile it as a module, choose M here. If unsure, say N. 345 346config IP_NF_TARGET_ULOG 347 tristate "ULOG target support (OBSOLETE)" 348 depends on IP_NF_IPTABLES 349 ---help--- 350 351 This option enables the old IPv4-only "ipt_ULOG" implementation 352 which has been obsoleted by the new "nfnetlink_log" code (see 353 CONFIG_NETFILTER_NETLINK_LOG). 354 355 This option adds a `ULOG' target, which allows you to create rules in 356 any iptables table. The packet is passed to a userspace logging 357 daemon using netlink multicast sockets; unlike the LOG target 358 which can only be viewed through syslog. 359 360 The apropriate userspace logging daemon (ulogd) may be obtained from 361 <http://www.gnumonks.org/projects/ulogd/> 362 363 To compile it as a module, choose M here. If unsure, say N. 364 365config IP_NF_TARGET_TCPMSS 366 tristate "TCPMSS target support" 367 depends on IP_NF_IPTABLES 368 ---help--- 369 This option adds a `TCPMSS' target, which allows you to alter the 370 MSS value of TCP SYN packets, to control the maximum size for that 371 connection (usually limiting it to your outgoing interface's MTU 372 minus 40). 373 374 This is used to overcome criminally braindead ISPs or servers which 375 block ICMP Fragmentation Needed packets. The symptoms of this 376 problem are that everything works fine from your Linux 377 firewall/router, but machines behind it can never exchange large 378 packets: 379 1) Web browsers connect, then hang with no data received. 380 2) Small mail works fine, but large emails hang. 381 3) ssh works fine, but scp hangs after initial handshaking. 382 383 Workaround: activate this option and add a rule to your firewall 384 configuration like: 385 386 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ 387 -j TCPMSS --clamp-mss-to-pmtu 388 389 To compile it as a module, choose M here. If unsure, say N. 390 391# NAT + specific targets 392config IP_NF_NAT 393 tristate "Full NAT" 394 depends on IP_NF_IPTABLES && IP_NF_CONNTRACK 395 help 396 The Full NAT option allows masquerading, port forwarding and other 397 forms of full Network Address Port Translation. It is controlled by 398 the `nat' table in iptables: see the man page for iptables(8). 399 400 To compile it as a module, choose M here. If unsure, say N. 401 402config IP_NF_NAT_NEEDED 403 bool 404 depends on IP_NF_NAT != n 405 default y 406 407config IP_NF_TARGET_MASQUERADE 408 tristate "MASQUERADE target support" 409 depends on IP_NF_NAT 410 help 411 Masquerading is a special case of NAT: all outgoing connections are 412 changed to seem to come from a particular interface's address, and 413 if the interface goes down, those connections are lost. This is 414 only useful for dialup accounts with dynamic IP address (ie. your IP 415 address will be different on next dialup). 416 417 To compile it as a module, choose M here. If unsure, say N. 418 419config IP_NF_TARGET_REDIRECT 420 tristate "REDIRECT target support" 421 depends on IP_NF_NAT 422 help 423 REDIRECT is a special case of NAT: all incoming connections are 424 mapped onto the incoming interface's address, causing the packets to 425 come to the local machine instead of passing through. This is 426 useful for transparent proxies. 427 428 To compile it as a module, choose M here. If unsure, say N. 429 430config IP_NF_TARGET_NETMAP 431 tristate "NETMAP target support" 432 depends on IP_NF_NAT 433 help 434 NETMAP is an implementation of static 1:1 NAT mapping of network 435 addresses. It maps the network address part, while keeping the host 436 address part intact. It is similar to Fast NAT, except that 437 Netfilter's connection tracking doesn't work well with Fast NAT. 438 439 To compile it as a module, choose M here. If unsure, say N. 440 441config IP_NF_TARGET_SAME 442 tristate "SAME target support" 443 depends on IP_NF_NAT 444 help 445 This option adds a `SAME' target, which works like the standard SNAT 446 target, but attempts to give clients the same IP for all connections. 447 448 To compile it as a module, choose M here. If unsure, say N. 449 450config IP_NF_NAT_SNMP_BASIC 451 tristate "Basic SNMP-ALG support (EXPERIMENTAL)" 452 depends on EXPERIMENTAL && IP_NF_NAT 453 ---help--- 454 455 This module implements an Application Layer Gateway (ALG) for 456 SNMP payloads. In conjunction with NAT, it allows a network 457 management system to access multiple private networks with 458 conflicting addresses. It works by modifying IP addresses 459 inside SNMP payloads to match IP-layer NAT mapping. 460 461 This is the "basic" form of SNMP-ALG, as described in RFC 2962 462 463 To compile it as a module, choose M here. If unsure, say N. 464 465config IP_NF_NAT_IRC 466 tristate 467 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n 468 default IP_NF_NAT if IP_NF_IRC=y 469 default m if IP_NF_IRC=m 470 471# If they want FTP, set to $CONFIG_IP_NF_NAT (m or y), 472# or $CONFIG_IP_NF_FTP (m or y), whichever is weaker. Argh. 473config IP_NF_NAT_FTP 474 tristate 475 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n 476 default IP_NF_NAT if IP_NF_FTP=y 477 default m if IP_NF_FTP=m 478 479config IP_NF_NAT_TFTP 480 tristate 481 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n 482 default IP_NF_NAT if IP_NF_TFTP=y 483 default m if IP_NF_TFTP=m 484 485config IP_NF_NAT_AMANDA 486 tristate 487 depends on IP_NF_IPTABLES!=n && IP_NF_CONNTRACK!=n && IP_NF_NAT!=n 488 default IP_NF_NAT if IP_NF_AMANDA=y 489 default m if IP_NF_AMANDA=m 490 491config IP_NF_NAT_PPTP 492 tristate 493 depends on IP_NF_NAT!=n && IP_NF_PPTP!=n 494 default IP_NF_NAT if IP_NF_PPTP=y 495 default m if IP_NF_PPTP=m 496 497# mangle + specific targets 498config IP_NF_MANGLE 499 tristate "Packet mangling" 500 depends on IP_NF_IPTABLES 501 help 502 This option adds a `mangle' table to iptables: see the man page for 503 iptables(8). This table is used for various packet alterations 504 which can effect how the packet is routed. 505 506 To compile it as a module, choose M here. If unsure, say N. 507 508config IP_NF_TARGET_TOS 509 tristate "TOS target support" 510 depends on IP_NF_MANGLE 511 help 512 This option adds a `TOS' target, which allows you to create rules in 513 the `mangle' table which alter the Type Of Service field of an IP 514 packet prior to routing. 515 516 To compile it as a module, choose M here. If unsure, say N. 517 518config IP_NF_TARGET_ECN 519 tristate "ECN target support" 520 depends on IP_NF_MANGLE 521 ---help--- 522 This option adds a `ECN' target, which can be used in the iptables mangle 523 table. 524 525 You can use this target to remove the ECN bits from the IPv4 header of 526 an IP packet. This is particularly useful, if you need to work around 527 existing ECN blackholes on the internet, but don't want to disable 528 ECN support in general. 529 530 To compile it as a module, choose M here. If unsure, say N. 531 532config IP_NF_TARGET_DSCP 533 tristate "DSCP target support" 534 depends on IP_NF_MANGLE 535 help 536 This option adds a `DSCP' match, which allows you to match against 537 the IPv4 header DSCP field (DSCP codepoint). 538 539 The DSCP codepoint can have any value between 0x0 and 0x4f. 540 541 To compile it as a module, choose M here. If unsure, say N. 542 543config IP_NF_TARGET_TTL 544 tristate 'TTL target support' 545 depends on IP_NF_MANGLE 546 help 547 This option adds a `TTL' target, which enables the user to modify 548 the TTL value of the IP header. 549 550 While it is safe to decrement/lower the TTL, this target also enables 551 functionality to increment and set the TTL value of the IP header to 552 arbitrary values. This is EXTREMELY DANGEROUS since you can easily 553 create immortal packets that loop forever on the network. 554 555 To compile it as a module, choose M here. If unsure, say N. 556 557config IP_NF_TARGET_CLUSTERIP 558 tristate "CLUSTERIP target support (EXPERIMENTAL)" 559 depends on IP_NF_MANGLE && EXPERIMENTAL 560 depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK_IPV4) 561 help 562 The CLUSTERIP target allows you to build load-balancing clusters of 563 network servers without having a dedicated load-balancing 564 router/server/switch. 565 566 To compile it as a module, choose M here. If unsure, say N. 567 568# raw + specific targets 569config IP_NF_RAW 570 tristate 'raw table support (required for NOTRACK/TRACE)' 571 depends on IP_NF_IPTABLES 572 help 573 This option adds a `raw' table to iptables. This table is the very 574 first in the netfilter framework and hooks in at the PREROUTING 575 and OUTPUT chains. 576 577 If you want to compile it as a module, say M here and read 578 <file:Documentation/modules.txt>. If unsure, say `N'. 579 580# ARP tables 581config IP_NF_ARPTABLES 582 tristate "ARP tables support" 583 depends on NETFILTER_XTABLES 584 help 585 arptables is a general, extensible packet identification framework. 586 The ARP packet filtering and mangling (manipulation)subsystems 587 use this: say Y or M here if you want to use either of those. 588 589 To compile it as a module, choose M here. If unsure, say N. 590 591config IP_NF_ARPFILTER 592 tristate "ARP packet filtering" 593 depends on IP_NF_ARPTABLES 594 help 595 ARP packet filtering defines a table `filter', which has a series of 596 rules for simple ARP packet filtering at local input and 597 local output. On a bridge, you can also specify filtering rules 598 for forwarded ARP packets. See the man page for arptables(8). 599 600 To compile it as a module, choose M here. If unsure, say N. 601 602config IP_NF_ARP_MANGLE 603 tristate "ARP payload mangling" 604 depends on IP_NF_ARPTABLES 605 help 606 Allows altering the ARP packet payload: source and destination 607 hardware and network addresses. 608 609endmenu 610