Skip to main content

Module 9: Networking

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.

Pro TecMint Β· Root Plan
This Article is for Root Members
Join Root to read the full article and unlock everything

Full Access to Every Article, Course & Certification Track

Join thousands of Linux professionals who use Pro TecMint to advance their careers.

Ad-free access to all premium articles
All courses: Learn Linux, Bash, Golang, Ubuntu and more
RHCSA, RHCE, LFCS & LFCA certification prep
New courses added every month
Private Telegram community & priority support
Root Plan
$8/mo
or $59/year billed annually
Save $37 with annual plan
Start Reading This Article in the Next 60 Seconds
Join Root Plan β†’