This article covers the main TCP/IP network configuration files used by Linux to configure various network services of the system such as IP Address, Default Gateway, Name servers - DNS, hostname and much more. Any Linux Administrator must be well aware where these services are configured and to use them. The good news is that most of the information provided on this article apply's to Redhat Fedora, Enterprise Linux, CentOS, Ubunto and other similar Linux distributions.
On most Linux systems, you can access the TCP/IP connection details within 'X Windows' from Applications > Others > Network Connections. The same may also be reached through Application > System Settings > Network > Configure. This opens up a window, which offers configuration of IP parameters for wired, wireless, mobile broadband, VPN and DSL connections:
The values entered here modify the files:
The static host IP assignment is saved in /etc/hosts
The DNS server assignments are saved in the /etc/resolv.conf
IP assignments for all the devices found on the system are saved in the ifcfg-<interface> files mentioned above.
If you want to see all the IP assignments, you can run the command for interface configuration:
Following is the output of the above command:[root@gateway ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:AB:21:3E
inet addr:192.168.1.18 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feab:213e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1550249 errors:0 dropped:0 overruns:0 frame:0
TX packets:1401847 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:167592321 (159.8 MiB) TX bytes:140584392 (134.0 MiB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:71833 errors:0 dropped:0 overruns:0 frame:0
TX packets:71833 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:12205495 (11.6 MiB) TX bytes:12205495 (11.6 MiB)
The command ifconfig is used to configure a network interface. It can be used to set up the interface parameters that are used at boot time. If no arguments are given, the command ifconfig displays the status of the currently active interfaces. If you want to see the status of all interfaces, including those that are currently down, you can use the argument -a, such as -
Fedora, Redhat Enterprise Linux, CentOS and other similar distributions supports user profiles as well, with different network settings for each user. The user profile and its parameters are set by the network-configuration tools. The relevant system files are placed in:
After boot-up, to switch to a specific profile you have to access a graphical tool, which will allow you to select from among the available profiles. You will have to run:
Or for activating the profile from the command line -
The Basic Commands for Networking
The basic commands used in Linux are common to every distro:
ifconfig - Configures and displays the IP parameters of a network interface
route - Used to set static routes and view the routing table
hostname - Necessary for viewing and setting the hostname of the system
netstat - Flexible command for viewing information about network statistics, current connections, listening ports
arp - Shows and manages the arp table
mii-tool - Used to set the interface parameters at data link layer (half/full duplex, interface speed, autonegotiation, etc.)
Many distro are now including the iproute2 tools with enhanced routing and networking tools:
ip - Multi-purpose command for viewing and setting TCP/IP parameters and routes.
tc - Traffic control command, used for classifying, prioritizing, sharing, and limiting both inbound and outbound traffic.
Types of Network Interface
LO (local loop back interface). Local loopback interface is recognized only internal to the computer, the IP address is usually 127.0.0.1 or 127.0.0.2.
Ethernet cards are used to connect to the world external to the computer, usually named eth0, eth1, eth2 and so on.
Network interface files holding the configuration of LO and ethernet are:
To see the contents of the files use the command:
Which results in:
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
And the following:
Which gives the following results:
Start and Stop the Network Interface Card
The ifconfig command can be used to start and stop network interface cards:
The ifup & ifdown command can also be used to start and stop network interface cards:
The systemctl commands can also be used to enable, start, stop, restart and check the status of the network interface services -
Displaying and Changing your System's Hostname
The command hostname displays the current hostname of the computer, which is 'Gateway':
You can change the hostname by giving the new name at the end of the command -
This will change to the new hostname once you have logged out and logged in again. In fact, for any change in the interfaces, the change is implemented only after the user logs in the next time after a log-out.
This concludes our Linux Network Configuration article.