<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY knetworkconf "<application>KNetworkConf</application>">
  <!ENTITY kappname "&knetworkconf;">
  <!ENTITY package "kdeadmin">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>

<book lang="&language;">
<bookinfo>
<title>&kde; Network Configuration</title>

<authorgroup>
<author>
<firstname>Sean</firstname>
<surname>Wheller</surname>
<affiliation><orgname>
<ulink url="http://www.inwords.co.za">In Words Techdoc
Solutions</ulink>
</orgname> 
<address><email>sean@inwords.co.za</email></address>
</affiliation>
</author>
<author>
<firstname>Christoph</firstname>
<surname>Eckert</surname>
<affiliation>
<address><email>ce.at.christeck.de</email></address>
</affiliation>
</author>

<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>

<copyright>
<year>2005</year>
<holder>
<ulink url="http://www.inwords.co.za">In Words Techdoc
Solutions</ulink>
</holder>
<holder>Christoph Eckert</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<!-- FIXME: Revhistory is not used in KDE docs, we have revision control to -->
<!-- handle this retaining this for the first commit, to maintain history, -->
<!-- but it should be removed on the next edit -->
<!-- <revhistory>
<revision>
<revnumber>0.1</revnumber>
<date>March 18, 2005</date>
<revremark>Documented using 0.6.1-3ubuntu1 under Kubuntu. At
time of writing this version was not a release and was
therefore in &apos;Universe.&apos;</revremark>
</revision>
<revision>
<revnumber>0.2</revnumber>
<date>March 23, 2005</date>
<revremark>Merge upstream work by Christoph from r1.16 into
document.</revremark>
</revision>
</revhistory> -->

<date>2005-03-24</date>
<releaseinfo>1.0</releaseinfo>

<abstract>
<para>This manual explains how to install and use &knetworkconf;, a module for
&kcontrolcenter; that enables management of Network Interfaces, Routing and DNS
properties.</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdeadmin</keyword>
<keyword>network</keyword>
<keyword>ethernet</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title>Introduction</title>
<para>The &kcontrolcenter; provides users with a single
integrated interface from which to manage a wide variety of system and
desktop settings and preferences. &kcontrolcenter; can be started by selecting
<menuchoice><guimenu>K Menu</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem></menuchoice>.</para>

<para>The &knetworkconf; package was developed to enable users to manage TCP/IP
networking settings in the same way they manage other system settings from
&kcontrolcenter;. Tasks enabled by &knetworkconf; provide users with a simple
interface from which to perform the following tasks:</para>

<itemizedlist>
<listitem>
<para>Apply IP addresses to interfaces </para>
</listitem>
<listitem>
<para>Apply netmasks to interfaces </para>
</listitem>
<listitem>
<para>Start and stop interface activities </para>
</listitem>
<listitem>
<para>Configure Routing </para>
</listitem>
<listitem>
<para>Configure Host- and Domain Name </para>
</listitem>
<listitem>
<para>Configure Resolving </para>
</listitem>
<listitem>
<para>Manage known hosts </para>
</listitem>
</itemizedlist>

<para>Once installed a new module called <guimenuitem>Network
Settings</guimenuitem> is displayed in the &kcontrolcenter;.
To start the <application>Network Settings</application> (&knetworkconf;) module select <menuchoice>
<guimenuitem>&kcontrolcenter;</guimenuitem> <guimenuitem>Internet &amp; Network</guimenuitem>
<guimenuitem>Network Settings</guimenuitem> </menuchoice> in the &kmenu;.</para>

<mediaobject>
<imageobject>
<imagedata fileref="11.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>&knetworkconf; in user mode</phrase>
</textobject>
</mediaobject>

<para>It is important to understand that &knetworkconf; cannot install
networking hardware. As such physical devices and their drivers must be
properly installed and configured in order for &knetworkconf; to display the
device and enable management of networking properties.</para>

<para>In most cases drivers for networking hardware and other devices are
installed and configured while installing &Linux;. If you add networking
hardware after installation, you will have to define the drivers to be
loaded by editing one of the following files depending on your kernel
version:</para>

<variablelist>
<varlistentry>
<term>&Linux; Kernel 2.4 and lower</term>
<listitem>
<para>
<filename class="devicefile"
>/etc/modules.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&Linux; Kernel 2.6 and higher</term>
<listitem>
<para>
<filename class="devicefile"
>/etc/modprobe.conf</filename>
</para>
</listitem>
</varlistentry>
</variablelist>
</chapter>

<chapter id="using-the-module">
<title>Using the Network Settings Module</title>

<para>The <application>Network Settings</application> module is loaded when
the <guibutton>Network Settings</guibutton> option is selected in the
&kcontrolcenter; index. When started the <application>Network
Settings</application> module attempts to automatically detect the platform
running on the system.</para>

<screenshot>
<screeninfo>Detecting the platform</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="02.png"
format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<para>When the platform is not a recognized you will be prompted to manually
select the platform. Select a platform from the list that most closely
corresponds to your distro and its release.  Check the <guibutton>Don't ask
again</guibutton> option to make this choice permanent. Next time
<guibutton>Network Settings</guibutton> is started the system will
automatically default to the selected platform option.</para>

<!--FIXME: several screenshots that were linked in this doc are missing-->
<!--screenshot>
<screeninfo>Selecting a platform</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="figures/knetwork-conf-select-platform.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>Selecting a platform</phrase>
</textobject>
</mediaobject>
</screenshot-->

<para>To manage the system network settings you must enter
<quote>administrator mode.</quote> Prior to this all options will be
<quote>grayed,</quote> meaning you can only navigate the interface and view
properties. Editing is disabled. To enter <quote>administrator mode</quote>
click the <guibutton>Administrator Mode</guibutton> button located bottom
left of the module. Enter your password when prompted.</para>

<screenshot>
<screeninfo>&knetworkconf; in administrator mode</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="01.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>&knetworkconf; in administrator mode</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>Once in <quote>administrator mode</quote> all the modules
functionality is enable. Functionality is organized into three tabs:</para>

<itemizedlist>
<listitem>
<para>
<xref linkend="network-interfaces"/>
</para>
</listitem>
<listitem>
<para>
<xref linkend="route"/>
</para>
</listitem>
<listitem>
<para>
<xref linkend="dns"/>
</para>
</listitem>
</itemizedlist>

<sect1 id="network-interfaces">
<title>Managing Network Interfaces</title>

<para>The <guibutton>Network Interfaces</guibutton> tab is used to manage
the network communications devices installed on the system. All available
networking devices are listed. From the <guibutton>Network
Interfaces</guibutton> tab the following tasks can be accomplished:</para>

<itemizedlist>
<listitem>
<para>
<xref linkend="configure-interface"/>
</para>
</listitem>
<listitem>
<para>
<xref linkend="enable-interface"/>
</para>
</listitem>
<listitem>
<para>
<xref linkend="disable-interface"/>
</para>
</listitem>
</itemizedlist>

<mediaobject>
<imageobject>
<imagedata
fileref="03.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>The &knetworkconf; interface</phrase>
</textobject>
</mediaobject>

<para>For each network device the following properties can be
viewed:</para>

<variablelist>
<varlistentry>
<!-- FIXME: Check punctuation of the GUI against the styleguide, and then -->
<!-- make sure the doc matches precisely, to aid translation -->
<term><guilabel>Interface</guilabel></term>
<listitem>
<para>Shows the name of the network interfaces. For example, eth0, eth1,
wlan0.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>IP Address</guilabel></term>
<listitem>
<para>Shows the currently assigned IP address.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Protocol</guilabel></term>
<listitem>
<para>Shows the boot protocol.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>State</guilabel></term>
<listitem>
<para>Shows the current state (up or down).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Comment</guilabel></term>
<listitem>
<para>Shows the (freely assignable) comment.</para>
</listitem>
</varlistentry>
</variablelist>

<sect2 id="configure-interface">
<title>Configuring a Networking Device</title>

<para>The properties of listed network devices can be configured by
selecting the required device from the list then <action>clicking</action>
the <guibutton>Configure Interface...</guibutton> button to display the
<interface>Configure Device</interface> dialog.</para>

<screenshot>
<screeninfo>Configuring a networking device</screeninfo>
<mediaobject>
<imageobject>
<imagedata
fileref="04.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>Configuring a networking device</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>By default only basic TCP/IP settings are available. Click
the <guibutton>Advanced Settings</guibutton> button to
expand the dialog to include advanced properties.</para>

<mediaobject>
<imageobject>
<imagedata fileref="05.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>Advanced device configuration</phrase>
</textobject>
</mediaobject>

<para>Complete the dialog values are as follows:</para>
<variablelist>
<varlistentry>
<term>
<emphasis role="bold">Automatic</emphasis>
</term>
<listitem>

<para>Select the <guibutton>Automatic</guibutton> radio button when the
TCP/IP settings are obtained from a DHCP server or BOOTP server node. In
automatic mode the TCP/IP settings for the system are configured when the
system services are started. The DHCP or BOOTP server sends all the required
TCP/IP information each time the system is started, there is no need to
configure any other settings. Use the drop-list to select
<option>DHCP</option> or <option>BOOTP</option> according to your
system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Manual</guilabel></term>
<listitem>
<para>Select the <guibutton>Manual</guibutton> radio button when you do not
use DHCP or BOOTP for TCP/IP configuration. In the <guibutton>IP
address</guibutton> field enter the TCP/IP address of the host. In the
<guibutton>Netmask</guibutton> field enter the subnetwork address.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Activate when the computer starts</guilabel></term>
<listitem>
<para>When checked this option will cause the system to initialize this
network interface while the system is booting. If you do not want the device
initialized leave this option unchecked.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<guilabel>Description</guilabel>
</term>
<listitem>
<para>Enter a descriptive name.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<guilabel>Broadcast</guilabel>
</term>
<listitem>
<para>Enter the <quote>broadcast address</quote> used to communicate with
all hosts on the subnetwork.</para>
</listitem>
</varlistentry>
</variablelist>

<para>The values entered in this dialog will be displayed as the properties
of the device in the device list.</para>

<caution>
<para>Make certain that the IP-address entered is not already in use on the
network. Entering an IP-address that is already on the network will result
in a TCP/IP conflict. Use <application>ping</application> from &konsole; to
check if the address you want to enter is in use or not. If you are not sure
how to complete this dialog, consult your network administrator.</para>
</caution>

</sect2>

<sect2 id="enable-interface">
<title>Enabling a Network Device</title>

<para>Network devices may be enabled or disabled depending on system
requirements. To enable a disabled network device select the device from the
list then click <guibutton>Enable Interface</guibutton>.</para>

</sect2>

<sect2 id="disable-interface">
<title>Disabling Network Devices</title>

<para>Network devices may be enabled or disabled depending on system
requirements. To disable an enabled network device select the device from
the list then click <guibutton>Disable Interface</guibutton>.</para>

</sect2>
</sect1>

<sect1 id="route">
<title>Managing System Routing</title>

<para>The <guibutton>Routes</guibutton> tab enables management of
the system routing configuration.</para>

<mediaobject>
<imageobject>
<imagedata fileref="06.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>Advanced device configuration</phrase>
</textobject>
</mediaobject>

<variablelist>
<varlistentry>
<term><guilabel>Default Gateway</guilabel></term>
<listitem>
<para>This specifies the IP address of the host on the local subnetwork that
provides the physical connection to remote networks, and is used by default
when TCP/IP needs to communicate with computers on other subnetworks.</para>
<para>Select a device from the drop list to edit the <guibutton>Default
Gateway</guibutton> value.</para>
</listitem>
</varlistentry>
</variablelist>

<note>
<para>If your computer offers more than one network interface, select the
interface connected to network on which the gateway computer resides.</para>
</note>

</sect1>

<sect1 id="dns">
<title>Managing DNS Settings</title>

<para>The <guibutton>Domain Name System</guibutton> tab enables management
of the system DNS configuration.</para>

<mediaobject>
<imageobject>
<imagedata fileref="07.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>Advanced device configuration</phrase>
</textobject>
</mediaobject>

<variablelist>
<varlistentry>
<term><guilabel>Host name</guilabel></term>
<listitem>
<para>The name by which the host will be known on the subnetwork.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Domain name</guilabel></term>
<listitem>
<para>The network domain in which the host resides.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Domain Name Servers</guilabel></term>
<listitem>
<para>A list of DNS servers in order of preference (see <xref
linkend="manage-dns"/>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Static Hosts</guilabel></term>
<listitem>
<para>A list of known hosts on the subnetwork system (see <xref
linkend="manage-hosts"/>).</para>
</listitem>
</varlistentry>
</variablelist>

<sect2 id="manage-dns">
<title>Managing DNS Servers</title>

<para>A computer running DNS matches up a fully qualified domain with a
proper IP address. This is necessary because computers only understand the
IP addresses. When a computer requests http://www.somedomain.com the DNS
resolves this name to an IP-address such as 123.45.678.90.</para>

<para>The <guilabel>Domain Name Servers</guilabel> part of the
<guibutton>Domain Name System</guibutton> tab enables easy management of the
list. Server properties can be added, removed and edited. DNS records can be
arranged in order of preference by selecting a record and promoting or
demoting the record in the list using the <guibutton>Move Up</guibutton> or
<guibutton>Move Down</guibutton> buttons as required.</para>

<procedure>
<!-- Buggy. cant add alias but alias is required -->
<title>Adding a DNS server</title>
<step>
<para>From the <guilabel>Domain Name Servers</guilabel> group click the
<guibutton>Add...</guibutton> button.  The <guilabel>Add New DNS Server</guilabel>
dialog is displayed.</para>
<!--mediaobject>
<imageobject>
<imagedata
fileref="knetwork-conf-kcontrol-add-dns.png"
format="PNG"/>
</imageobject>
<textobject><phrase>Adding a DNS server</phrase></textobject>
</mediaobject-->
</step>

<step>
<para>Enter the IP-address of the DNS server then click
<guibutton>Add</guibutton>. The record is added to the DNS list.</para>
</step>
</procedure>

<procedure>
<!-- Buggy. no alias cant edit but alias is required -->
<title>Editing a DNS server record</title>
<step>
<para>From the <guilabel>Domain Name Servers</guilabel> group select a DNS
record then click the <guibutton>Edit...</guibutton> button. The
<guilabel>Edit Server</guilabel> dialog is displayed.</para>
<mediaobject>
<imageobject>
<imagedata
fileref="09.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>Editing a DNS server record</phrase>
</textobject>
</mediaobject>
</step>
<step>
<para>Modify the IP-address then click <guibutton>OK</guibutton>. The record
is updated to the DNS list.</para>
</step>
</procedure>
</sect2>

<sect2 id="manage-hosts">
<title>Managing Static (Known) Hosts</title>

<para>The <guilabel>Static Hosts</guilabel> list describes a number of
hostname-to-address mappings for the TCP/IP subsystem. It is mostly used at
boot time, when no name servers are running. On small, closed network
systems, it can be used instead of Domain Name Servers.</para>

<para>By default, the <guilabel>Static Hosts</guilabel> list contains some
records describing the &apos;localhost&apos; and a handful of special
records for hosts that support IPv6. This still-experimental version of IP
is destined to replace version 4.</para>

<procedure>
<title>Adding Static Hosts</title>
<step>
<para>Click the <guibutton>Add...</guibutton> button. The <guilabel>Add New 
Static Host</guilabel> dialog is displayed.</para>
<!--mediaobject>
<imageobject>
<imagedata
fileref="figures/knetwork-conf-kcontrol-statichost.png"
format="PNG"/>
</imageobject>
<textobject><phrase>Adding static hosts</phrase></textobject>
</mediaobject-->
</step>
<step>
<para>Enter the IP-address of the known host then click
<guibutton>Add...</guibutton>. The <guilabel>Add New Alias</guilabel> dialog is
displayed.</para>
<!--mediaobject>
<imageobject>
<imagedata
fileref="knetwork-conf-kcontrol-statichost-add.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>Adding a static host</phrase>
</textobject>
</mediaobject-->
</step>
<step>
<para>Enter the name of the known host then click the
<guibutton>Add</guibutton> button. If the known host has multiple aliases
click the <guibutton>Add</guibutton> button again and enter another
alias.</para>
</step>
<step>
<para>When finished click <guibutton>OK</guibutton> to update the Static
Hosts list.</para>
</step>
</procedure>

<procedure>
<title>Editing Static Hosts</title>
<step>
<para>Select a static host record from the list, then click the
<guibutton>Edit...</guibutton> button. The <guilabel>Edit Static
Host</guilabel> dialog is displayed.</para>
<!--mediaobject>
<imageobject>
<imagedata
fileref="figures/knetwork-conf-kcontrol-statichost-record-edit.png"
format="PNG"/>
</imageobject>
<textobject>
<phrase>Editing static hosts</phrase>
</textobject>
</mediaobject-->
</step>
<step>
<para>Perform any of the following tasks, then click
<guibutton>OK</guibutton> to update the Static Hosts list.</para>
<itemizedlist>
<listitem>
<para>To change the IP-address, enter a new IP-address, then click
<guibutton>OK</guibutton>.</para>
</listitem>
<listitem>
<para>To add a new alias, click the <guibutton>Add...</guibutton>
button.</para>
</listitem>
<listitem>
<para>To change an alias value, select the alias record, then click
<guibutton>Edit...</guibutton>.</para>
</listitem>
<listitem>
<para>To remove an alias, select an alias record then click
<guibutton>Remove</guibutton>.</para>
</listitem>
</itemizedlist>
</step>
</procedure>
</sect2>
</sect1>
</chapter>

<chapter id="applying-changes">
<title>Applying Changes</title>

<para>Changes made via the <application>Network Settings</application>
module are not automatically applied to the system environment. To apply the
changes made, start &konsole; and execute the
following command.</para>

<screen>
<userinput><command>/etc/init.d/networking</command> restart</userinput>
</screen>

</chapter>

<chapter id="installation">
<title>Installation</title>

<sect1 id="requirements">
<title>Requirements</title>

<para>You need &kde; 3.x and QT 3.x installed to use knetwork-conf. </para>
<para>knetwork-conf can be used with the following platforms: </para>

<itemizedlist>
<listitem>
<para>&kubuntu;</para>
</listitem>
<listitem>
<para>Conectiva</para>
</listitem>
<listitem>
<para>Debian</para>
</listitem>
<listitem>
<para>Fedora Core</para>
</listitem>
<listitem>
<para>FreeBSD</para>
</listitem>
<listitem>
<para>Gentoo</para>
</listitem>
<listitem>
<para>&Mandrake;</para>
</listitem>
<listitem>
<para>PLD</para>
</listitem>
<listitem>
<para>OpenNA</para>
</listitem>
<listitem>
<para>&RedHat;</para>
</listitem>
<listitem>
<para>&SuSE;</para>
</listitem>
</itemizedlist>
</sect1>

<sect1 id="how-to-obtain-knetwork-conf">
<title>How to obtain knetwork-conf</title>

<para>knetwork-conf's home page is at <ulink
url="http://knetworkconf.sourceforge.net"
>http://knetworkconf.sourceforge.net</ulink> where you at least can download
source packages. </para>
</sect1>

<sect1 id="installing-binaries">
<title>Installing binaries</title>

<para>When using the binary distributions (most often rpm packages), it is
enough to have the &kde; and QT binaries installed. </para> <para>Installing
binaries is recommended for less experienced users.  Simply download the rpm
packages. Install them from &konsole; using
<application>RPM</application> as follows:</para>

<para>
<command>rpm -i knetwork-conf-versionnumber.rpm</command>
</para>

<para>Alternatively, use a graphical front end like
                    <application>kpackage</application> or the installation
                    tool of your distribution. </para>
</sect1>

<sect1 id="compilation-and-installation">
<title>Compilation and Installation</title>

<para>In this case, it is not enough to have the binaries of QT and &kde;
installed; you also need the development packages which include libraries
and other stuff. </para>

<para>Recommended for advanced users only. Otherwise, compiling &knetworkconf;
is not difficult.  The following commands should do it.</para>

<screen>
./configure --prefix=$(kde-config --prefix)
make
make install
</screen>

<note>
<para>The command <command>make install</command> must be run as
root.</para>
</note>
<para>That should do it. Should you run into any problems, please
let us know.</para>
</sect1>
</chapter>

<chapter id="system-engineering">
<title>Technical Information</title> 

<para>In the first section of this chapter, you'll find some valuable
information about networking basics. In the second, all configuration files
on your disk which can be changed by &knetworkconf; will be discussed. </para>

<sect1 id="networking-overview">
<title>IPv4 Networking</title>

<para>This section cannot be a replacement for further lecture of
IP-Networking. In this appendix, you'll only find the basic information to
get you started integrating your machine into a small (home)
network. </para>

<para>Currently, IP-networking is done using TCP/IP version 4 (IPv4). IPv5
has never been used much. IPv6 is expected to get spread in the near
future. So, this manual is based on the currently most spread IPv4. </para>

<para>One of the most important information for setting up an interface is
the IP-address which you have to assign to the interface. In foreign
networks, &eg; your office, you have to ask the network administrator to
tell you a valid IP-address, or you can use DHCP if this is available. In
any case, you are not allowed to simply choose any IP-address! </para>

<para>If you want to set up a small (home) network of your own, you should
use IP-addresses from a range which has especially reserved for this purpose
to prevent IP-address-conflicts with the global (Internet) network. The
addresses from the table shown below are not routed in the Internet, so it
is safe to use them as you like. </para>

<para>Of course these machines can later be configured for Internet access
by using a gateway machine. </para>

<para>You can freely use the following addresses: </para>

<table id="private-ip-addresses">
<title>IP-Addresses for private networks</title>
<tgroup cols="2" align="char">
<thead>
<row>
<entry>Class</entry>
<entry>Range</entry>
</row>
</thead>
<tbody>
<row>
<entry>A</entry>
<entry>10.0.0.0 to 10.255.255.255</entry>
</row>
<row>
<entry>B</entry>
<entry>172.16.0.0 to 172.31.0.0</entry>
</row>
<row>
<entry>C</entry>
<entry>192.168.0.0 to 192.168.255.0</entry>
</row>
</tbody>
</tgroup>
</table>

<para>For smaller networks, the most often used addresses are these in the
range of 192.168.1.1 to 192.168.1.254. This is enough for networks up to
over 250 computers. </para>

<para>Furthermore, the netmask is most often set to 255.255.255.0, so that
all of these machines are members of the same subnet. </para>

<para>Some addresses are reserved for special things, &eg; 0.0.0.0 and
127.0.0.1. The first one is the so called default route, the second the
loopback address. The default route is needed by IP routing. </para>

<para>The network 127.0.0.1 is reserved for the IP-traffic which works on
the local machine only. Usually, the address 127.0.0.1 is assigned to a
special device, the so called loopback interface, which works like a closed
circle. </para> 

<para>A default gateway is a computer which connects two different
networks. If you have configured a small network of your own, it is most
likely that you want all (or some) of your machines to grant Internet
access. But this is not possible directly, because these machines use local
private IP-addresses, which are not routed in the Internet. The solution is
a computer which translates between the two different networks. This
computer uses at least two interfaces. One of them, maybe an Ethernet card,
points to the local network, the other one, maybe an ISDN card, points to
the Internet. In this case, both interfaces use different IP-addresses. This
computer performs a so called network address translation (NAT, aka
IP-forwarding). To enable a local machine the Internet access, you have only
to tell them the default gateway, the local IP-address of the
gateway-computer. </para>

</sect1>

<sect1 id="list-of-configuration-files">
<title>Configuration files</title>

<para>In this section you'll find the configuration files which are touched
by &knetworkconf; and where they reside in the file system of the different
distributions. </para>

<sect2 id="resolv.conf">
<title>resolv.conf</title>
<para>In this file, the list of name servers is stored. </para>
<table id="resolv.conf-table">
<title>Where to find resolv.conf</title>
<tgroup cols="3">
<thead>
<row>
<entry>Platform</entry>
<entry>Release number</entry>
<entry>Location</entry>
</row>
</thead>
<tbody>
<row>
<entry>Conectiva</entry>
<entry>9.2</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>Debian</entry>
<entry>3.0</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>Fedora Core</entry>
<entry>1</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>FreeBSD</entry>
<entry>5</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>Gentoo</entry>
<entry>2005.0</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>&Mandrake;</entry>
<entry>9.2</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>PLD</entry>
<entry>2.0</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>OpenNA</entry>
<entry>1.0</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>&RedHat;</entry>
<entry>9.0</entry>
<entry>/etc/resolv.conf</entry>
</row>
<row>
<entry>&SuSE;</entry>
<entry>9.0</entry>
<entry>/etc/resolv.conf</entry>
</row>
</tbody>
</tgroup>
</table>

<para>This file is sometimes dynamically changed by DSL-connections, so do
not wonder if the file doesn't contain what you have put there when a DSL
connection is established. </para>
</sect2>

<sect2 id="hosts">
<title>hosts</title>
<para>In this file, the list of known hosts is stored. </para>

<table id="hosts-table">
<title>Where to find the file hosts</title>
<tgroup cols="3">
<thead>
<row>
<entry>Distribution</entry>
<entry>Releasenumber</entry>
<entry>Location</entry>
</row>
</thead>
<tbody>
<row>
<entry>Conectiva</entry>
<entry>9.0</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>Debian</entry>
<entry>3.0</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>Fedora Core</entry>
<entry>1</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>FreeBSD</entry>
<entry>5</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>Gentoo</entry>
<entry>&nbsp;</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>&Mandrake;</entry>
<entry>9.2</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>PLD</entry>
<entry>2.0</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>OpenNA</entry>
<entry>1</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>&RedHat;</entry>
<entry>9.0</entry>
<entry>/etc/hosts</entry>
</row>
<row>
<entry>&SuSE;</entry>
<entry>9.0</entry>
<entry>/etc/hosts</entry>
</row>
</tbody>
</tgroup>
</table>

<para>On &SuSE; it is known that this file gets occasionally resorted by the
script SuSEconfig. So do not wonder if you do not find in a state you have
expected. </para>
</sect2>
</sect1>
</chapter>

<chapter id="credits-licence">
<title>Credits and license</title>
<sect1 id="credits">
<title>Credits</title> 

<para>Thanks to all who have worked on &kappname;:</para>

<itemizedlist>
<title>Developers</title>
<listitem>
<para>Juan Luis Baptiste
<email>juan.baptiste@kdemail.net</email></para>
</listitem>
<listitem>
<para>David Sansome <email>me@davidsansome.com</email></para>
</listitem>
<listitem>
<para>Carlos Garnacho <email>garnacho@tuxerver.net</email></para>
</listitem>
<listitem>
<para>Simon Edwards <email>simon@simonzone.com</email></para>
</listitem>
<listitem><para>Pedro Jurado Maquedo
<email>pjmelenas@biwemail.com</email></para>
</listitem>
<listitem>
<para>Florian Fernandez <email>florian.fernandez2@wanadoo.fr</email></para>
</listitem>
<listitem>
<para>Unai Garro <email>Unai.Garro@ee.ed.ac.uk</email></para>
</listitem>
<listitem>
<para>Christoph Eckert <email>mchristoph.eckert@t-online.de</email></para>
</listitem>
<listitem>
<para>Jaime Torres <email>jtorres@telecorp.net</email></para>
</listitem>
<listitem>
<para>All the others which I have forgotten to list here - you know who
you are <email>you@foo.tld</email></para>
</listitem>
</itemizedlist>

<itemizedlist>
<title>Authors</title>
<listitem>
<para>Christoph Eckert:
<email>mchristoph.eckert@t-online.de</email></para>
</listitem>
<listitem>
<para>Sean Wheller: <email>sean@inwords.co.za</email></para>
</listitem>
</itemizedlist>
</sect1>

<sect1 id="licence">
<title>License</title>

<para>The Copyright on &kappname;, at least for the years 2003 and 2004, is
owned by Juan Luis Baptiste:
(<email>juan.baptiste@kdemail.net</email>). </para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;
&underGPL;
</sect1>
</chapter>
</book>
