Modules, network interface configuration and routes
 


 

Linux TCP/IP Network Configuration Files:

 

File Description
/etc/resolve.conf List DNS servers for internet domain name resolution.
Manual page for: /etc/resolv.conf
/etc/hosts Lists hosts to be resolved locally (not by DNS).
Manual page for: /etc/hosts
/etc/nsswitch.conf List order of host name search. Typically look at local files, then NIS server, then DNS server.
Manual page for: /etc/nsswitch.conf
Red Hat/Fedora/CentOS: /etc/sysconfig/network Specify network configuration. eg. Static IP, DHCP, NIS, etc.
Red Hat/Fedora/CentOS: /etc/sysconfig/network-scripts/ifcfg-device Specify TCP network information.
Ubuntu/Debian: /etc/network/interfaces Specify network configuration and devices. eg. Static IP and info, DHCP, etc.

Fedora / Red Hat Network Configuration Files:

 

  • /etc/sysconfig/network

    Red Hat network configuration file used by the system during the boot process.

     

  • File: /etc/sysconfig/network-scripts/ifcfg-eth0
    Configuration settings for your first ethernet port (0). Your second port is eth1.

     

  • File:
    • /etc/modprobe.conf (kernel 2.6)
    • /etc/modules.conf (kernel 2.4)
    • (or for older systems: /etc/conf.modules)
    Example statement for Intel ethernet card:
    alias eth0 eepro100
        
    Modules for other devices on the system will also be listed. This tells the kernel which device driver to use if configured as a loadable module. (default for Red Hat)

 


Fedora / Red Hat Network GUI Configuration Tools:

The following GUI tools edit the system configuration files. There is no difference in the configuration developed with the GUI tools and that developed by editing system configuration files directly.

TCP/IP ethernet configuration:
  • Network configuration:
    /usr/sbin/system-config-network (FC-2/3) GUI shown here --->
    /usr/bin/redhat-config-network (/usr/bin/neat) (RH 7.2+ FC-1)
  • Text console configuration tool:
    /usr/sbin/system-config-network-tui (Text User Interface (TUI) for Fedora Core 2/3)
    /usr/bin/redhat-config-network-tui (RH 9.0 - FC-1)
  • Text console network configuration tool.
    First interface only - eth0: /usr/sbin/netconfig
  • /usr/bin/netcfg (GUI) (last available with RH 7.1)
Gnome Desktop:
  • Gnome Desktop Network Configuration
    /usr/bin/gnome-network-preferences (RH 9.0 - FC-3)
    Proxy configuration. Choose one of three options:
    1. Direct internet connection
    2. Manual proxy configuration (specify proxy and port)
    3. Automatic proxy configuration (give URL)

 

 


Assigning an IP address:

Computers may be assiged a static IP address or assigned one dynamically. Typically a server will require a static IP while a workstation will use DHCP (dynamic IP assignment). The Linux server requires a static IP so that those who wish to use its resources can find the system. It is more easily found if the IP address does not change and is static. This is not important for the Linux client workstation and thus it is easier to use an automated Dynamic Host Configuration Protocol (DHCP) for IP address assignment.

 

Static IP address assignment:

Choose one of the following methods:

  • Command Line:
        /sbin/ifconfig eth0 192.168.10.12 netmask 255.255.255.0 broadcast 192.168.10.255
        
    Network address by convention would be the lowest: 192.168.10.0
    Broadcast address by convention would be the highest: 192.168.10.255
    The gateway can be anything, but following convention: 192.168.10.1

    Note: the highest and lowest addresses are based on the netmask. The previous example is based on a netmask of 255.255.255.0

     

  • Red Hat / Fedora GUI tools:
    • /usr/bin/neat Gnome GUI network administration tool. Handles all interfaces. Configure for Static IP or DHCP client.
      (First available with Red Hat 7.2.)
    • /usr/bin/netcfg (Handles all interfaces) (last available in Red Hat 7.1)

     

  • Red Hat / Fedora Console tools:
    • /usr/sbin/system-config-network-tui (Text User Interface)
    • /usr/sbin/netconfig (Only seems to work for the first network interface eth0 but not eth1,...)

     

  • Directly edit configuration files/scripts. See format below.

The ifconfig command does NOT store this information permanently. Upon reboot this information is lost. Manually add the network configuration to /etc/sysconfig/network-scripts/ifcfg-eth0 (Red Hat/Fedora/CentOS) for the first NIC, ifcfg-eth1 for the second, etc, or /etc/network/interfaces (Ubuntu) as shown below. Any other commands you may want to add to the system boot sequence can be added to the end of the file /etc/rc.d/rc.local. The commands netcfg and netconfig make permanent changes to system network configuration files located in /etc/sysconfig/network-scripts/, so that this information is retained and used upon system boot.

The IANA has allocated IP addresses in the range of 192.168.0.0 to 192.168.255.255 for private networks.

Helpful tools:

 


Command line IP Configuration: ifconfig

ifconfig interface [aftype] options | address ...

where:

  • interface: eth0, eth1, eth2 represent the computer ethernet interfaces
  • aftype: inet (TCP/IP, default), inet6 (IPv6), ax25 (AMPR Packet Radio), ddp (Appletalk Phase 2), ipx (Novell IPX) or netrom (AMPR Packet radio)

Options:

Option Description
up Activate the interface. Implied if IP addresses are specified.
down Shut down interface
arp Enable ARP protocol on this interface. Allow ARP to detect the addresses of computer hosts attached to the network.
-arp Disable ARP protocol on this interface
promisc Enable promiscuous mode. Receive all packets on the network not just those destined for this interface.
-promisc Disable promiscuous mode.
mtu ## Specify the Maximum Transfer Unit (MTU) of the interface. The MTU is the maximum number of octets the interface is able to handle in a single transaction. Defaults: Ethernet: 1500 SLIP: 296
broadcast XXX.XXX.XXX.XXX Set the network broadcast address for this interface.
netmask XXX.XXX.XXX.XXX Set the IP network mask for this interface.
Man page: ifconfig

 


Ubuntu / Debian IP Configuration Files:

File: /etc/network/interfaces

Static IP example:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 208.88.34.106
        netmask 255.255.255.248
        broadcast 208.88.34.111
        network 208.88.34.104
        gateway 208.88.34.110
                

Dynamic IP (DHCP) example:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

auto eth2
iface eth2 inet dhcp

auto ath0
iface ath0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
                
Interfaces:
  • lo: Loopback interface (network within your system without slowing down for the real ethernet based network)
  • eth0: First ethernet interface card
  • wlan0: First wireless network interface

Also see "man interfaces"

 

Ubuntu GUI Network Tools:

  • /usr/bin/gnome-nettool (apt-get install gnome-nettool)
  • /usr/bin/network-admin (apt-get install gnome-network-admin)

 


Red Hat / Fedora Core IP Configuration Files:

The Red Hat configuration tools store the configuration information in the file /etc/sysconfig/network.
They will also allow one to configure routing information.