Ifconfig is used to configure the kernel-resident network interfaces.
It is used at boot time to set up interfaces as necessary. After
that, it is usually only needed when debugging or when system tuning
If no arguments are given, ifconfig displays the status of the
currently active interfaces. If a single interface argument is
given, it displays the status of the given interface only; if a
single -a argument is given, it displays the status of all
interfaces, even those that are down. Otherwise, it configures an
If the first argument after the interface name is recognized as the
name of a supported address family, that address family is used for
decoding and displaying all protocol addresses. Currently supported
address families include inet (TCP/IP, default), inet6 (IPv6), ax25
(AMPR Packet Radio), ddp (Appletalk Phase 2), ipx (Novell IPX) and
netrom (AMPR Packet radio). All numbers supplied as parts in IPv4
dotted decimal notation may be decimal, octal, or hexadecimal, as
specified in the ISO C standard (that is, a leading 0x or 0X implies
hexadecimal; otherwise, a leading '0' implies octal; otherwise, the
number is interpreted as decimal). Use of hexadecimal and octal
numbers is not RFC-compliant and therefore its use is discouraged.
-a display all interfaces which are currently available, even if
-s display a short list (like netstat -i)
-v be more verbose for some error conditions
The name of the interface. This is usually a driver name
followed by a unit number, for example eth0 for the first
Ethernet interface. If your kernel supports alias interfaces,
you can specify them with syntax like eth0:0 for the first
alias of eth0. You can use them to assign more addresses. To
delete an alias interface use ifconfig eth0:0 down. Note: for
every scope (i.e. same net with address/netmask combination)
all aliases are deleted, if you delete the first (primary).
up This flag causes the interface to be activated. It is
implicitly specified if an address is assigned to the
interface; you can suppress this behavior when using an alias
interface by appending an - to the alias (e.g. eth0:0-). It
is also suppressed when using the IPv4 0.0.0.0 address as the
kernel will use this to implicitly delete alias interfaces.
down This flag causes the driver for this interface to be shut
[-]arp Enable or disable the use of the ARP protocol on this
Enable or disable the promiscuous mode of the interface. If
selected, all packets on the network will be received by the
Enable or disable all-multicast mode. If selected, all
multicast packets on the network will be received by the
mtu N This parameter sets the Maximum Transfer Unit (MTU) of an
Set the remote IP address for a point-to-point link (such as
PPP). This keyword is now obsolete; use the pointopoint
Set the IP network mask for this interface. This value
defaults to the usual class A, B or C network mask (as derived
from the interface IP address), but it can be set to any
Add an IPv6 address to an interface.
Remove an IPv6 address from an interface.
Create a new SIT (IPv6-in-IPv4) device, tunnelling to the
Set the interrupt line used by this device. Not all devices
can dynamically change their IRQ setting.
Set the start address in I/O space for this device.
Set the start address for shared memory used by this device.
Only a few devices need this.
Set the physical port or medium type to be used by the device.
Not all devices can change this setting, and those that can
vary in what values they support. Typical values for type are
10base2 (thin Ethernet), 10baseT (twisted-pair 10Mbps
Ethernet), AUI (external transceiver) and so on. The special
medium type of auto can be used to tell the driver to auto-
sense the media. Again, not all drivers can do this.
If the address argument is given, set the protocol broadcast
address for this interface. Otherwise, set (or clear) the
IFF_BROADCAST flag for the interface.
This keyword enables the point-to-point mode of an interface,
meaning that it is a direct link between two machines with
nobody else listening on it.
If the address argument is also given, set the protocol
address of the other side of the link, just like the obsolete
dstaddr keyword does. Otherwise, set or clear the
IFF_POINTOPOINT flag for the interface.
hw class address
Set the hardware address of this interface, if the device
driver supports this operation. The keyword must be followed
by the name of the hardware class and the printable ASCII
equivalent of the hardware address. Hardware classes
currently supported include ether (Ethernet), ax25 (AMPR
AX.25), ARCnet and netrom (AMPR NET/ROM).
Set the multicast flag on the interface. This should not
normally be needed as the drivers set the flag correctly
The IP address to be assigned to this interface.
Set the length of the transmit queue of the device. It is
useful to set this to small values for slower devices with a
high latency (modem links, ISDN) to prevent fast bulk
transfers from disturbing interactive traffic like telnet too
Since kernel release 2.2 there are no explicit interface statistics
for alias interfaces anymore. The statistics printed for the original
address are shared with all alias addresses on the same device. If
you want per-address statistics you should add explicit accounting
rules for the address using the iptables(8) command.
Since net-tools 1.60-4 ifconfig is printing byte counters and human
readable counters with IEC 60027-2 units. So 1 KiB are 2^10 byte.
Note, the numbers are truncated to one decimal (which can by quite a
large error if you consider 0.1 PiB is 112.589.990.684.262 bytes :)
Interrupt problems with Ethernet device drivers fail with EAGAIN
(SIOCSIIFLAGS: Resource temporarily unavailable) it is most likely a
interrupt conflict. See http://www.scyld.com/expert/irq-conflict.html
for more information.
Ifconfig uses the ioctl access method to get the full address
information, which limits hardware addresses to 8 bytes. Because
Infiniband hardware address has 20 bytes, only the first 8 bytes are
displayed correctly. Please use ip link command from iproute2
package to display link layer informations including the hardware
While appletalk DDP and IPX addresses will be displayed they cannot
be altered by this command.
This page is part of the net-tools (networking utilities) project.
Information about the project can be found at
⟨http://net-tools.sourceforge.net/⟩. If you have a bug report for
this manual page, see ⟨http://net-tools.sourceforge.net/⟩. This page
was obtained from the project's upstream Git repository
⟨git://git.code.sf.net/p/net-tools/code⟩ on 2016-07-16. If you dis‐
cover any rendering problems in this HTML version of the page, or you
believe there is a better or more up-to-date source for the page, or
you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a mail
net-tools 2008-10-03 IFCONFIG(8)