Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 | CONFIG_FILTER The Linux Socket Filter is derived from the Berkeley Packet Filter. If you say Y here, user-space programs can attach a filter to any socket and thereby tell the kernel that it should allow or disallow certain types of data to get through the socket. Linux Socket Filtering works on all socket types except TCP for now. See the text file <file:Documentation/networking/filter.txt> for more information. You need to say Y here if you want to use PPP packet filtering (see the CONFIG_PPP_FILTER option below). If unsure, say N. CONFIG_NETFILTER Netfilter is a framework for filtering and mangling network packets that pass through your Linux box. The most common use of packet filtering is to run your Linux box as a firewall protecting a local network from the Internet. The type of firewall provided by this kernel support is called a "packet filter", which means that it can reject individual network packets based on type, source, destination etc. The other kind of firewall, a "proxy-based" one, is more secure but more intrusive and more bothersome to set up; it inspects the network traffic much more closely, modifies it and has knowledge about the higher level protocols, which a packet filter lacks. Moreover, proxy-based firewalls often require changes to the programs running on the local clients. Proxy-based firewalls don't need support by the kernel, but they are often combined with a packet filter, which only works if you say Y here. You should also say Y here if you intend to use your Linux box as the gateway to the Internet for a local network of machines without globally valid IP addresses. This is called "masquerading": if one of the computers on your local network wants to send something to the outside, your box can "masquerade" as that computer, i.e. it forwards the traffic to the intended outside destination, but modifies the packets to make it look like they came from the firewall box itself. It works both ways: if the outside host replies, the Linux box will silently forward the traffic to the correct local computer. This way, the computers on your local net are completely invisible to the outside world, even though they can reach the outside and can receive replies. It is even possible to run globally visible servers from within a masqueraded local network using a mechanism called portforwarding. Masquerading is also often called NAT (Network Address Translation). Another use of Netfilter is in transparent proxying: if a machine on the local network tries to connect to an outside host, your Linux box can transparently forward the traffic to a local server, typically a caching proxy server. Various modules exist for netfilter which replace the previous masquerading (ipmasqadm), packet filtering (ipchains), transparent proxying, and portforwarding mechanisms. Please see <file:Documentation/Changes> under "iptables" for the location of these packages. Make sure to say N to "Fast switching" below if you intend to say Y here, as Fast switching currently bypasses netfilter. Chances are that you should say Y here if you compile a kernel which will run as a router and N for regular hosts. If unsure, say N. CONFIG_NETFILTER_DEBUG You can say Y here if you want to get additional messages useful in debugging the netfilter code. CONFIG_INET These are the protocols used on the Internet and on most local Ethernets. It is highly recommended to say Y here (this will enlarge your kernel by about 144 KB), since some programs (e.g. the X window system) use TCP/IP even if your machine is not connected to any other computer. You will get the so-called loopback device which allows you to ping yourself (great fun, that!). For an excellent introduction to Linux networking, please read the NET-3-HOWTO, available from <http://www.linuxdoc.org/docs.html#howto>. This option is also necessary if you want to use the full power of term (term is a program which gives you almost full Internet connectivity if you have a regular dial up shell account on some Internet connected Unix computer; for more information, read <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>). If you say Y here and also to "/proc file system support" and "Sysctl support" below, you can change various aspects of the behavior of the TCP/IP code by writing to the (virtual) files in /proc/sys/net/ipv4/*; the options are explained in the file <file:Documentation/networking/ip-sysctl.txt>. Short answer: say Y. CONFIG_UNIX If you say Y here, you will include support for Unix domain sockets; sockets are the standard Unix mechanism for establishing and accessing network connections. Many commonly used programs such as the X Window system and syslog use these sockets even if your machine is not connected to any network. Unless you are working on an embedded system or something similar, you therefore definitely want to say Y here. However, the socket support is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. The module will be called unix.o. If you try building this as a module and you have said Y to "Kernel module loader support" above, be sure to add 'alias net-pf-1 unix' to your /etc/modules.conf file. Note that several important services won't work correctly if you say M here and then neglect to load the module. Say Y unless you know what you are doing. CONFIG_IPV6 This is experimental support for the next version of the Internet Protocol: IP version 6 (also called IPng "IP next generation"). Features of this new protocol include: expanded address space, authentication and privacy, and seamless interoperability with the current version of IP (IP version 4). For general information about IPv6, see <http://playground.sun.com/pub/ipng/html/ipng-main.html>; for specific information about IPv6 under Linux read the HOWTO at <http://www.bieringer.de/linux/IPv6/> and the file net/ipv6/README in the kernel source. If you want to use IPv6, please upgrade to the newest net-tools as given in <file:Documentation/Changes>. You will still be able to do regular IPv4 networking as well. This protocol support is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called ipv6.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. It is safe to say N here for now. CONFIG_IPX This is support for the Novell networking protocol, IPX, commonly used for local networks of Windows machines. You need it if you want to access Novell NetWare file or print servers using the Linux Novell client ncpfs (available from <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from <http://www.linuxdoc.org/docs.html#howto>). In order to do the former, you'll also have to say Y to "NCP file system support", below. IPX is similar in scope to IP, while SPX, which runs on top of IPX, is similar to TCP. There is also experimental support for SPX in Linux (see "SPX networking", below). To turn your Linux box into a fully featured NetWare file server and IPX router, say Y here and fetch either lwared from <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more information, read the IPX-HOWTO available from <http://www.linuxdoc.org/docs.html#howto>. General information about how to connect Linux, Windows machines and Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. The IPX driver would enlarge your kernel by about 16 KB. This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called ipx.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. Unless you want to integrate your Linux box with a local Novell network, say N. CONFIG_DECNET The DECnet networking protocol was used in many products made by Digital (now Compaq). It provides reliable stream and sequenced packet communications over which run a variety of services similar to those which run over TCP/IP. To find some tools to use with the kernel layer support, please look at Patrick Caulfield's web site: <http://linux.dreamtime.org/decnet/>. More detailed documentation is available in <file:Documentation/networking/decnet.txt>. Be sure to say Y to "/proc file system support" and "Sysctl support" below when using DECnet, since you will need sysctl support to aid in configuration at run time. The DECnet code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module is called decnet.o. CONFIG_ATALK AppleTalk is the protocol that Apple computers can use to communicate on a network. If your Linux box is connected to such a network and you wish to connect to it, say Y. You will need to use the netatalk package so that your Linux box can act as a print and file server for Macs as well as access AppleTalk printers. Check out <http://www.zettabyte.net/netatalk/> on the WWW for details. EtherTalk is the name used for AppleTalk over Ethernet and the cheaper and slower LocalTalk is AppleTalk over a proprietary Apple network using serial links. EtherTalk and LocalTalk are fully supported by Linux. General information about how to connect Linux, Windows machines and Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. The NET-3-HOWTO, available from <http://www.linuxdoc.org/docs.html#howto>, contains valuable information as well. This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module is called appletalk.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. You almost certainly want to compile it as a module so you can restart your AppleTalk stack without rebooting your machine. I hear that the GNU boycott of Apple is over, so even politically correct people are allowed to say Y here. CONFIG_X25 X.25 is a set of standardized network protocols, similar in scope to frame relay; the one physical line from your box to the X.25 network entry point can carry several logical point-to-point connections (called "virtual circuits") to other computers connected to the X.25 network. Governments, banks, and other organizations tend to use it to connect to each other or to form Wide Area Networks (WANs). Many countries have public X.25 networks. X.25 consists of two protocols: the higher level Packet Layer Protocol (PLP) (say Y here if you want that) and the lower level data link layer protocol LAPB (say Y to "LAPB Data Link Driver" below if you want that). You can read more about X.25 at <http://www.sangoma.com/x25.htm> and <http://www.cisco.com/univercd/data/doc/software/11_0/rpcg/cx25.htm>. Information about X.25 for Linux is contained in the files <file:Documentation/networking/x25.txt> and <file:Documentation/networking/x25-iface.txt>. One connects to an X.25 network either with a dedicated network card using the X.21 protocol (not yet supported by Linux) or one can do X.25 over a standard telephone line using an ordinary modem (say Y to "X.25 async driver" below) or over Ethernet using an ordinary Ethernet card and either the 802.2 LLC protocol (say Y to "802.2 LLC" below) or LAPB over Ethernet (say Y to "LAPB Data Link Driver" and "LAPB over Ethernet driver" below). If you want to compile this driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read <file:Documentation/modules.txt>. The module will be called x25.o. If unsure, say N. CONFIG_LAPB Link Access Procedure, Balanced (LAPB) is the data link layer (i.e. the lower) part of the X.25 protocol. It offers a reliable connection service to exchange data frames with one other host, and it is used to transport higher level protocols (mostly X.25 Packet Layer, the higher part of X.25, but others are possible as well). Usually, LAPB is used with specialized X.21 network cards, but Linux currently supports LAPB only over Ethernet connections. If you want to use LAPB connections over Ethernet, say Y here and to "LAPB over Ethernet driver" below. Read <file:Documentation/networking/lapb-module.txt> for technical details. If you want to compile this driver as a module though ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read <file:Documentation/modules.txt>. The module will be called lapb.o. If unsure, say N. CONFIG_LLC This is a Logical Link Layer protocol used for X.25 connections over Ethernet, using ordinary Ethernet cards. CONFIG_NET_DIVERT The Frame Diverter allows you to divert packets from the network, that are not aimed at the interface receiving it (in promisc. mode). Typically, a Linux box setup as an Ethernet bridge with the Frames Diverter on, can do some *really* transparent www caching using a Squid proxy for example. This is very useful when you don't want to change your router's config (or if you simply don't have access to it). The other possible usages of diverting Ethernet Frames are numberous: - reroute smtp traffic to another interface - traffic-shape certain network streams - transparently proxy smtp connections - etc... For more informations, please refer to: <http://diverter.sourceforge.net/> <http://perso.wanadoo.fr/magpie/EtherDivert.html> If unsure, say N. CONFIG_BRIDGE If you say Y here, then your Linux box will be able to act as an Ethernet bridge, which means that the different Ethernet segments it is connected to will appear as one Ethernet to the participants. Several such bridges can work together to create even larger networks of Ethernets using the IEEE 802.1 spanning tree algorithm. As this is a standard, Linux bridges will cooperate properly with other third party bridge products. In order to use the Ethernet bridge, you'll need the bridge configuration tools; see <file:Documentation/networking/bridge.txt> for location. Please read the Bridge mini-HOWTO for more information. Note that if your box acts as a bridge, it probably contains several Ethernet devices, but the kernel is not able to recognize more than one at boot time without help; for details read the Ethernet-HOWTO, available from in <http://www.linuxdoc.org/docs.html#howto>. If you want to compile this code as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read <file:Documentation/modules.txt>. The module will be called bridge.o. If unsure, say N. CONFIG_PACKET The Packet protocol is used by applications which communicate directly with network devices without an intermediate network protocol implemented in the kernel, e.g. tcpdump. If you want them to work, choose Y. This driver is also available as a module called af_packet.o ( = code which can be inserted in and removed from the running kernel whenever you want). If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>; if you use modprobe or kmod, you may also want to add "alias net-pf-17 af_packet" to /etc/modules.conf. If unsure, say Y. CONFIG_PACKET_MMAP If you say Y here, the Packet protocol driver will use an IO mechanism that results in faster communication. If unsure, say N. CONFIG_NETLINK_DEV This option will be removed soon. Any programs that want to use character special nodes like /dev/tap0 or /dev/route (all with major number 36) need this option, and need to be rewritten soon to use the real netlink socket. This is a backward compatibility option, choose Y for now. CONFIG_ATM ATM is a high-speed networking technology for Local Area Networks and Wide Area Networks. It uses a fixed packet size and is connection oriented, allowing for the negotiation of minimum bandwidth requirements. In order to participate in an ATM network, your Linux box needs an ATM networking card. If you have that, say Y here and to the driver of your ATM card below. Note that you need a set of user-space programs to actually make use of ATM. See the file <file:Documentation/networking/atm.txt> for further details. CONFIG_ATM_CLIP Classical IP over ATM for PVCs and SVCs, supporting InARP and ATMARP. If you want to communication with other IP hosts on your ATM network, you will typically either say Y here or to "LAN Emulation (LANE)" below. CONFIG_ATM_CLIP_NO_ICMP Normally, an "ICMP host unreachable" message is sent if a neighbour cannot be reached because there is no VC to it in the kernel's ATMARP table. This may cause problems when ATMARP table entries are briefly removed during revalidation. If you say Y here, packets to such neighbours are silently discarded instead. CONFIG_ATM_LANE LAN Emulation emulates services of existing LANs across an ATM network. Besides operating as a normal ATM end station client, Linux LANE client can also act as an proxy client bridging packets between ELAN and Ethernet segments. You need LANE if you want to try MPOA. CONFIG_ATM_MPOA Multi-Protocol Over ATM allows ATM edge devices such as routers, bridges and ATM attached hosts establish direct ATM VCs across subnetwork boundaries. These shortcut connections bypass routers enhancing overall network performance. CONFIG_ECONET Econet is a fairly old and slow networking protocol mainly used by Acorn computers to access file and print servers. It uses native Econet network cards. AUN is an implementation of the higher level parts of Econet that runs over ordinary Ethernet connections, on top of the UDP packet protocol, which in turn runs on top of the Internet protocol IP. If you say Y here, you can choose with the next two options whether to send Econet/AUN traffic over a UDP Ethernet connection or over a native Econet network card. This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called econet.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. CONFIG_ECONET_AUNUDP Say Y here if you want to send Econet/AUN traffic over a UDP connection (UDP is a packet based protocol that runs on top of the Internet protocol IP) using an ordinary Ethernet network card. CONFIG_ECONET_NATIVE Say Y here if you have a native Econet network card installed in your computer. CONFIG_WAN_ROUTER Wide Area Networks (WANs), such as X.25, frame relay and leased lines, are used to interconnect Local Area Networks (LANs) over vast distances with data transfer rates significantly higher than those achievable with commonly used asynchronous modem connections. Usually, a quite expensive external device called a `WAN router' is needed to connect to a WAN. As an alternative, WAN routing can be built into the Linux kernel. With relatively inexpensive WAN interface cards available on the market, a perfectly usable router can be built for less than half the price of an external router. If you have one of those cards and wish to use your Linux box as a WAN router, say Y here and also to the WAN driver for your card, below. You will then need the wan-tools package which is available from <ftp://ftp.sangoma.com/>. Read <file:Documentation/networking/wan-router.txt> for more information. The WAN routing support is also available as a module called wanrouter.o ( = code which can be inserted in and removed from the running kernel whenever you want). If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. If unsure, say N. CONFIG_NET_FASTROUTE Saying Y here enables direct NIC-to-NIC (NIC = Network Interface Card) data transfers on the local network, which is fast. IMPORTANT NOTE: This option is NOT COMPATIBLE with "Network packet filtering" (CONFIG_NETFILTER). Say N here if you say Y there. However, it will work with all options in the "Advanced router" section (except for "Use TOS value as routing key" and "Use FWMARK value as routing key"). At the moment, few devices support fast switching (tulip is one of them, a modified 8390 driver can be found at <ftp://ftp.inr.ac.ru/ip-routing/fastroute/fastroute-8390.tar.gz>). If unsure, say N. CONFIG_NET_HW_FLOWCONTROL This option enables NIC (Network Interface Card) hardware throttling during periods of extremal congestion. At the moment only a couple of device drivers support it (really only one -- tulip, a modified 8390 driver can be found at <ftp://ftp.inr.ac.ru/ip-routing/fastroute/fastroute-8390.tar.gz>). Really, this option is applicable to any machine attached to a fast enough network, and even a 10 Mb NIC is able to kill a not very slow box, such as a 120MHz Pentium. However, do not say Y here if you did not experience any serious problems. CONFIG_NET_SCHED When the kernel has several packets to send out over a network device, it has to decide which ones to send first, which ones to delay, and which ones to drop. This is the job of the packet scheduler, and several different algorithms for how to do this "fairly" have been proposed. If you say N here, you will get the standard packet scheduler, which is a FIFO (first come, first served). If you say Y here, you will be able to choose from among several alternative algorithms which can then be attached to different network devices. This is useful for example if some of your network devices are real time devices that need a certain minimum data flow rate, or if you need to limit the maximum data flow rate for traffic which matches specified criteria. This code is considered to be experimental. To administer these schedulers, you'll need the user-level utilities from the package iproute2+tc at <ftp://ftp.inr.ac.ru/ip-routing/>. That package also contains some documentation; for more, check out <http://snafu.freedom.org/linux2.2/iproute-notes.html>. This Quality of Service (QoS) support will enable you to use Differentiated Services (diffserv) and Resource Reservation Protocol (RSVP) on your Linux router if you also say Y to "QoS support", "Packet classifier API" and to some classifiers below. Documentation and software is at <http://icawww1.epfl.ch/linux-diffserv/>. If you say Y here and to "/proc file system" below, you will be able to read status information about packet schedulers from the file /proc/net/psched. The available schedulers are listed in the following questions; you can say Y to as many as you like. If unsure, say N now. CONFIG_NET_PROFILE If you say Y here and to "/proc file system support" below, some obscure and undocumented information about the network code's performance will be written to /proc/net/profile. If you don't know what it is about, you don't need it: say N. |