This chapter explains how to set up a local-area network (LAN) that includes a Linux Samba server, which lets Microsoft Windows and UNIX systems access shared files and printers hosted by your Linux system. The chapter explains how to administer a simple LAN and describes how to install, configure, and administer Samba servers and clients. Integrating your Linux system with an existing LAN is no more complicated than setting up your own LAN; the chapter also explains how to connect to an existing network. The chapter also explains how to use Linux backup and recovery utilities so that client systems can create and use backups stored on the server.
One of the great strengths of Linux is its powerful and robust networking capabilities. The good news is that everything about Linux's networking setup is open to inspection and completely configurable. Nothing is hidden from the user, and no parameters are forced on you. The challenge is to get the most out of this setup for your needs.
Basic networking principles don't differ much between Windows and Linux, and indeed the principles aren't unfamiliar. This chapter starts with an overview of networking, and then looks in more detail at Linux networking on a Local Area Network (LAN). In the next two chapters, you'll learn about making a dialup Internet connection, and setting up Wide Area Network (WAN) services.
Most computers today handle network traffic much as the post office handles mail. Think, for example, of the steps involved in sending and receiving a letter. Your postal carrier must know where to drop off and where to pick up mail. So your home must have some kind of recognizable interface; we call this a mailbox. And whereas your postal carrier may know your neighborhood quite well, delivery in other areas will require other carriers. Mail is passed to these other carriers through a gateway; we call this the Post Office. Although you can think of the whole postal system as one big network, it's easier to understand if you think of it as a hierarchy of subnetworks (or subnets): the postal system is divided into states, states are divided by zip code, zip codes contain a number of streets, and each street contains unique addresses.
Computer networking mirrors this model. Let's trace an email message from you to a coworker. You compose the message and press Send. Your computer passes the message to a network interface. This interface may be a modem by which you dial up an ISP, or it may be an Ethernet card that connects you to a LAN. Either way, on the other side of the interface is a gateway machine. The gateway knows how to look at the address of the recipient on the email message, and interpret that message in terms of networks and subnets. Using this information, your gateway passes the message to other gateways until the message reaches the gateway for the destination machine. That gateway in turn delivers the message via a recognizable interface (such as modem or Ethernet card) to the recipient's inbox.
If you review this story, you can easily see what parts of networking you'll need to configure on your Linux system. You'll need to know the address of your machine. Just as the town name Menlo Park and the zip code 94025 are two different names for the same location, you may have both a name, called a hostname, and a number, called an IP number, that serve as the address for your machine.
To translate between these two notations, you may need to know the address of a Domain Name Server. This is a machine that matches IP numbers with hostnames. You'll also need to know the address of a gateway machine through which network traffic will be routed. Finally, you'll need to be able to bring up an interface on your system for networking, and you'll need to assign a route from that interface to the gateway.
While all of this can seem complex, it really isn't any more complex than the postal system, and functions in much the same way. Fortunately, Linux comes with tools to help you automate network configuration. In this chapter you'll look at networking on a LAN, and we'll start by looking at how to set up LAN networking.