LDP/LDP/guide/docbook/linux-ip/intro.xml

253 lines
10 KiB
XML

<!-- $Id$ -->
<preface id="intro">
<title>Introduction</title>
<para>
This guide is as an overview of the IP networking capabilities of linux
kernels 2.2 and 2.4. The target audience is any beginning
to advanced network administrator who wants practical examples
and explanation of rumoured features of linux.
As the Internet is lousy with documentation on the nooks and crannies of
linux networking support, I have tried
to provide links to existing documentation on IP networking with linux.
</para>
<para>
The documentation you'll find here covers kernels
2.2 and 2.4, although a good number of the examples and concepts may also
apply to older kernels. In the event that I cover a feature that is
only present or supported under a particular kernel, I'll identify which
kernel supports that feature.
</para>
<section id="intro-assumptions">
<title>Target Audience, Assumptions, and Recommendations</title>
<para>
I assume a few things about the reader. First, the reader has a basic
understanding (at least) of IP addressing and networking.
If this is not the case, or the reader has some trouble following my
networking examples, I have provided a section of
<link linkend="links-general-ip">links to IP layer tutorials and
general introductory documentation</link> in the appendix.
Second, I assume the reader is comfortable with command line tools
and the Linux, Unix, or BSD environments. Finally, I assume the
reader has working
network cards and a Linux OS. For assistance with Ethernet cards, the
there exists a good
<ulink url="http://www.tldp.org/HOWTO/Ethernet-HOWTO.html">Ethernet
HOWTO</ulink>.
</para>
<para>
The examples I give are intended as tutorial examples only. The user
should understand and accept the ramifications of using these examples
on his/her own machines. I recommend that before running any example on a
production machine, the user test in a controlled environment.
I accept no responsibility for damage, misconfiguration or
loss of any kind as a result of referring to this documentation.
Proceed with caution at your own risk.
</para>
<para>
This guide has been written primarily as a companion reference to IP
networking on Ethernets. Although I do allude to other link layer types
occasionally in this book, the focus has been IP as used in Ethernet.
Ethernet is one of the most common networking devices supported under
linux, and is practically ubiquitous.
</para>
<!--
<para>
A
<link linkend="glossary">glossary</link> accompanies this document to
explain networking and linux terms found in the text.
</para>
-->
</section>
<section id="intro-conventions">
<title>Conventions</title>
<para>
This text was written in
<ulink url="http://www.docbook.org/">DocBook</ulink> with
<ulink url="http://vim.sourceforge.net/"><command>vim</command></ulink>.
All formatting has been applied by
<ulink url="http://xmlsoft.org/XSLT/">xsltproc</ulink> based on
<ulink url="http://docbook.sourceforge.net/projects/xsl/">DocBook</ulink>
and
<ulink url="http://www.tldp.org/LDP/LDP-Author-Guide/usingldpxsl.html">LDP XSL
stylesheets</ulink>.
Typeface formatting and display
conventions are similar to most printed and electronically distributed
technical documentation. A brief summary of these conventions
follows below.
</para>
<para>
The interactive shell prompt will look like
</para>
<para>
<prompt>[root@hostname]# </prompt>
</para>
<para>
for the root user and
</para>
<para>
<prompt>[user@hostname]$ </prompt>
</para>
<para>
for non-root users, although most of
the operations we will be discussing will require root privileges.
</para>
<para>
Any commands to be entered by the user will always appear like
</para>
<para>
<userinput>{ echo "Hi, I am exiting with a non-zero exit code."; exit 1 }</userinput>
</para>
<para>
Output by any program will look something like this:
</para>
<para>
<computeroutput>Hi, I am exiting with a non-zero exit code.</computeroutput>
</para>
<para>
Where possible, an additional convention I have used is the suppression
of all hostname lookup. DNS and other naming based schemes often
confuse the novice and expert alike, particularly when the name resolver
is slow or unreachable. Since the focus of this guide is IP layer
networking, DNS names will be used only where absolutely unambiguous.
</para>
</section>
<section id="intro-bugs">
<title>Bugs and Roadmap</title>
<para>
Perhaps this should be called things that are wrong with this document,
or things which should be improved. See the
<filename>src/ROADMAP</filename> for notes on what is likely to be
forthcoming in subsequent releases.
</para>
<para>
The internal document linking, while good, but could be better.
Especially lame is the lack of an index. External links should
be used more commonly where appropriate instead of sending users
to the links page.
</para>
<para>
If you are looking for LARTC topics, you may find some LAR topics
here, but you should try the <ulink url="http://lartc.org/">LARTC
page</ulink> itself if you have questions that are more TC than LAR.
Consult <xref linkend="ax-links"/> for further references to available
documentation.
</para>
</section>
<section id="intro-note">
<title>Technical Note and Summary of Approach</title>
<para>
There are many tools available under linux which are also available under
other unix-like operating systems, but there are additional tools and
specific tools which are available only to users of linux. This guide
represents an effort to identify some of these tools. The most concrete
example of the difference between linux only tools and generally available
unix-like tools is the difference between the traditional
<command>ifconfig</command> and <command>route</command> commands,
available under most variants of unix, and the &iproute2;
command suite, written specificially for linux.
</para>
<para>
Because this guide concerns itself with the features, strengths, and
peculiarities of IP networking with linux, the &iproute2;
command suite assumes a prominent role. The &iproute2;
tools expose the strength, flexibility and potential of the linux
networking stack.
</para>
<para>
Many of the tools introduced and concepts introduced are also detailed
in other HOWTOs and guides available at
<ulink url="http://www.tldp.org/">The Linux Documentation
Project</ulink> in addition to many other places on the Internet and in
<link linkend="biblio">printed books</link>.
</para>
</section>
<section id="intro-closing">
<title>Acknowledgements and Request for Remarks</title>
<para>
As with many human endeavours, this work is made possible by the efforts
of others. For me, this effort represents
almost four years of learning and network administration. The knowledge
collected here is in large measure a repackaging of disparate
resources and my own experiences over time. Without the greater
linux community, I would not be able to provide this resource.
</para>
<para>
I would like to take this opportunity to make a plug for my employer,
<ulink url="http://www.securepipe.com/">SecurePipe, Inc.</ulink> which has
provided me stable and challenging employment for these (almost) four
years. SecurePipe is a managed security services provider specializing
in managed firewall, VPN, and IDS services to small and medium sized
companies. They offer me the opportunity to hone my networking skills
and explore areas of linux networking unknown to me. Thanks also to
SecurePipe, Inc. for hosting this cost-free on their servers.
</para>
<para>
Over the course of the project, many people have contributed suggestions,
modifications, corrections and additions. I'll acknowledge them briefly
here. For full acknowledgements, see
<filename>src/ACKNOWLEDGEMENTS</filename> in the DocBook source tree.
</para>
<anchor id="intro-acknowledgements"/>
<itemizedlist>
<listitem>
<para>
Russ Herrold, <emphasis>2002-09-22</emphasis>
</para>
</listitem>
<listitem>
<para>
Yann Hirou, <emphasis>2002-09-26</emphasis>
</para>
</listitem>
<listitem>
<para>
Julian Anastasov, <emphasis>2002-10-29</emphasis>
</para>
</listitem>
<listitem>
<para>
Bert Hubert, <emphasis>2002-11-14</emphasis>
</para>
</listitem>
<listitem>
<para>
Tony Kapela, <emphasis>2002-11-30</emphasis>
</para>
</listitem>
<listitem>
<para>
George Georgalis, <emphasis>2003-01-11</emphasis>
</para>
</listitem>
<listitem>
<para>
Alex Russell, <emphasis>2003-02-02</emphasis>
</para>
</listitem>
<listitem>
<para>
giovanni, <emphasis>2003-02-06</emphasis>
</para>
</listitem>
<listitem>
<para>
Gilles Douillet, <emphasis>2003-02-28</emphasis>
</para>
</listitem>
</itemizedlist>
<para>
Please feel free to point out any irregularities, factual errors,
typographical errors, or logical gaps in this
documentation. If you have rants or raves about this documentation,
please mail me directly at <email>mabrown@securepipe.com</email>.
</para>
<para>
Now, let's begin! Let me welcome you to the
pleasure and reliability of IP networking with linux.
</para>
</section>
</preface>