0% found this document useful (0 votes)
567 views50 pages

Mastering Linux Network Administration - Sample Chapter

Chapter No. 1 Setting up Your Environment Master the skills and techniques that are required to design, deploy, and administer real Linux-based networks For more information: http://bit.ly/1Q5fjTL

Uploaded by

Packt Publishing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
567 views50 pages

Mastering Linux Network Administration - Sample Chapter

Chapter No. 1 Setting up Your Environment Master the skills and techniques that are required to design, deploy, and administer real Linux-based networks For more information: http://bit.ly/1Q5fjTL

Uploaded by

Packt Publishing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Fr

Linux is everywhere. Due to the open nature of Linux


and related technologies, Linux-based networks are
on the rise. Whether you run a home office or a small
business, or manage enterprise systems, this exciting
technology will empower your network to perform at its
best. Armed with the tools of the trade, you'll be able to
mold such networks to your will, empowering your systems
and their users to take advantage of all that Linux-based
networks have to offer.
Whether you're managing small or large networks, or even
just starting out in taking your knowledge of Linux to the
next level, it's important to understand how Linux networks
function and how best to manage them. With two of the most
well-known enterprise-ready Linux distributions as its source,
this book will divulge all the details you need in order to
manage a real Linux-based network. With detailed activities
and instructions based on real-world scenarios, this book will
be your guide to the exciting world of Linux networking.

Who this book is written for

Install and configure the Debian and


CentOS systems
Set up and configure file servers
Administer networked nodes remotely
Discover how to monitor system performance
for peak health
Configure network services such as DNS
and DHCP
Host HTTP content via Apache
Troubleshoot Linux networking issues

$ 49.99 US
31.99 UK

community experience distilled

P U B L I S H I N G

Jay LaCroix

Mastering Linux Network Administration is recommended


for those who already understand the basics of using Linux
and networking, and would like to put those skills to use in
real-world Linux networking scenarios. Whether you intend
to run a home office consisting of Linux nodes or roll out a
Linux network within your organization, this book is a great
fit for those that want to learn how to manage networked
systems with the power of Linux.

What you will learn from this book

Mastering Linux Network Administration

Mastering Linux
Network Administration

ee

pl

C o m m u n i t y

E x p e r i e n c e

D i s t i l l e d

Mastering Linux
Network Administration
Master the skills and techniques that are required to design,
deploy, and administer real Linux-based networks

Prices do not include


local sales tax or VAT
where applicable

Visit www.PacktPub.com for books, eBooks,


code, downloads, and PacktLib.

Sa
m

Jay LaCroix

In this package, you will find:

The author biography


A preview chapter from the book, Chapter 1 'Setting up Your Environment'
A synopsis of the books content
More information on Mastering Linux Network Administration

About the Author


Jay LaCroix is a Michigan-born technologist with a focus on Linux and open source
software. He has over 13 years of experience working with Linux, including servers,
networking, scripting, programming, virtualization, and any open source technology
he can get his hands on. He is currently working as a Linux systems engineer and
enjoys writing, training, and empowering others to use Linux. He is also the author
of Linux Mint Essentials.

Preface
In this book, we will learn about the concepts that are required to manage real
Linux-based networks. The goal is to help the reader grow from a beginner or
an intermediate-level Linux user, to someone who can manage and support real
Linux-based networks. The book starts with a couple of introductory chapters, in
which the reader will set up their environment and then refresh some basics that will
serve as the foundation for the rest of the book. From there, more advanced topics
will be covered with useful examples, which the reader will be able to follow along
with gaining valuable hands on practice.
During this journey, we will cover the tasks that a network administrator will
typically perform on the job such as installing Linux, setting up DHCP, sharing
files, IP addressing, monitoring resources, and so on. These examples are covered
for not one but two popular distributions, Debian and CentOS. Since these two are
very popular distributions in the enterprise, the reader will be well prepared to
manage networks based on one distribution or the other (and also the countless
other distributions based on them).
Finally, the last few chapters will cover the best practices to prevent intrusions
and attacks and also troubleshooting to assist you when things go wrong.

What this book covers


Chapter 1, Setting up Your Environment, covers the process of setting up your lab
environment for use in this book. Installing Debian and CentOS is covered, along
with the pros and cons of using virtual machines.
Chapter 2, Revisiting Linux Network Basics, refreshes the reader on core Linux concepts
that provide a foundation for the rest of the book such as TCP/IP, hostname
resolution, and the IP and net tools suites.

Preface

Chapter 3, Communicating Between Nodes via SSH, covers all things SSH. In this
chapter, we take a look at how to use SSH and how to set up an OpenSSH server
to allow other nodes to connect. The scp command is also covered, allowing us to
transfer files from one machine to another.
Chapter 4, Setting up a File Server, covers both Samba and NFS. Here, we'll discuss
when it's appropriate to use one over the other, as well as the configuring and
mounting these shares.
Chapter 5, Monitoring System Resources, deals with the monitoring of resources on
our Linux systems such as inspecting free disk space, checking available memory,
rotating logs, and viewing journal logs.
Chapter 6, Configuring Network Services, is all about the services that make our
network come together. Topics such as DHCP and DNS servers are covered
here. NTP is also thrown in for good measure.
Chapter 7, Hosting HTTP Content via Apache, covers Apache, which is currently the
most used web server software in the world. Here, we'll not only install Apache,
but we'll configure it and manage the modules as well. The virtual hosts are
also covered.
Chapter 8, Understanding Advanced Networking Concepts, takes the reader to the next
level by discussing more advanced topics such as subnetting, Quality of Service,
redundancy in DHCP and DNS, and many more.
Chapter 9, Securing Your Network, deals with hardening our systems in order to
prevent unauthorized access. Here, we'll cover iptables, fail2ban, SELinux, and
much more.
Chapter 10, Troubleshooting Network Issues, rounds up our journey with some
troubleshooting tips you can use if you run into problems.

Setting up Your Environment


Welcome to the world of Linux networking! This book will be your guide to
perfecting your Linux network management skills. In this chapter, we will go over
what's needed to get your environment up and running. We'll talk about several
Linux distributions that are of interest to enterprise networking, the things to keep
in mind while setting up an environment in your home or office so you can follow
along with this book, and some best practices for setting up a few Linux installations
that we'll use throughout this book. Basically, we'll lay the groundwork that you'll
use to develop your skills.
In this chapter, we will cover:

Getting started

Distributions to consider

Physical machines versus virtual machines

Setting up and configuring VirtualBox

Acquiring and installing Debian 8

Acquiring and installing CentOS 7

Getting started
Network management in Linux is a fun, diverse field that is always changing.
While the core components typically remain the same throughout the years
(such as the TCP/IP protocol), how these services are managed have evolved
in each generation, such as the rise of systemd. Linux is definitely exciting.

[1]

Setting up Your Environment

In this chapter, we'll see how to set up your environment. Depending on your
experience level, you can skip directly to Chapter 2, Revisiting Linux Networking Basics.
If you're already comfortable setting up a distribution or two on a physical or virtual
machine, you already have the knowledge needed to get started. Here, we'll discuss
how to install a few distributions of interest for the exercises in this book and some
general pointers.
In a nutshell, the more Linux installations you have to work with, the better. While
practicing networking concepts, it's a good idea to have as many nodes as possible,
so you can test how your configuration changes, will affect your environment. If you
are already comfortable installing Linux, feel free to set up some nodes and then I'll
meet you in the next chapter.

Distributions to consider
There are over a hundred distributions of Linux in existence today. These include
distributions geared specifically toward workstations or servers (or even both) and
specialist distributions, which solve a specific task, such as Kali, Mythbuntu, and
Clonezilla. Naturally, the first question one might have when studying a concept
such as network administration is which distributions to start with.
Let's not focus on any one distribution. In the enterprise, no two data centers
are same. Some organizations that utilize Linux might standardize on a specific
distribution set (for example, Ubuntu and Ubuntu Server) though it's far more
common to see a mix of one or more distributions in use. Distributions such as
SUSE Enterprise Linux, Red Hat Enterprise Linux, Ubuntu Server, CentOS, and
Debian are extremely common among servers within Linux-based networks. In
my experience, I've seen Debian (as well as its derivatives) and Red Hat-based
distributions in use most often.
You are encouraged to experiment and mix up whichever distributions you might
favor. There are many candidates, and websites such as www.distrowatch.com
would give you a list of possibilities. Specifically for the sake of the examples in
this book, CentOS and Debian are recommended for your use. In fact, these two
distributions are wonderful places to start. You'll get a taste for two different forms
of package management (rpm and deb packages) and familiarize yourself with two
of the most popular distributions. Regarding Debian, quite a few distributions are
based on it (Ubuntu, Linux Mint, and others). By learning how to manage a Debian
installation, much of that knowledge would be transferable to other distributions
should you consider switching. The same can be said about CentOS, which is based
on Red Hat. Red Hat is a very popular distribution and since CentOS is created from
its source, you're essentially learning it as well. While Fedora is more bleeding-edge
than Red Hat or CentOS, much of the knowledge will be useful there as well; Fedora
is popular as a workstation distribution.
[2]

Chapter 1

The examples within this book were tested in both CentOS and Debian. Whenever an
instruction is specific to a particular distribution, I will let you know. Having a CentOS
and Debian installation will suit you for the purposes of this book, but feel free to
experiment. As far as individual versions of these distributions are concerned, both
CentOS 7 and Debian 8 were used. Install these in your environment or home lab.

Physical machines versus virtual


machines
Seeing a section on virtual machines in a networking book may come as somewhat
of a surprise. To be fair, it certainly is out of place. In addition to being an important
enterprise platform, virtualization can also be an invaluable learning tool. In real
networks, a technician may test a service in a virtual machine before rolling it out to
the environment. For example, a new DNS server may begin life as a VM, and then
once it is tested and proven, moved into an environment for use by the organization.
One benefit of this approach is that you can take several snapshots as you develop
the solution, and should you mess up and ruin it, you can just restore the snapshot
and begin from a known-working state.
As far as mastering our Linux networking skills are concerned, virtual machines
allow you to test how a procedure differs from one distribution to another. It's easy
to bring up a virtual machine, and it's even easier to trash it. If you're limited by
physical hardware, then virtual machines may offer you a chance to build a small
virtual network to practice on. Of course, the trade-off with virtual machines is how
much RAM they use. However, without a GUI, most Linux distributions will run
quite comfortably with just 512 MB RAM. Nowadays, quite a few computers ship
with 8 GB or even 16 GB RAM, so you should be able to run several VMs on even
the budget computers available today.
To be fair, using virtual machines for purposes of practice and study isn't always
ideal. In fact, when studying networking, physical equipment is usually preferred.
While you can certainly practice setting up and serving a web page via Apache
running in a VM, you wouldn't be able to practice racking switches and routers in
such an environment. Whenever possible, try to use physical equipment. However,
virtual machines offer a unique chance for you to create a small army of nodes to
maintain on your network.
Of course, not everyone has a stack of Dell towers sitting in the closet, ready and
waiting for a shiny new Linux install. Depending on what you have at your disposal,
you may use all physical machines or a mix of physical and virtual. In this book, no
assumptions are made about your inventory. The name of the game is to manage
nodes, so set up as many as possible.
[3]

Setting up Your Environment

In this book, VirtualBox is discussed. However, it's by no means the only solution
for creating virtual machines. There are other solutions as well, such as KVM, Xen,
VMware and others. VirtualBox has the benefit of being free, open source, and crossplatform (it's available for Linux, Mac OS X, and Windows), so there's a good chance
it will work in your environment. In most cases, it's even easier to set up than KVM
or Xen (but perhaps not nearly as cool). You don't have to use VirtualBox (or even
VMs at all, for that matter) in order to follow along with this book. Use whatever
solution you prefer. In this book, I try not to limit the instructions to any one specific
solution, so the content works for as many people as possible.

Setting up and conguring VirtualBox


If you've decided to use VirtualBox in your environment (either for studying, testing
distributions, or evaluating network services before implementation), we will set up
our VirtualBox host in this activity.

Acquiring VirtualBox
Downloading and installing VirtualBox is actually fairly straightforward, but each
platform has its unique quirks. In Windows, the initial installation is simply a matter
of navigating to the following site and downloading the setup file and running
through the installation wizard:
https://www.virtualbox.org/wiki/Downloads

After installation, all you would need to do is skip to the Downloading and
installing the Extension Pack section of this chapter. Installing on Mac OS X
is also straightforward.
For Linux, there are several methods to install VirtualBox. One way is to use your
package manager, if your distribution already has it available in its repositories.
Unfortunately, depending on the version of your distribution, the version of
VirtualBox that may be included is very likely to be out of date. For example,
Debian typically contains older packages in its repositories, but bleeding-edge
distributions such as Arch are more likely to contain the latest and best.
Perhaps a better way of acquiring VirtualBox is to import the repositories that
VirtualBox itself provides into your system. The following URL has a list of Debian
repositories and even a method of adding a repository for RPM-based distributions
(Fedora, Red Hat, and so on):
https://www.virtualbox.org/wiki/Linux_Downloads

[4]

Chapter 1

For example, using the instructions on the page as a guide, we can run through the
following procedure on a Debian-based system. However, Oracle may change their
instructions and repository listing at any time; always consult the previous URL
before installation to see if the procedure has changed.
To verify that we will add the correct version, we need to determine which
repository to use. This differs based on which distribution you're running, so
definitely consult the documentation on the VirtualBox site to ensure you're
importing the correct repository.
For Debian 8 "Jessie", we would use the following:
deb http://download.virtualbox.org/virtualbox/debian jessie contrib

To add this repository to our Debian system, we would use the following command:
# echo "deb http://download.virtualbox.org/virtualbox/debian jessie
contrib" > /etc/apt/sources.list.d/virtualbox.list

Then, we can add the public key for the repository with the following command:
# wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | aptkey add -

From now on, we can find Oracle's VirtualBox package in our repositories and
install it. To do so, let's first update our package listing with the following
command (as root):
# apt-get update

Then install VirtualBox with the following command:


# apt-get install dkms virtualbox-4.3

This same procedure for installation will work for Ubuntu as well,
as long as you choose the appropriate matching repository.

For distributions such as Fedora, Red Hat Enterprise Linux (RHEL) and openSUSE,
Oracle provides similar instructions.
The public key can be downloaded via the following command:
# wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm
--import -

[5]

Setting up Your Environment

In order to add the repository to a Fedora system, execute the following command:
# wget -P /etc/yum/repos.d/ http://download.virtualbox.org/virtualbox/
rpm/fedora/virtualbox.repo

After adding the repository, VirtualBox can be installed with the following command:
# yum install VirtualBox-4.3

In addition, instructions for OpenSUSE and RHEL are also available on


the VirtualBox website. See the VirtualBox website for more details at
https://www.virtualbox.org/.

Downloading and installing the Extension


Pack
Oracle offers an Extension Pack, which enables USB support as well as support for
Preboot Execution Environment (PXE) booting. You may or may not need these
features. If you think you would benefit from being able to insert a flash drive on
your host PC and accessing it from within your VM, it's probably a good idea to
install the pack.
The extension pack isn't built-in to VirtualBox due to licensing
issues. Feel free to consult the VirtualBox license should you
wish to learn more.

The installation procedure for the extension pack is mostly the same, regardless of
whether your host computer is running Linux, Windows, or Mac OS X. However,
there is one added step if your host is running Linux, which is to add your user
account to the vboxusers group.
1. When you first install VirtualBox, it should have created this group.
To verify, execute the following command:
cat /etc/group |grep vboxusers

2. You should see an output similar to the following:


vboxusers:x:1000:username

3. If you don't see the output, create the group with the following command:
# groupadd vboxusers

[6]

Chapter 1

4. Then, add yourself to that group:


# usermod -aG vboxusers yourusername

You'll need to log out and then log in before adding yourself to
the vboxusers group takes effect.

Now, you're ready to install the extension pack. Again, this procedure should be the
same regardless of your underlying operating system. First, download the Extension
Pack from the following URL and save it locally:
https://www.virtualbox.org/wiki/Downloads

After downloading, follow the next steps:


1. Open VirtualBox and go to File | Preferences....

Accessing the file menu in VirtualBox

[7]

Setting up Your Environment

2. Next, click on Extensions and then click on the green triangle icon on the
right-hand side.

VirtualBox settings

3. Select the extension pack that you downloaded earlier and click on Open.

Extension pack selection

[8]

Chapter 1

4. You'll then be asked to confirm the installation. Click on Install.

Confirmation of extension pack installation

5. The VirtualBox license agreement will be displayed. Feel free to check it.
Then, scroll to the bottom and click on I Agree to confirm it.

VirtualBox license agreement

[9]

Setting up Your Environment

6. If you're running Linux, you may be asked for the root or sudo password.
If you do, enter it and continue. After authenticating, you should see
confirmation that you've successfully installed the extension pack.

Confirmation of successfully installing the VirtualBox extension pack

After this procedure, VirtualBox will be up and running on your machine.

In some distributions, the password prompt may not appear, causing


the installation of the extension pack to fail. If that happens, run
VirtualBox with root privileges using the following command:
sudo VirtualBox

Then, try installing the extension pack again. Once finished, close
VirtualBox and then reopen it as a normal user before continuing.

Acquiring and installing Debian 8


In order to install Debian, we first need to acquire an ISO image file. To do that,
go the following URL:
http://www.debian.org/distrib/netinst

There will be several options for download, but the netinst ISO will be our target.
For most computers, the 64-bit (amd64) version should sufficeunless you know
for sure that your computer doesn't support 64-bit. The main difference between the
netinst and the complete installation image is that the netinst version will download
what it needs from Debian's servers over the Internet. As long as you're not within a
bandwidth-constrained area, this should not be an issue.

[ 10 ]

Chapter 1

Of course, the ISO file by itself is not useful unless you're attaching it to a virtual
machine. If you are, then you're ready to go. If you're setting up a physical machine,
you'll need to either create a bootable CD with a disc mastering utility of your choice,
or create a bootable flash drive.
Because there is a multitude of different disc mastering utilities
available, a complete walkthrough of how to create a bootable CD in
your environment is not possible. In most cases, your utility should
have an option to burn an ISO image in its menu. The disc will not
function as Debian installation media if you simply create a data disc.

The steps for installing Debian 8 are as follows:


1. In a Linux system, you can create a bootable Debian flash drive with the
following command:
# cp name-of-debian.iso /dev/sd? && sync

2. Essentially, we're copying the downloaded ISO image directly to a


flash drive. Of course, change the file name and target to what is
relevant on your system. To determine the device node to use,
execute the following command:
# fdisk -l

3. Within the output, you should see the node designation of your flash drive.
The output of that command will look like this:
Device

Boot Start

/dev/sdb1

End

Sectors

Size Id Type

2048 60563455 60561408 28.9G 83 Linux

4. Then, /dev/sdb would be the device to use to create the flash drive. Putting
it all together, we would create the flash drive with the following command:
# cp name-of-debian.iso /dev/sdb && sync

Downloading the example code


You can download the example code files from your account at
http://www.packtpub.com for all the Packt Publishing books
you have purchased. If you purchased this book elsewhere, you
can visit http://www.packtpub.com/support and register to
have the files e-mailed directly to you.

[ 11 ]

Setting up Your Environment

5. Once you have created bootable media, insert it into your computer and
follow your computer's specific directives to access the boot menu and select
your Debian media. After it finishes loading, the first screen will ask you to
select your language. Choose your language, then click on Continue.

The Debian installer's language selection screen

[ 12 ]

Chapter 1

6. After selecting your language, the next screen will have you choose your
location. Select it and then click on Continue.

Language selection in the Debian installer

[ 13 ]

Setting up Your Environment

7. Similarly, choose a keymap that fits your keyboard and click on Continue.

The Debian installer's keyboard selection screen

[ 14 ]

Chapter 1

8. At this point, the Debian installer will detect your hardware, and then
allow you to configure your host name. For this option, choose a unique
host name that will identify your device on the network. When finished,
click on Continue.

Choosing a hostname during installation of Debian

[ 15 ]

Setting up Your Environment

9. The installer will then ask for your domain name. Enter your domain name
here if you have one; otherwise, just leave it blank. Click on Continue.

Domain name configuration while installing Debian

[ 16 ]

Chapter 1

10. Next, you'll be asked to set a password for the root account. For this, you
should create a unique (and preferably randomly generated) password.
As you probably know, the root account has full access to the system.
After setting the password, click on Continue.

Root password entry during Debian installation

[ 17 ]

Setting up Your Environment

11. In the next three screens, you'll set up your user account. First, you'll enter
your first and last name, and then click on Continue.

First screen of setting up primary user account

[ 18 ]

Chapter 1

12. Then, type in username and click on Continue.

Creating a username

[ 19 ]

Setting up Your Environment

13. The final portion of the user setup section will ask you to create a password.
When done, click on Continue again.

Setting the password for the primary user

[ 20 ]

Chapter 1

14. Next, Debian will try to use Network Time Protocol (NTP), if available, to
configure your clock. Then, you'll be presented with a screen to select your
time zone. Make sure your time zone is highlighted, and click on Continue.

Configuring your location, for the time zone

[ 21 ]

Setting up Your Environment

15. Now, we'll partition our disk. Feel free to partition your disk any way
you want, as there are no partitioning requirements as far as this book is
concerned. For the sake of this instruction, Guided - use entire disk, the
default for Debian, is chosen. If you have a preferred partitioning scheme,
feel free to use it. When finished, click on Continue.

First screen of the partitioning portion of the Debian installation

[ 22 ]

Chapter 1

16. Next, you'll have to select the hard disk on which to install Debian. In this
example, there is only one hard disk available in the VM that was used to
capture the procedure. If you have more than one disk, select the appropriate
disk for installation and click on Continue.

Selecting the target disk for Debian

[ 23 ]

Setting up Your Environment

17. In the next section, the Debian installer will ask if you would like to have a
separate /home partition (recommended if you wish to retain files between
installations), separate /home, /var, and /tmp partitions, or all files in one
partition. This book has no partitioning requirements, so choose the one
that best fits your preference. When you've made your selection, click
on Continue.

Disk partitioning selection

[ 24 ]

Chapter 1

18. Next, Debian will display a summary of the changes it's about to make.
If these changes look good to you, ensure Finish partitioning and write
changes to disk is highlighted and click on Continue.

Partitioning overview

[ 25 ]

Setting up Your Environment

19. Then, you'll have to confirm the details again. Select Yes and then click
on Continue.

Confirmation of changes to partitioning

[ 26 ]

Chapter 1

20. The base system will be installed next; this might take a little while
depending on the speed of your computer and hard disk. Afterwards,
you'll be presented with a screen where you'll select the country nearest
you in order to set up Debian's package manager.

Choosing a location for the package manager

[ 27 ]

Setting up Your Environment

21. Next, you'll select a mirror for Debian's package archives. In most cases,
the default selection is usually accurate. So unless it guessed incorrectly,
leave the default selection as-is and click on Continue.

Choosing a mirror for Debian's package archives

[ 28 ]

Chapter 1

22. In the next screen, Debian will give you a chance to configure an HTTP
proxy, if you have one. If not, leave it blank.

HTTP proxy configuration

[ 29 ]

Setting up Your Environment

23. Next, Debian will configure your package manager and update your
sources. After a few progress bars scroll by, you'll see a new screen asking
you whether or not you'd like to submit usage statistics to Debian. This
information is helpful to Debian's developers, but it's not required. Make
your choice and click on Continue.

Choosing whether to provide anonymous statistics to Debian developers

[ 30 ]

Chapter 1

The next screen will offer us additional packages that we can add to our
system, but these aren't required (it's a good idea to leave standard system
utilities enabled, though). Most of the options presented allow us to choose
a desktop environment, but you are not required to install one. Typically,
servers are not installed with a desktop environment. However, if you are
setting up a workstation PC, it may be of benefit.

GNOME: It is the default desktop environment for Debian.


GNOME is state of the art, and offers a unique paradigm for
interacting with your computer. GNOME uses virtual workspaces
heavily, which allows you to split your workflow between several
desktops. Unfortunately, GNOME has relatively modest hardware
acceleration requirements; this means if you don't have a modern
video card, it won't function properly.

Xfce: It is a very lightweight alternative to GNOME, and it has been


around for a long time. Xfce is great for computers with lower end
processing capabilities. Nowadays, Xfce doesn't see much active
development, so it doesn't change much. This means that it is more
stable in quite a few cases, though it may not interest those who
prefer something with modern features.

KDE: It is a modern desktop environment like GNOME, but it


resembles the user interface of Windows. Like GNOME, KDE also
has relatively modest hardware requirements, though not quite as
bad as GNOME. KDE features the Dolphin file manager, which is
respected by Linux users.

Cinnamon: It was originally created as a fork of GNOME, but it


has evolved into its own desktop environment with little GNOME
dependencies. Cinnamon offers a more traditional style of desktop,
with the modern feel of GNOME.

MATE: It is a continuation of the older 2.x versions of GNOME.


As such, MATE runs well on older machines and sees more
development than Xfce. It may not be as stable as Xfce, but it is close.

LXDEL: It is also a good choice for older computers, and it is similar


to Xfce but not as popular.

[ 31 ]

Setting up Your Environment

Other than the desktop environment choice, it's recommended to select SSH
server from this list. Web server can also be chosen, but you may as well wait
until we come to the part of the book in which Apache is discussed, as we'll
walk through the installation.

Debian software selection

[ 32 ]

Chapter 1

24. Make your selections and then wait for the rest of the installation procedure
to finish, as Debian installs the software you selected in the previous step.
Then, it's time to configure GRUB. GRUB is an acronym for Grand Unified
Bootloader and is necessary in order for us to boot our system. You'll be
asked whether you'd like to install GRUB into the master boot record (which
you more than likely will want to do), so ensure the Yes radio box is checked
and click on Continue.

GRUB configuration

[ 33 ]

Setting up Your Environment

25. Next, select a target on which GRUB should be installed. In most cases,
this will be /dev/sda.

GRUB target selection

[ 34 ]

Chapter 1

26. Whew! We are finally ready to reboot into our new Debian environment.
Click on Continue one last time and we're off to the races!

The final screen of the Debian installation process

[ 35 ]

Setting up Your Environment

Acquiring and installing CentOS 7


In this activity, we install CentOS 7 (which has far fewer steps than Debian).
To download an ISO, navigate to the following URL:
https://www.centos.org/download/

The DVD ISO link should satisfy our needs.


Just like with the Debian walkthrough, we'll need to either create a bootable disc or
flash drive to get the installation started. Unlike the Debian installer, now we need a
DVD-R disc, as the image will be too large to fit onto a CD-R.
If you're installing via a flash drive, the following URL from the CentOS wiki
describes the procedure:
http://wiki.centos.org/HowTos/InstallFromUSBkey

After you boot from your installation media perform the following steps:
1. You'll first see a screen asking you to select the language to be used during
installation. Choose your language and click on Continue.

Language selection during CentOS installation

[ 36 ]

Chapter 1

2. The next screen that appears is one of two main sections of the installation.
The items shown here (DATE & TIME, KEYBOARD, LANGUAGE
SUPPORT, INSTALLATION SOURCE, SOFTWARE SELECTION,
INSTALLATION DESTINATION, and NETWORK & HOSTNAME) can
be completed in any order. As you can see in the screenshot, only one section
(INSTALLATION DESTINATION) is actually required. Basically, you can
go through each section listed and complete its task and then click on Begin
Installation when you're finished. If you choose not to complete a section,
its defaults will be used.

First main section of the CentOS installation procedure

[ 37 ]

Setting up Your Environment

3. For LANGUAGE SUPPORT, you'll choose your language. When finished,


click on the icon labeled Done on the top-left corner.

Language selection

[ 38 ]

Chapter 1

4. Don't skip the NETWORK & HOSTNAME section. By default, networking


isn't even enabled at all, so you can enable it by clicking on the toggle switch
next to your interface. Near the bottom, you can type in the desired host
name of your computer. When finished, click on Done.

Networking configuration during the CentOS installation

[ 39 ]

Setting up Your Environment

5. In the DATE & TIME section, you can set up your clock and location. Keep
in mind that if you didn't enable your network interface in the NETWORK &
HOSTNAME section, you'll be unable to utilize NTP.

Date and time configuration

[ 40 ]

Chapter 1

6. Completing the INSTALLATION DESTINATION section is compulsory.


Here, you will select which disk to install CentOS onto, as well as your
partitioning scheme. In this walkthrough, we'll select a disk and keep
the default partitions, but feel free to customize the partition scheme if
you prefer.

Disk configuration section of the CentOS installer

[ 41 ]

Setting up Your Environment

7. By default, CentOS will be a Minimal Install. This means that there will be
no graphical user interface, just the default packages. If you prefer, you can
opt for a desktop environment such as GNOME or KDE by selecting the
corresponding option.

CentOS software selection

8. After you click on Begin Installation, you'll be brought to the second main
section of the installation procedure while CentOS installs itself onto your
system in the background. This section is much smaller and has just two
steps. We'll set our root password and create a standard user account.

[ 42 ]

Chapter 1

CentOS user configuration

9. For the root password, choose something secure. A password meter will
show the presumed strength of the password. Click on Done when finished.

Root password entry

[ 43 ]

Setting up Your Environment

10. Finally, we'll create a standard user. On this screen, we'll enter the values in
the Full name and Username fields, and choose a strong value for Password.
You can also tick the box labeled Make this user administrator, if necessary.

CentOS user creation

11. Finally, when installation is complete, click on Reboot and we're all set.

Confirmation of a completed CentOS installation

With that out of the way, feel free to set up as many Linux installations as you may
need. In future chapters, we'll use these installations to configure networking and
advance our knowledge.

Summary
In this chapter, we worked through setting up our environment. We discussed
virtual machines and physical machines as network nodes, and we even set up a
Debian and CentOS installation or two.
Now that we've set up our environment, it's time to dive in and get started. In
Chapter 2, Revisiting Linux Networking Basics, we'll cover all the commands we'll need
for our journey, for example, configuring network interfaces, manually connecting to
networks, and setting up Network Manager. Stay tuned!

[ 44 ]

Get more information Mastering Linux Network Administration

Where to buy this book


You can buy Mastering Linux Network Administration from the
Packt Publishing website.
Alternatively, you can buy the book from Amazon, BN.com, Computer Manuals and most internet
book retailers.
Click here for ordering and shipping details.

www.PacktPub.com

Stay Connected:

You might also like