Lesson 79: ifconfig Command
In this lesson, you'll learn how to use the ifconfig command to configure, manage, and query network interface parameters in Linux.
ifconfig (short for "interface configuration") is a utility for system/network administration in Unix/Linux operating systems to configure, manage, and query network interface parameters via the command-line interface or in system configuration scripts.
The ifconfig command is used for displaying current network configuration information, setting up an IP address, netmask, or broadcast address to a network interface, creating an alias for the network interface, setting up hardware address, and enabling or disabling network interfaces.
Let's cover some useful ifconfig commands with their practical examples, which might be very helpful to you in managing and configuring network interfaces in Linux systems.
ifconfig Command Syntax
$ ifconfig [INTERFACE] [OPTIONS]
ifconfig Command Options
| Option | Description |
|---|---|
| (no arguments) | Display all active network interfaces |
-a |
Display all network interfaces including inactive ones |
up or ifup |
Enable a network interface |
down or ifdown |
Disable a network interface |
netmask ADDR |
Assign a netmask to a network interface |
broadcast ADDR |
Assign a broadcast address to a network interface |
mtu N |
Set the Maximum Transmission Unit (MTU) for an interface |
promisc |
Enable promiscuous mode |
-promisc |
Disable promiscuous mode |
hw ether MAC |
Change the MAC address of a network interface |
1. List Network Interfaces
The ifconfig command with no arguments will display all the active network interface configuration details, including their assigned IP addresses, netmasks, and other relevant information.
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0B:CD:1C:18:5A
inet addr:172.16.25.126 Bcast:172.16.25.63 Mask:255.255.255.224
inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2341604 errors:0 dropped:0 overruns:0 frame:0
TX packets:2217673 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:293460932 (279.8 MiB) TX bytes:1042006549 (993.7 MiB)
Interrupt:185 Memory:f7fe0000-f7ff0000
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:5019066 errors:0 dropped:0 overruns:0 frame:0
TX packets:5019066 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2174522634 (2.0 GiB) TX bytes:2174522634 (2.0 GiB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.1.1.1 P-t-P:10.1.1.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
2. Display Information on All Network Interfaces
The ifconfig command with the -a argument will display information on all active or inactive network interfaces on the server. It displays the results for eth0, lo, sit0, and tun0.