Setting Up Network Interfaces in Linux

By | September 17, 2009

Nowadays computer provides us a great deal of opportunities (of course, the majority of users can easily go without many of them), but with no exaggerations “surfing the net” represents one of the most important and essential ones. People who use Linux OS argue that given operating system is perfect for Web. In fact it’s hardly possible to disagree with them; however before you can start surfing the web the first thing you need to do is to configure network interfaces.

What are the network interfaces? They represent devices that are used to transmit and receive packages of data. The examples of network interface devices are: Ethernet card, ISDN adapter, modem and etc. You can imagine that a network interface is a mailbox or an end of pipe, where you can send information and receive an answer. The integral attribute of network interface is address.

Generally users encounter with IP (Internet Protocol) networks. In the given review we are going to consider IPv4 (4th version of IP addresses), which are still very popular among the end users. After that we will discuss how to setup a network connection in Linux, taking as an example Ethernet card (which presents an interface allowing to connect a PC to the net with the help of copper twisted pair cable with the data transfer speed of up to 1GB/s). You can setup other interfaces in a similar way. To setup the interface in Linux the following steps should be completed:

  • Physical installation of the card in the system (we suppose you’ve already done this step or the interface is in the motherboard of your computer; moreover don’t forget to plug in the cable as well)
  • Installation of the proper drivers, so Linux can work with your card
  • Specifying IP address and some other parameters, which are needed for IP network

In Linux OS network interfaces (as the majority of other devices) are set up with the help of text files, which can vary depending on distributions, for example:

Distribution Interface and routing setting
Debian /etc/init.d/network
Ubuntu /etc/network/interfaces
Slackware /etc/rc.d/rc.inet1
RedHat /etc/sysconfig/network-scripts/ifup-<ifname>

We are going to review it by Ubuntu example.

All Linux network interfaces have unique alphanumeric identifiers. For Ethernet interfaces the identifier consists of “Eth” prefix and interface ordinal number, which is generally assigned by OS depending on the order of devices on PCI bus; however in some cases it can be changed. Linux can work (and, of course, assign an identifier) just with those devices, which have proper drivers installed. Run ifconfig command in the terminal. In case you see your network card in the list, it means that Linux installed the drivers. Here is the way a response you should get may look:

01 - ifconfig command

As you probably understood “eth0” means your network card. In case there are some network cards, for each one there will be an eth section with the order number.

Using dmesg | grep -i eth command you can specify the name of network interface that corresponds to your network card. Of course, it can be useful just in case you have several cards. Here is the way it looks:

02 - the name of interface

If you don’t see the card you need in the list, you will have to find and install the driver.

A driver is a small program that allows operating system to get the functionality of certain devices. Due to this fact the drivers for different operating systems differ from each other (still there are some exceptions, for instance, some drivers for Windows can be used in Linux as well).

In Linux drivers are implemented in the kernel by compilation or by installing special kernel module. Drivers are generally distributed in the same way as usual programs (in particular in the form of source code), but their installation may require some additional actions, thus it’s strongly recommended to get familiar with the README for a certain driver. The most probable sources for proper drivers are:

  • Webiste of device manufacturer
  • Website of your Linux distribution provider (in particular, update packages for Ubuntu, which include drivers, appear on a regular basis – drivers for some network cards you can find in the package linux-backports-modules-intrepid-generic).
  • Hackers or communities websites

The process of configuring network interface for working in IP networks includes defining the following parameters:

IP address of interface.  It represents 4 decimal numbers that are separated by periods. For example, 10.9.8.7. In case you connect your computer to an existing network, the address should be taken from network administrator; but if you create your own network, it’s recommended to choose IP address from special range: 10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255 and 192.168.0.0-192.168.255.255

Subnet mask (address mask). Given parameter is used to define the multitude of computer addresses, which are available in your network. If there is a necessity you can learn more here. In small networks the most common mask value is 255.255.255.0.

Gateway. If your network is going to have connection with other network (even with Internet), you need to define the address of routing computer (gateway), which is directly connected both with your network and the other one. All the data packages that are not masked by the above mentioned mask will be transferred to this router for redirection to the extranet.

Broadcast address. It’s used to send the data to all computers in your network at once. In most cases there is no need to specify it because the system can automatically calculate it.

DNS server address. It represents IP address of a server that transforms character names, which are convenient for users (for example, www.lampdocs.com, www.linux.com and etc), into appropriate IP addresses and vice versa. Generally such a server is maintained by your internet provider, moreover very often several servers are provided to ensure fault tolerance.

If the user wants to get rid of setting all the parameters, a special server can be created in the network – DHCP (Dynamic Host Configuration Protocol), which will automatically configure your network interface. Get in contact with the administrator of your network or your Internet provider to find out if there is a DHCP server. In case such a server doesn’t exist, you will need to specify all the settings manually; it’s not as hard to do and the procedure is almost the same as the one in Windows. Now we are going to show how you can do that in Ubuntu.

3 thoughts on “Setting Up Network Interfaces in Linux

  1. Pingback: PPPoE Connection | LAMPDocs

  2. C H Tan

    hello vadim:
    this is an excellent work for beginners.

    I’m using Ubuntu 8.40. But the system-preferences do not give a link to network connections! so, I’m not getting the graphical interface that you have shown. Am I missing something?

    Could you kindly clarify?

    Thanks very much.

    1. Vladimir Usenco

      Could you, please, specify, what are you exactly getting?

Comments are closed.