Búsqueda de sitios web

Guía de uso de ifconfig vs ip en Linux


Bienvenido a la guía de uso de ifconfig vs ip en Linux. Los comandos ifconfig e ip son principalmente útiles cuando se administran redes en sistemas Linux/Unix. El comando ip  existe desde hace un tiempo, pero la mayoría de la gente todavía utiliza ifconfig  para configuraciones de red diarias y resolución de problemas en Linux. En este artículo, intentaré brindarte los conceptos básicos que necesitas para dominar el comando ip  y mostraré una comparación entre los dos.

En pocas palabras, la herramienta ip debería reemplazar a ifconfig ya que ifconfig se considera obsoleto y no se está llevando a cabo ningún desarrollo activo. En sistemas Linux recientes, falta el comando ifconfig y se puede instalar desde < paquetenet-tools. La instalación en varios sistemas operativos se muestra a continuación.

Instalando ifconfig en Arch

En Arch Linux, la herramienta ifconfig la proporciona el paquete net-tools que se puede instalar usando los siguientes comandos.

$ sudo pacman -S net-tools
$ sudo pacman -Qi net-tools
Name : net-tools
Version : 1.60.20160710git-1
Description : Configuration tools for Linux networking
Architecture : x86_64
URL : http://net-tools.sourceforge.net/
Licenses : GPL2
.....

Para confirmar que la herramienta está instalada, simplemente emita el comando ifconfig en la terminal.

Instalación de ifconfig en Ubuntu

Si a su versión de Ubuntu le falta el comando ifconfig, puede instalarlo de la siguiente manera:

sudo apt-get install net-tools

Instalación de ifconfig en Fedora/CentOS

### CentOS ###
sudo yum install net-tools

### Fedora ###
sudo dnf install net-tools

Para el comando ip, si falta por algún motivo, también puede instalarlo.

Instalar el comando ip en Ubuntu

El comando ip en Ubuntu lo proporciona el paquete iproute2 que se puede instalar desde apt-get.

sudo apt-get install iproute2

Instalar el comando ip en CentOS/Fedora

El paquete que proporciona el comando ip es iproute, que se puede instalar o actualizar usando yum/dnf

sudo yum -y install iproute

Comparación de comandos ip e ifconfig

Para esta comparación, usaremos varios ejemplos para demostrar cómo se hacen las cosas con el comando ip y comandos similares usados con ifconfig. Dado que ambos comandos están disponibles en todas las distribuciones de Linux, puede seguir con lo que le resulte más cómodo. Si ha sido usuario de ifconfig  durante mucho tiempo, esta guía le presentará suficientes comandos para comenzar con ip tool.

En todos los ejemplos, cualquier comando con prefijo ifconfig es específico de la herramienta ifconfig y cualquier comando que comience con ip es específico de la herramienta de administración de red ip. Así que tenga esto en cuenta a medida que avanza.

Mostrar interfaces de red e información de dirección IP

Para obtener toda la información relacionada con la dirección IP usando ip/ifconfig, se utilizan estos comandos.

$ ifconfig
$ ip addr

Quitar/subir interfaz de red:

Si desea desactivar o abrir una interfaz, esto suele hacerse al modificar las configuraciones de red; puede utilizar los siguientes comandos. La interfaz eth0 se puede reemplazar con cualquier otro nombre de interfaz.

sudo ifconfig eth0  {up|down}
sudo ip link set dev eth0 {up|down}

Configure una IP estática y una máscara de red:

La configuración de IP estática se puede realizar usando ip o ifconfig. Pero tenga en cuenta que los cambios realizados con estos comandos no persisten tras los reinicios. Explore la configuración de IP estática usando la herramienta nmcli  o modificando el archivo de configuración de red en su distribución para cambios permanentes. Algunas guías disponibles en este blog son:

  • Configuración de una dirección IP estática en Ubuntu
  • Configuración de una dirección IP estática en CentOS

Ejemplo :

sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0
sudo ip addr add 192.168.1.10/34 dev eth0

Eliminar dirección IP estática:

Para borrar la información de la dirección IP de una interfaz, la sintaxis de los comandos es la siguiente para ambas herramientas:

sudo ifconfig eth0 del 192.168.1.10
sudo ip addr del 192.168.1.10/24 dev eth0

Establecer MTU de red

MTU es una abreviatura de unidad de transmisión máxima. En redes, este es el tamaño de la unidad de datos de protocolo de capa de red más grande que se puede comunicar en una sola transacción de red. En este ejemplo, se establece un tamaño de mtu de 1500 bytes. Los valores de MTU más altos son comunes para los servidores/sistemas de almacenamiento.

sudo ifconfig eth0 mtu 1500
sudo ip link set dev eth0 mtu 1500

Habilitar el modo promiscuo

El modo promiscuo es un modo de funcionamiento en red mediante el cual cada paquete de datos transmitido puede ser recibido y leído por un adaptador de red. Esto se utiliza a menudo para monitorear la actividad de la red.

sudo ifconfig eth0 promisc
sudo ip link set dev eth0 promisc on

Habilitar ARP

El Protocolo de resolución de direcciones es un protocolo de comunicación utilizado para descubrir la dirección de la capa de enlace asociada con una dirección IPv4 determinada, una función crítica en las redes informáticas de Protocolo de Internet. Para permitirle ejecutar los comandos:

sudo ifconfig eth0 arp
sudo ip link set dev eth0 arp on

Establecer dirección MAC

Los comandos ip e ifconfig pueden realizar cambios en tiempo de ejecución de la dirección MAC. En este ejemplo, configuramos la dirección MAC en  aa:bb:cc:dd:ee:ff. Tenga en cuenta que cada NIC tiene una dirección MAC fija que no se puede cambiar; no se recomienda cambiar la dirección MAC ya que puede causar problemas en la comunicación de la red de capa 2 si existe alguna colisión.

sudo ifconfig eth0 hw ether  aa:bb:cc:dd:ee:ff
sudo ip link set dev eth0 address aa:bb:cc:dd:ee:ff

Agregar ruta predeterminada a través de la IP de la puerta de enlace

Se puede configurar una ruta predeterminada usando los comandos ip e ifconfig para destinos sin rutas estáticas definidas.

sudo route add default gw 192.168.1.1
sudo ip route add default via 192.168.1.1

Establecer ruta estática

La ruta estática define un destino para una red específica. En este ejemplo, especificamos que todos los paquetes destinados a la red 192.168.3.0/24 deben pasar por la puerta de enlace 192.168.1.1. La interfaz de red para la puerta de enlace predeterminada es eth0.

sudo route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.1
sudo ip route add 192.168.3.0/24 via 192.168.1.1 dev eth0

En este blog está disponible una guía diferente para configurar rutas estáticas en Linux. Léalo para fortalecer los conocimientos ya acumulados aquí.

Ver vecinos (usando ARP y NDP):

Para verificar la tabla ARP, ejecute:

$ ip neighbor show

Muestra la ruta predeterminada actual.

$ ip route show | head -n 1

Eliminar gw predeterminado

Si ya no necesita la puerta de enlace predeterminada configurada y desea cambiarla, puede eliminar la configuración actual usando:

$ ip route del default via 62.12.113.1 dev eth1

Conclusión

Espero que esta guía: guía de uso de ifconfig vs ip en Linux haya sido útil para familiarizarse con las herramientas de línea de comandos de ip e ifconfig utilizadas para administrar redes en Linux. Si tiene comandos adicionales que podrían ser beneficiosos y no figuran en este tutorial, publíquelos en la sección de comentarios. Estaré feliz de actualizarlos aquí.

Más guías:

Crear y configurar redes puente para KVM en Linux