Networking is required for almost all machines today, and Linux supports
almost every networking option available. Here we are going to
show only a few of the wide variety that are present.
For all networking options, including different drivers, the main network
configuration option must be enabled:
Networking
[*] Networking support
The TCP/IP option should also be selected so that the machine can talk to
other machines on the Internet:
Networking
[*] Networking support
Networking options
[*] TCP/IP networking
The Netfilter portion of the Linux kernel is a framework for filtering and
manipulating all network packets that pass through the machine. It is
commonly used if you wish to enable a firewall on the machine to protect it
from different systems on the Internet, or to use the machine
as a proxy for other machines on the network. For more details on
what Netfilter is good for, please see NETFILTER.
To enable the main Netfilter option:
Networking
[*] Networking support
Networking options
[*] Network packet filtering (replaces ipchains)
It is recommended that you enable the Netfilter netlink interface and
Xtables support when using netlink:
Networking
[*] Networking support
Networking options
[*] Network packet filtering (replaces ipchains)
Core Netfilter Configuration
[*] Netfilter netlink interface
[*] Netfilter Xtables support (required for ip_tables)
The different protocols that you wish to filter should also be selected:
Networking
[*] Networking support
Networking options
[*] Network packet filtering (replaces ipchains)
IP: Netfilter Configuration
[M] Connection tracking (required for masq/NAT)
[ ] Connection tracking flow accounting
[ ] Connection mark tracking support
[ ] Connection tracking events (EXPERIMENTAL)
[ ] SCTP protocol connection tracking support (EXPERIMENTAL)
[M] FTP protocol support
[ ] IRC protocol support
[ ] NetBIOS name service protocol support (EXPERIMENTAL)
[M] TFTP protocol support
[ ] Amanda backup protocol support
[ ] PPTP protocol support
[ ] H.323 protocol support (EXPERIMENTAL)
Linux supports a wide array of different network devices. The
most common one is a PCI network device, into which an Ethernet cable can be
plugged.
To determine whether you have a PCI network device on the system, and what type
it is, run the following command:
$
/usr/sbin/lspci | grep Ethernet
03:0c.0 Ethernet controller: D-Link System Inc RTL8139 Ethernet (rev 10)
03:0e.0 Ethernet controller: Intel Corporation 82545GM Gigabit Ethernet Controller (rev 04)
Note that your response will probably not be identical; what is
important is that the command shows some PCI Ethernet devices.
Enable PCI support for the kernel:
Bus options (PCI, PCMCIA, EISA, MCA, ISA)
[*] PCI Support
Enable basic network device support:
Device Drivers
Network device support
[*] Network device support
Then comes the fun task of finding the specific device drivers for your
hardware. The most common place to find Ethernet devices for modern
hardware is in the gigabit section of the driver selection:
Device Drivers
Network device support
[*] Network device support
Ethernet (1000 Mbit)
Some older ethernet devices will be found in the 10- and 100-Mbit section:
Device Drivers
Network device support
[*] Network device support
Ethernet (10 or 100Mbit)
Look through those sections to find the proper driver for your specific
devices.
IrDA is an infrared protocol used by a number of laptops and PDAs to
communicate over very short distances. It is prevalent on older hardware,
with newer hardware using Bluetooth to communicate instead. See
the section called “Bluetooth” for configuring Bluetooth.
IrDA is a network protocol, so it can be found under the networking main
menu:
Networking
[*] Networking support
[*] IrDA (infrared) subsystem support
A number of different IrDA protocols can be selected,
depending on the type of device you wish to communicate with and the
program used to do the communication:
Networking
[*] Networking support
--- IrDA (infrared) subsystem support
--- IrDA protocols
[*] IrLAN protocol (NEW)
[*] IrCOMM protocol (NEW)
[*] Ultra (connectionless) protocol (NEW)
There are a wide range of different types of IrDA devices, some serial,
some PCI, and others based on USB. To select the specific type of IrDA
device you have, choose it under the driver submenu for IrDA:
Networking
[*] Networking support
--- IrDA (infrared) subsystem support
Infrared-port device drivers
--- SIR device drivers
[ ] IrTTY (uses Linux serial driver)
--- Dongle support
--- Old SIR device drivers
--- Old Serial dongle support
--- FIR device drivers
[ ] IrDA USB dongles
[ ] SigmaTel STIr4200 bridge (EXPERIMENTAL)
[ ] NSC PC87108/PC87338
[ ] Winbond W83977AF (IR)
[ ] Toshiba Type-O IR Port
[ ] SMSC IrCC (EXPERIMENTAL)
[ ] ALi M5123 FIR (EXPERIMENTAL)
[ ] VLSI 82C147 SIR/MIR/FIR (EXPERIMENTAL)
[ ] VIA VT8231/VT1211 SIR/MIR/FIR
Bluetooth is a wireless technology that was created to replace IrDA to talk
between devices over a very short distance. It is a short-range wireless
technology that was designed as a replacement for cables and operates
within a 10 meter radius and is commonly used in mobile phones.
Bluetooth is a network protocol, so it can be found under the networking
main menu:
Networking
[*] Networking support
[*] Bluetooth subsystem support
There are two main protocol selections for Bluetooth. Both of these should
be enabled in order to work with all types of Bluetooth devices:
Networking
[*] Networking support
--- Bluetooth subsystem support
[*] L2CAP protocol support
[*] SCO links support
There are relatively few individual Bluetooth devices drivers available, because
almost all of these devices follow the Bluetooth specification detailing
how devices should operate. The drivers marked in the following list must be selected in order for
Bluetooth to work with the device:
Networking
[*] Networking support
--- Bluetooth subsystem support
Bluetooth device drivers
[M] HCI USB driver
[*] SCO (voice) support
[ ] HCI UART driver
[M] HCI BCM203x USB driver
[M] HCI BPA10x USB driver
[ ] HCI BlueFRITZ! USB driver
[ ] HCI DTL1 (PC Card) driver
[ ] HCI BT3C (PC Card) driver
[ ] HCI BlueCard (PC Card) driver
[ ] HCI UART (PC Card) device driver
[ ] HCI VHCI (Virtual HCI device) driver
Wireless networking is very popular, with almost all modern laptops having a
built-in wireless network device. Linux supports a wide range of wireless
drivers, with more being added every week.
To determine whether you have a PCI wireless device on the system, and what type
it is, run the following command:
$
/usr/sbin/lspci | grep -i wireless
06:05.0 Network controller: Intel Corporation PRO/Wireless 2915ABG MiniPCI Adapter (rev 05)
Note that your response will probably not be identical; what is
important is that the command shows some PCI Wireless devices.
To enable wireless support in Linux, the IEEE 802.11 network configuration
option must be enabled (802.11 is the number of the wireless specification
that all these devices follow.)
Networking
[*] Networking support
[*] Generic IEEE 802.11 Networking Stack
Also enable the different 802.11 protocol options, and the "Software MAC"
option to provide full support for all different types of wireless devices
in Linux:
Networking
[*] Networking support
[*] Generic IEEE 802.11 Networking Stack
[*] IEEE 802.11 WEP encryption (802.1x)
[M] IEEE 802.11i CCMP support
[M] IEEE 802.11i TKIP encryption
[M] Software MAC add-on to the IEEE 802.11 networking stack
Support for the different PCI types of wireless network devices is found
under the Network driver section of the configuration:
Device Drivers
Network device support
Wireless LAN (non-hamradio)
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
[*] Wireless Extension API over RtNetlink
There is a wide range of different PCI drivers in this section. Select the
proper one depending on the device you have.
The USB wireless networking device drivers are in a different section of
the configuration:
Device Drivers
USB Support
USB Network Adapters