Comando Ifconfig en Linux

La palabra ‘ifconfig’ significa configuración de interfaz. Ifconfig se usa en sistemas Linux y Unix para depurar, configurar y administrar interfaces de red desde el terminal.
Con el comando ifconfig puede asignar una dirección IP y una máscara de red, mostrar la configuración de la red (incluida la dirección de transmisión, la dirección mac, MTU), habilitar o deshabilitar una interfaz.
En este tutorial, aprendemos sobre el comando ifconfig y cómo configurar diferentes parámetros en la interfaz de red.
Sintaxis del comando Ifconfig
Comprobemos la sintaxis del comando ifconfig
ifconfig [...OPTIONS] [INTERFACE]
Explicaremos las diferentes opciones del comando ifconfig en la siguiente sección.
1) Mostrar toda la información de la interfaz de red
Si ejecuta el comando ifconfig sin ninguna opción, le dará el estado de todas las interfaces que están en estado activo. Desde la salida, podemos encontrar la dirección IP asignada y también muchos otros detalles de la interfaz.
La siguiente salida muestra ifconfig sin ninguna opción:
$ sudo ifconfig eth0 Link encap:Ethernet HWaddr 44:87:FC:A4:C5:DD inet addr:192.168.1.30 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::4687:fcff:fef4:458d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6053915 errors:0 dropped:11 overruns:0 frame:0 TX packets:757638 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:794654447 (757.8 MiB) TX bytes:2415435778 (2.2 GiB) Interrupt:17 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:3298 errors:0 dropped:0 overruns:0 frame:0 TX packets:3298 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:245808 (240.0 KiB) TX bytes:245808 (240.0 KiB)
Si desea ver toda la información de las interfaces (incluido el estado hacia arriba y hacia abajo), debe usar -a
opción.
$ sudo ifconfig -a
Puede verificar los detalles de la interfaz específica (digamos eth0) usando el siguiente comando:
$ sudo ifconfig eth0
Para mostrar una lista corta, utilice -s
opción.
$ sudo ifconfig -s Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 221107 0 0 0 310175 0 0 0 BMRU lo 65536 0 0 0 0 0 0 0 0 LRU
Nota: Si busca una dirección MAC vinculada a esa interfaz, puede encontrarla en la salida de ifconfig.
2) Habilite o deshabilite la interfaz de red
Para solucionar problemas o depurar, algunos administradores del sistema deben habilitar o deshabilitar la interfaz. El siguiente comando muestra para habilitar y deshabilitar una interfaz específica.
Para habilitar la interfaz eth0, ejecute el siguiente comando:
$ sudo ifconfig eth0 up
Para deshabilitar la interfaz eth0, ejecute el siguiente comando:
$ sudo ifconfig eth0 down
3) Asignar dirección IP y máscara de red a la interfaz de red
Para asignar una dirección IP a una interfaz (eth0), use la dirección IP seguida de un nombre de interfaz específico.
El siguiente comando establece la dirección IP ‘192.168.1.30’ en la interfaz ‘eth0’. El segundo comando establece la máscara de red ‘255.255.255.0’ en la interfaz ‘eth0’.
$ sudo ifconfig eth0 192.168.1.30 $ sudo ifconfig eth0 netmask 255.255.255.0
Puede configurar tanto la dirección IP como la máscara de red con un solo comando. El siguiente ejemplo configura eth0 con la dirección IP ‘192.168.1.30’ con la máscara de red ‘255.255.255.0’.
$ sudo ifconfig eth0 192.168.1.30 netmask 255.255.255.0
Si desea configurar la IP de transmisión en la interfaz, use ‘ifconfig eth0 broadcast 192.168.1.32’ como se muestra a continuación:
$ sudo ifconfig eth0 broadcast 192.168.1.32
4) Configure la dirección IPV6 en la interfaz de red
Para agregar una dirección ipv6 a una interfaz (etho), use el siguiente sintetizador:
ifconfig inet6 add ipv6address>/prefixlength
Por ejemplo,
$ sudo ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64
5) Cómo habilitar el protocolo ARP
ARP significa el protocolo de resolución de direcciones, se utiliza para la resolución de direcciones de capa de red en direcciones de capa de enlace.
Para habilitar arp en la interfaz eth0, use el siguiente comando:
$ sudo ifconfig eth0 arp
6) Cómo deshabilitar el protocolo ARP
Para deshabilitar ARP en la interfaz eth0, debe agregar un guión (-
) antes de arp
opción.
$ sudo ifconfig eth0 -arp
7) Cambiar la dirección MAC de la interfaz
Para cambiar la dirección MAC, primero debe deshabilitar la interfaz (NIC) y también asegurarse de que el proveedor de hardware admita esta función. Los comandos alternativos para cambiar la dirección mac son el comando ip y la utilidad ‘macchanger’.
El siguiente comando cambiará la dirección MAC de la interfaz (eth0) usando la opción hw ether
.
$ sudo ifconfig eth0 down $ sudo ifconfig eth0 hw ether 22:67:df:1c:11:4f $ sudo ifconfig eth0 up
8) Cómo habilitar el modo promiscuo
En modo promiscuo es un modo de funcionamiento en el que cada paquete de datos transmitido puede ser recibido y leído por un adaptador de red. El modo promisc está habilitado principalmente para monitorear el tráfico de la tarjeta de red a través del comando tcpdump o Wireshark.
El siguiente comando establece eth0 en modo promiscuo:
$ sudo ifconfig eth0 promisc
Para deshabilitar el uso del modo promiscuo -promisc
como sigue:
$ sudo ifconfig eth0 -promisc
9) Cambio de MTU
MTU significa Unidad de transmisión máxima, es el tamaño del bloque de datos más grande que se puede transmitir como una sola unidad, el valor predeterminado es 1500, puede cambiarlo como el siguiente ejemplo
$ sudo ifconfig eth0 mtu 1700
10) Agregar alias a la interfaz de red
Puede crear interfaces de red lógicas adicionales conocidas como alias mediante el comando ifconfig. El siguiente comando establece la interfaz de alias (eth0: 0) y la nueva dirección IP (192.168.1.31).
$ sudo ifconfig eth0:0 192.168.1.31
Puede eliminar el alias bajando la interfaz como se muestra a continuación:
$ sudo ifconfig eth0:0 down
Conclusión
En este tutorial, aprendimos cómo usar el comando ifconfig en Linux para ver y configurar los parámetros de la interfaz. Ifconfig es uno de los comandos obsoletos dentro de net-tools que no se ha mantenido durante muchos años. Las funcionalidades de muchos comandos se conservan con más funciones en la suite iproute2.