# &kde; Network Configuration

## Introduction

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 K Menu&kcontrolcenter;.

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:

- Apply IP addresses to interfaces

- Apply netmasks to interfaces

- Start and stop interface activities

- Configure Routing

- Configure Host- and Domain Name

- Configure Resolving

- Manage known hosts

Once installed a new module called Network Settings is displayed in the &kcontrolcenter;. To start the Network Settings (&knetworkconf;) module select &kcontrolcenter; Internet & Network Network Settings in the &kmenu;.

&knetworkconf; in user mode

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.

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:

&Linux; Kernel 2.4 and lower

- `/etc/modules.conf`

&Linux; Kernel 2.6 and higher

- `/etc/modprobe.conf`

## Using the Network Settings Module

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

Detecting the platform

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 Don't ask again option to make this choice permanent. Next time Network Settings is started the system will automatically default to the selected platform option.

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

&knetworkconf; in administrator mode &knetworkconf; in administrator mode

Once in administrator mode all the modules functionality is enable. Functionality is organized into three tabs:

- network-interfaces

- route

- dns

### Managing Network Interfaces

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

- configure-interface

- enable-interface

- disable-interface

The &knetworkconf; interface

For each network device the following properties can be viewed:

Interface

- Shows the name of the network interfaces. For example, eth0, eth1, wlan0.

IP Address

- Shows the currently assigned IP address.

Protocol

- Shows the boot protocol.

State

- Shows the current state (up or down).

Comment

- Shows the (freely assignable) comment.

#### Configuring a Networking Device

The properties of listed network devices can be configured by selecting the required device from the list then clicking the Configure Interface... button to display the Configure Device dialog.

Configuring a networking device Configuring a networking device

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

Advanced device configuration

Complete the dialog values are as follows:

Automatic

- Select the Automatic 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 `DHCP` or `BOOTP` according to your system.

Manual

- Select the Manual radio button when you do not use DHCP or BOOTP for TCP/IP configuration. In the IP address field enter the TCP/IP address of the host. In the Netmask field enter the subnetwork address.

Activate when the computer starts

- 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.

Description

- Enter a descriptive name.

Broadcast

- Enter the broadcast address used to communicate with all hosts on the subnetwork.

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

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 ping 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.

#### Enabling a Network Device

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 Enable Interface.

#### Disabling Network Devices

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 Disable Interface.

### Managing System Routing

The Routes tab enables management of the system routing configuration.

Advanced device configuration

Default Gateway

- 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.

  Select a device from the drop list to edit the Default Gateway value.

If your computer offers more than one network interface, select the interface connected to network on which the gateway computer resides.

### Managing DNS Settings

The Domain Name System tab enables management of the system DNS configuration.

Advanced device configuration

Host name

- The name by which the host will be known on the subnetwork.

Domain name

- The network domain in which the host resides.

Domain Name Servers

- A list of DNS servers in order of preference (see manage-dns).

Static Hosts

- A list of known hosts on the subnetwork system (see manage-hosts).

#### Managing DNS Servers

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.

The Domain Name Servers part of the Domain Name System 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 Move Up or Move Down buttons as required.

#### Adding a DNS server

1. From the Domain Name Servers group click the Add... button. The Add New DNS Server dialog is displayed.

2. Enter the IP-address of the DNS server then click Add. The record is added to the DNS list.

#### Editing a DNS server record

1. From the Domain Name Servers group select a DNS record then click the Edit... button. The Edit Server dialog is displayed.

   Editing a DNS server record

2. Modify the IP-address then click OK. The record is updated to the DNS list.

#### Managing Static (Known) Hosts

The Static Hosts 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.

By default, the Static Hosts list contains some records describing the 'localhost' and a handful of special records for hosts that support IPv6. This still-experimental version of IP is destined to replace version 4.

#### Adding Static Hosts

1. Click the Add... button. The Add New Static Host dialog is displayed.

2. Enter the IP-address of the known host then click Add.... The Add New Alias dialog is displayed.

3. Enter the name of the known host then click the Add button. If the known host has multiple aliases click the Add button again and enter another alias.

4. When finished click OK to update the Static Hosts list.

#### Editing Static Hosts

1. Select a static host record from the list, then click the Edit... button. The Edit Static Host dialog is displayed.

2. Perform any of the following tasks, then click OK to update the Static Hosts list.

   - To change the IP-address, enter a new IP-address, then click OK.

   - To add a new alias, click the Add... button.

   - To change an alias value, select the alias record, then click Edit....

   - To remove an alias, select an alias record then click Remove.

## Applying Changes

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

    /etc/init.d/networking restart

## Installation

### Requirements

You need &kde; 3.x and QT 3.x installed to use knetwork-conf.

knetwork-conf can be used with the following platforms:

- &kubuntu;

- Conectiva

- Debian

- Fedora Core

- FreeBSD

- Gentoo

- &Mandrake;

- PLD

- OpenNA

- &RedHat;

- &SuSE;

### How to obtain knetwork-conf

knetwork-conf's home page is at http://knetworkconf.sourceforge.net where you at least can download source packages.

### Installing binaries

When using the binary distributions (most often rpm packages), it is enough to have the &kde; and QT binaries installed.

Installing binaries is recommended for less experienced users. Simply download the rpm packages. Install them from &konsole; using RPM as follows:

`rpm -i knetwork-conf-versionnumber.rpm`

Alternatively, use a graphical front end like kpackage or the installation tool of your distribution.

### Compilation and Installation

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.

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

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

The command `make install` must be run as root.

That should do it. Should you run into any problems, please let us know.

## Technical Information

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.

### IPv4 Networking

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

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.

One of the most important informations for setting up an interface is the IP-address which you have to assign to the interface. In foreign networks, ⪚ 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!

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 save to use them as you like.

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

You can freely use the following addresses:

### IP-Addresses for private networks

Class | Range
A | 10.0.0.0 to 10.255.255.255
B | 172.16.0.0 to 172.31.0.0
C | 192.168.0.0 to 192.168.255.0

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.

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

Some addresses are reserved for special things, ⪚ 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.

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.

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.

### Configuration files

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.

#### resolv.conf

In this file, the list of name servers is stored.

#### Where to find resolv.conf

Platform | Release number | Location
Conectiva | 9.2 | /etc/resolv.conf
Debian | 3.0 | /etc/resolv.conf
Fedora Core | 1 | /etc/resolv.conf
FreeBSD | 5 | /etc/resolv.conf
Gentoo | 2005.0 | /etc/resolv.conf
&Mandrake; | 9.2 | /etc/resolv.conf
PLD | 2.0 | /etc/resolv.conf
OpenNA | 1.0 | /etc/resolv.conf
&RedHat; | 9.0 | /etc/resolv.conf
&SuSE; | 9.0 | /etc/resolv.conf

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.

#### hosts

In this file, the list of known hosts is stored.

#### Where to find the file hosts

Distribution | Releasenumber | Location
Conectiva | 9.0 | /etc/hosts
Debian | 3.0 | /etc/hosts
Fedora Core | 1 | /etc/hosts
FreeBSD | 5 | /etc/hosts
Gentoo |  | /etc/hosts
&Mandrake; | 9.2 | /etc/hosts
PLD | 2.0 | /etc/hosts
OpenNA | 1 | /etc/hosts
&RedHat; | 9.0 | /etc/hosts
&SuSE; | 9.0 | /etc/hosts

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.

## Credits and license

### Credits

Thanks to all who have worked on &kappname;:

### Developers

- Juan Luis Baptiste juan.baptiste@kdemail.net

- David Sansome me@davidsansome.com

- Carlos Garnacho garnacho@tuxerver.net

- Simon Edwards simon@simonzone.com

- Pedro Jurado Maquedo pjmelenas@biwemail.com

- Florian Fernandez florian.fernandez2@wanadoo.fr

- Unai Garro Unai.Garro@ee.ed.ac.uk

- Christoph Eckert mchristoph.eckert@t-online.de

- Jaime Torres jtorres@telecorp.net

- All the others which I have forgotten to list here - you know who you are you@foo.tld

### Authors

- Christoph Eckert: mchristoph.eckert@t-online.de

- Sean Wheller: sean@inwords.co.za

### License

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

&underFDL; &underGPL;