Chapter 2: The Network Interface
Nothing is more basic to network configuration than the interface the system uses to connect to the
network. On most Linux servers, the network interface is an Ethernet card. Yet Linux systems are
not limited to using Ethernet for network access. There are several types of network interfaces. One
widely used network interface is the computer's serial port. Linux provides excellent support for
serial−line communications, including a full range of tools to run TCP/IP over a serial line using
Point−to−Point Protocol (PPP).
This chapter begins the discussion of configuring a Linux system as a network server by looking at
how network interfaces are installed and configured. We begin with the Ethernet interface, which is
the most popular TCP/IP network interface, and then go on to discuss how the serial interface is
used for data communications. Finally, this chapter covers how PPP software is configured to turn
the serial port into a TCP/IP network interface.
Configuring an Ethernet Interface
A Linux Ethernet interface is composed of both a hardware adapter card and a software driver.
There are many possible brands and models of Ethernet cards. Select a card that is listed in "The
Linux Hardware Compatibility HOWTO" by Patrick Reijnen, or listed among the approved hardware
at your Linux vendor's website. When you find a card that works well for you, stick with it until you
have a good reason to change.
Loadable Ethernet Drivers
The Ethernet interface software is a kernel driver. The driver can be compiled into the kernel or can
be loaded as a loadable module, which is the most common way to install an Ethernet driver. On a
R e d H a t s y s t e m , t h e l o a d a b l e E t h e r n e t d r i v e r s a r e f o u n d i n t h e
/lib/modules/release/kernel/drivers/net directory, in which release is the kernel version number. A
directory listing of the network device drivers found on a Red Hat 7.2 system is shown in Listing 2.1.
Listing 2.1: Loadable Network Device Drivers
$ cd /lib/modules/2.4.7−10/kernel/drivers/net
$ ls *.o
3c501.o at1700.o eepro100.o ne2k−pci.o slhc.o
3c503.o atp.o eepro.o ne3210.o slip.o
3c505.o bonding.o eexpress.o ne.o smc−ultra32.o
3c507.o bsd_comp.o epic100.o ni5010.o smc−ultra.o
3c509.o cs89x0.o eql.o ni52.o starfire.o
3c515.o de4x5.o es3210.o ni65.o strip.o
3c59x.o de600.o eth16i.o ns83820.o sundance.o
8139too.o de620.o ethertap.o pcnet32.o sungem.o
82596.o defxx.o ewrk3.o plip.o sunhme.o
8390.o depca.o hamachi.o ppp_async.o tlan.o
ac3200.o dgrs.o hp100.o ppp_deflate.o tun.o
acenic.o dl2k.o hp.o ppp_generic.o via−rhine.o
aironet4500_card.o dmfe.o hp−plus.o ppp_synctty.o wavelan.o
aironet4500_core.o dummy.o lance.o rcpci.o wd.o
aironet4500_proc.o e1000.o lne390.o sb1000.o winbond−840.o
arlan.o e100.o lp486e.o shaper.o yellowfin.o
No comments:
Post a Comment