Cómo usar el comando IP en Linux

27 feb 2021 7 min di lettura
Cómo usar el comando IP en Linux
Indice dei contenuti

Introducción

El ip es una poderosa herramienta para configurar interfaces de red que cualquier administrador de sistemas Linux debería conocer. Se puede usar para habilitar o deshabilitar interfaces, asignar y eliminar direcciones y rutas para administrar la caché ARP y mucho más.

En este tutorial, le mostraremos cómo usar el ip través de ejemplos prácticos y explicaciones detalladas de las opciones más comunes.

Cómo usar el comando ip

La ip es parte del paquete iproute2 instalado en todas las distribuciones modernas de Linux.

La sintaxis del ip es la siguiente:

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT es el tipo de objeto que desea manejar. Los objetos (o subcomandos) más utilizados son:

  • link ( l ): vea y edite interfaces de red.
  • address ( a ): vea y edite direcciones IP.
  • route ( r ): vea y modifique la tabla de enrutamiento.
  • neigh ( n ) - Ver y manipular objetos cercanos (tabla ARP).

El tema puede estar escrito en forma completa o abreviada (corta). Para ver una lista de comandos y argumentos para cada tipo de objeto, escriba ip OBJECT help para cada subcomando, ejemplo:

ip link help

Debería ver un mensaje de salida similar al siguiente:

Usage: ip link add [link DEV] [ name ] NAME
 [ txqueuelen PACKETS ]
 [ address LLADDR ]
 [ broadcast LLADDR ]
 [ mtu MTU ] [index IDX ]
 [ numtxqueues QUEUE_COUNT ]
 [ numrxqueues QUEUE_COUNT ]
 type TYPE [ ARGS ]...


 TYPE:= { vlan | veth | vcan | vxcan | dummy | ifb | macvlan | macvtap |
 bridge | bond | team | ipoib | ip6tnl | ipip | sit | vxlan |
 gre | gretap | erspan | ip6gre | ip6gretap | ip6erspan |
 vti | nlmon | team_slave | bond_slave | ipvlan | geneve |
 bridge_slave | vrf | macsec }

Al configurar interfaces de red, debe ejecutar comandos como root o usuario con privilegios de sudo. De lo contrario, el comando imprimirá RTNETLINK answers: Operation not permitted.

Las configuraciones establecidas con el ip no son persistentes. Una vez que el sistema se reinicia, todos los cambios se pierden. Para configuraciones permanentes, necesita editar los archivos de configuración específicos de la distribución o agregar comandos a un script de inicio.

Ver y editar direcciones IP

Cuando se trabaja con el addr, los comandos adoptan la siguiente forma:

ip addr [ COMMAND ] ADDRESS dev IFNAME

addr que se utilizan con más frecuencia show, add y del.

Ver información sobre todas las direcciones IP

Para ver una lista de todas las interfaces de red y su dirección IP asociada, escriba el siguiente comando:

ip addr show

La salida se verá así:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6::1/128 scope host
 valid_lft forever preferred_lft forever
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
 link/ether 96:00:00:19:12:df brd ff:ff:ff:ff:ff:ff
 inet 195.201.18.78/32 brd 195.201.18.78 scope global eth0
 valid_lft forever preferred_lft forever
 inet6 2a01:4f8:1c1c:c73d::1/64 scope global
 valid_lft forever preferred_lft forever
 inet6 fe80::9400:ff:fe19:12df/64 scope link
 valid_lft forever preferred_lft forever

Obtendrá el mismo resultado si escribe omitir los show y escribe: ip addr.

Si desea mostrar solo direcciones IP IPv4 o IPv6 ip -4 addr o ip -6 addr.

ip -4 addr

La salida se verá así:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
 inet 195.201.18.78/32 brd 195.201.18.78 scope global eth0
 valid_lft forever preferred_lft forever

Ver información sobre una única interfaz de red

Para obtener información sobre una interfaz de red específica, use ip addr show dev seguido del nombre del dispositivo. Por ejemplo, para consultar eth0, escriba:

ip addr show dev eth0

La salida se verá así:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
 link/ether 96:00:00:19:12:df brd ff:ff:ff:ff:ff:ff
 inet 195.201.18.78/32 brd 195.201.18.78 scope global eth0
 valid_lft forever preferred_lft forever
 inet6 2a01:4f8:1c1c:c73d::1/64 scope global
 valid_lft forever preferred_lft forever
 inet6 fe80::9400:ff:fe19:12df/64 scope link
 valid_lft forever preferred_lft forever

Asignar direcciones IP a una interfaz

Para asignar una dirección IP a una interfaz, use la siguiente sintaxis:

ip addr add ADDRESS dev IFNAME

Donde IFNAME es el nombre de la interfaz y ADDRESS es la dirección IP que desea asignar a la interfaz.

Para agregar la dirección 192.168.111.111 con netmask 24 al eth0, escriba:

sudo ip address add 192.168.111.111/24 dev eth0

Si tiene éxito, el comando no mostrará ningún resultado. Si la interfaz no existe, aparecerá Cannot find device "eth0".

Asignar varias direcciones IP a la misma interfaz

Con ip, se pueden asignar varias direcciones a la misma interfaz. Por ejemplo:

sudo ip address add 192.168.111.111/24 dev eth0
sudo ip address add 192.168.111.22/24 dev eth0

Para confirmar que las direcciones IP están asignadas, escriba ip -4 addr show dev eth0 o ip -4 a show dev eth0:

ip -4 addr show dev eth0

La salida se verá así:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
 inet 195.201.18.78/32 brd 195.201.18.78 scope global eth0
 valid_lft forever preferred_lft forever
 inet 192.168.111.111/24 scope global eth0
 valid_lft forever preferred_lft forever
 inet 192.168.111.22/24 scope global secondary eth0
 valid_lft forever preferred_lft forever

Eliminar /Eliminar una dirección IP de la interfaz

La sintaxis para eliminar una dirección IP de una interfaz es la siguiente:

ip addr dev ADDRESS dev IFNAME

IFNAME es el nombre de la interfaz y ADDRESS es la dirección IP que desea eliminar de la interfaz.

Para eliminar la dirección 192.168.111.111/24 del tipo de dispositivo eth0:

sudo ip address del 192.168.111.111/24 dev eth0

Ver y editar interfaces de red

Para administrar y ver el estado de las interfaces de red, use el objeto de link

Los comandos más utilizados cuando se trabaja con objetos de link show, set, add y del.

Ver información sobre interfaces de red

Para ver una lista de todas las interfaces de red, escriba el siguiente comando:

ip link show

La salida se verá así:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
 link/ether 96:00:00:19:12:df brd ff:ff:ff:ff:ff:ff

A diferencia de ip addr show, ip link show no imprimirá información sobre las direcciones IP asociadas con el dispositivo.

Para obtener información sobre una interfaz de red específica, use ip link show dev seguido del nombre del dispositivo. Por ejemplo, para consultar eth0 escriba:

ip link show dev eth0

La salida se verá así:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
 link/ether 96:00:00:19:12:df brd ff:ff:ff:ff:ff:ff

Cambiar el estado de la interfaz ARRIBA /ABAJO

Para habilitar o deshabilitar interfaces, use el ip link set dev seguido del nombre del dispositivo y el estado deseado:

ip link set dev {DEVICE} {up|down}

Por ejemplo, para poner en línea la interfaz eth0

ip link set eth0 up

Y para tomar si fuera de línea

ip link set eth0 down

Ver y editar la tabla de enrutamiento

Para asignar, eliminar y ver la tabla de enrutamiento del kernel, use el objeto route Los comandos que se utilizan con mayor frecuencia al trabajar con objetos de ruta son: list, add y del.

Ver la tabla de enrutamiento

Para obtener una lista de las entradas de la ruta del kernel, use uno de los siguientes comandos:

ip route
ip route list SELECTOR
ip route list SELECTOR

Si se usa sin un SELECTOR, enumerará todas las entradas de ruta en el kernel:

ip route list
default via 172.31.1.1 dev eth0
 172.31.1.1 dev eth0 scope link
 192.168.111.0/24 dev eth0 proto kernel scope link src 192.168.111.22

Para ver solo el enrutamiento de una red específica, por ejemplo, 172.17.0.0/16, escriba:

ip r list 192.168.111.0/24
192.168.111.0/24 dev eth0 proto kernel scope link src 192.168.111.22

Agregar una nueva ruta

Para agregar una nueva entrada a la tabla de enrutamiento, use el route add seguido del nombre de la red o del dispositivo.

Agregue una ruta a 192.168.111.0/24 través de la puerta de enlace a 192.168.111.1

ip route add 192.168.111.0/24 via 192.168.111.1

Agregue una ruta a 192.168.111.0/24 que se puede alcanzar en el dispositivo eth0.

ip route add 192.168.111.0/24 dev eth0

Para agregar una ruta predeterminada, use la palabra clave default El siguiente comando agregará una ruta predeterminada a través de la puerta de enlace local 192.168.111.1 que se puede alcanzar en el dispositivo eth0

ip route add default via 192.168.111.1 dev eth0

Eliminar una ruta

Para eliminar una entrada de la tabla de enrutamiento, use el route del. La sintaxis para eliminar una ruta es la misma que cuando se agrega.

El siguiente comando eliminará la ruta predeterminada:

ip route del default

Elimine una ruta para 192.168.111.0/24 a través de la puerta de enlace en 192.168.111.1

ip route del 192.168.111.0/24 via 192.168.111.1

Conclusión

A estas alturas, debería tener un buen conocimiento de cómo usar el ip en Linux. Para obtener más información sobre las otras opciones del comando ip

man ip

Para salir de la pantalla de ayuda, escriba q:

q

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.