Puede configurar direcciones IP, interfaces de red y reglas de enrutamiento sobre la marcha con Linux ip mandar. Te mostraremos cómo puedes usar este reemplazo moderno del clásico (y ahora obsoleto) ifconfig.
¿De qué vamos a hablar?
- 1 Cómo funciona el comando ip
- 2 Uso de ip con direcciones
- 3 Mostrar solo direcciones IPv4 o IPv6
- 4 Mostrar información para una única interfaz
- 5 Agregar una dirección IP
- 6 Eliminación de una dirección IP
- 7 Uso de ip con interfaces de red
- 8 Inicio y detención de enlaces
- 9 Uso de ip con rutas
- 10 Mostrar información para una sola ruta
- 11 Agregar una ruta
- 12 Ruta tomada, no tomada raíz
Cómo funciona el comando ip
Con el ip comando, puede ajustar la forma en que una computadora Linux maneja direcciones IP, controladores de interfaces de red (NIC), y reglas de enrutamiento. Los cambios también tienen efecto inmediato: no tiene que reiniciar. El ip el comando puede hacer mucho más que esto, pero nos centraremos en los usos más comunes en este artículo.
El ip tiene muchos subcomandos, cada uno de los cuales funciona en un tipo de objeto, como direcciones IP y rutas. Hay, a su vez, muchas opciones para cada uno de estos objetos. Es esta riqueza de funcionalidad lo que le da a la ip comanda la granularidad que necesitas para realizar lo que pueden ser tareas delicadas. Esto no es un trabajo de hacha, requiere un conjunto de bisturíes.
Veremos los siguientes objetos:
- Dirección: Direcciones IP y rangos.
- Enlace: Interfaces de red, como conexiones por cable y adaptadores Wi-Fi.
- Ruta: Las reglas que administran el enrutamiento del tráfico enviado a
addressesa través de interfaces (links).
Uso de ip con direcciones
Obviamente, primero tienes que conocer la configuración con la que estás lidiando. Para descubrir qué direcciones IP tiene su equipo, utilice el comando ip comando con el objeto address. La acción predeterminada es show, que enumera las direcciones IP. También puede omitir show y abreviar address como “addr” o incluso “a”.
Los siguientes comandos son todos equivalentes:
ip address show
ip addr show
ip addr
ip a

Vemos dos direcciones IP, junto con mucha otra información. Las direcciones IP están asociadas con controladores de interfaz de red (NIC). El ip el comando intenta ser útil y también proporciona un montón de información sobre la interfaz.
La primera dirección IP es la dirección de bucle invertido (interna) utilizada para comunicarse dentro de la computadora. La segunda es la dirección IP real (externa) que tiene el equipo en la red de área local (LAN).
Vamos a desglosar toda la información que recibimos:
- lo: el nombre de la interfaz de red como una cadena.
- <LOOPBACK,UP,LOWER_UP>: Esta es una interfaz de bucle invertido. Es
UP, lo que significa que está operativo. El capa de red física (capa uno) también está arriba. - mtu 65536: La unidad de transferencia máxima. Este es el tamaño del mayor trozo de datos que esta interfaz puede transmitir.
- qdisc noqueue: Un
qdisces un mecanismo de cola. Programa la transmisión de paquetes. Existen diferentes técnicas de cola llamadas disciplinas. Elnoqueuedisciplina significa “enviar al instante, no hacer cola”. Este es el valor predeterminadoqdiscdisciplina para dispositivos virtuales, como la dirección de bucle invertido. - estado DESCONOCIDO: Esto puede ser
DOWN(la interfaz de red no está operativa),UNKNOWN(la interfaz de red está operativa pero no hay nada conectado), oUP(la red está operativa y hay una conexión). - grupo predeterminado: Las interfaces se pueden agrupar lógicamente. El valor predeterminado es colocarlos a todos en un grupo llamado “predeterminado”.
- qlen 1000: La longitud máxima de la cola de transmisión.
- enlace/bucle invertido: El control de acceso a medios (MAC) dirección de la interfaz.
- inet 127.0.0.1/8: La dirección IP versión 4. La parte de la dirección después de la barra diagonal (
/) es Notación de enrutamiento entre dominios sin clases (CIDR) que representa la máscara de subred. Indica cuántos bits contiguos principales se establecen en uno en la máscara de subred. El valor de ocho significa ocho bits. Ocho bits establecidos en uno representan 255 en binario, por lo que la máscara de subred es 255.0.0.0. - host de ámbito: El ámbito de la dirección IP. Esta dirección IP solo es válida dentro de la computadora (el “host”).
- lo: La interfaz con la que está asociada esta dirección IP.
- valid_lft: Vida útil válida. Para una dirección IP versión 4 asignada por Protocolo de configuración dinámica de host (DHCP), este es el período de tiempo que la dirección IP se considera válida y capaz de realizar y aceptar solicitudes de conexión.
- preferred_lft: Vida útil preferida. Para una dirección IP versión 4 asignada por DHCP, este es el amCon el tiempo, la dirección IP se puede utilizar sin restricciones. Esto nunca debe ser más grande que el
valid_lftvalor. - inet6: La dirección IP versión 6,
scope,valid_lftypreferred_lft.
La interfaz física es más interesante, como mostraremos a continuación:
- enp0s3: El nombre de la interfaz de red como una cadena. La “en” significa ethernet, “p0” es el número de bus de la tarjeta ethernet y “s3” es el número de ranura.
- <DIFUSIÓN, MULTIDIFUSIÓN, UP, LOWER_UP>: Esta interfaz soporta amplio- y Multidifusión, y la interfaz es
UP(operativo y conectado). La capa de hardware de la red (capa uno) también esUP. - mtu 1500: La unidad de transferencia máxima que admite esta interfaz.
- qdisc fq_codel: El programador está utilizando una disciplina llamada “Cola justa, retraso controlado”. Está diseñado para proporcionar una parte justa del ancho de banda a todos los flujos de tráfico que utilizan la cola.
- estado UP: La interfaz es operativa y está conectada.
- grupo predeterminado: Esta interfaz se encuentra en el grupo de interfaces “predeterminado”.
- qlen 1000: La longitud máxima de la cola de transmisión.
- enlace/éter: La dirección MAC de la interfaz.
- inet 192.168.4.26/24: La dirección IP versión 4. El “/24” nos dice que hay 24 bits principales contiguos establecidos en uno en la máscara de subred. Son tres grupos de ocho bits. Un número binario de ocho bits equivale a 255; por lo tanto, la máscara de subred es 255.255.255.0.
- brd 192.168.4.255: El dirección de difusión para esta subred.
- alcance global: La dirección IP es válida en todas partes de esta red.
- dinámico: La dirección IP se pierde cuando la interfaz se apaga.
- noprefixroute: No cree una ruta en la tabla de enrutamiento cuando se agregue esta dirección IP. Alguien tiene que agregar una ruta manualmente si quiere usar una con esta dirección IP. Del mismo modo, si se elimina esta dirección IP, no busque una ruta para eliminar.
- enp0s3: La interfaz con la que está asociada esta dirección IP.
- valid_lft: Vida útil válida. El tiempo en que la dirección IP se considerará válida; 86.240 segundos son 23 horas y 57 minutos.
- preferred_lft: Vida útil preferida. El tiempo en que la dirección IP funcionará sin ninguna restricción.
- inet6: La dirección IP versión 6,
scope,valid_lftypreferred_lft.
Mostrar solo direcciones IPv4 o IPv6
Si desea limitar la salida a las direcciones IP versión 4, puede utilizar el -4 opción, de la siguiente manera:
ip -4 addr

Si desea limitar la salida a las direcciones IP versión 6, puede utilizar el -6 opción, de la siguiente manera:
ip -6 addr

Mostrar información para una única interfaz
Si desea ver la información de la dirección IP para una sola interfaz, puede utilizar el show y dev y asigne un nombre a la interfaz, como se muestra a continuación:
ip addr show dev lo
ip addr show dev enp0s3

También puede utilizar el -4 o -6 para refinar aún más la salida para que solo vea aquello en lo que está interesado.
Si desea ver la información de IP versión 4 relacionada con las direcciones en la interfaz enp0s3, escriba el siguiente comando:
ip -4 addr show dev enp0s3

Agregar una dirección IP
Puede utilizar el add y dev opciones para agregar una dirección IP a una interfaz. Solo tienes que decirle al ip comando qué dirección IP agregar y a qué interfaz agregarla.
Vamos a agregar la dirección IP 192.168.4.44 a la enp0s3 interfaz. También tenemos que proporcionar la notación CIDR para la máscara de subred.
Escribimos lo siguiente:
sudo ip addr add 192.168.4.44/24 dev enp0s3

Escribimos lo siguiente para echar otro vistazo a las direcciones IP versión 4 en esta interfaz:
ip -4 addr show dev enp0s3

La nueva dirección IP está presente en esta interfaz de red. Saltamos a otro ordenador y usamos el siguiente comando para ver si podemos ping la nueva dirección IP:
ping 192.168.4.44

La dirección IP responde y devuelve los agradecimientos a los pings. Nuestra nueva dirección IP está en funcionamiento después de una simple ip mandar.
Eliminación de una dirección IP
Para eliminar una dirección IP, el comando es casi el mismo que el que se va a agregar una, excepto que se reemplaza add con del, como se muestra a continuación:
sudo ip addr del 192.168.4.44/24 dev enp0s3

Si escribimos lo siguiente para comprobarlo, vemos que se ha eliminado la nueva dirección IP:
ip -4 addr show dev enp0s3

Uso de ip con interfaces de red
Utiliza el link objeto para inspeccionar y trabajar con NEInterfaces twork. Escriba el siguiente comando para ver las interfaces instaladas en el equipo:
ip link show

Para ver una sola interfaz de red, simplemente agregue su nombre al comando, como se muestra a continuación:
ip link show enp0s3

Inicio y detención de enlaces
Puede utilizar el set opción con cualquiera de los dos up o down para detener o iniciar una opción de interfaz de red. También tienes que usar sudo, como se muestra a continuación:
sudo ip link set enp0s3 down

Escribimos lo siguiente para echar un vistazo a la interfaz de red:
ip link show enp0s3

El estado de la interfaz de red es DOWN. Podemos utilizar el up opción para reiniciar una interfaz de red, como se muestra a continuación:
sudo ip link set enp0s3 up

Escribimos lo siguiente para hacer otra comprobación rápida sobre el estado de la interfaz de red:
ip link show enp0s3

La interfaz de red se reinició y el estado se muestra como UP.
Uso de ip con rutas
Con el route objeto, puede inspeccionar y manipular rutas. Las rutas definen a dónde se reenvía el tráfico de red a diferentes direcciones IP y a través de qué interfaz de red.
Si el equipo o dispositivo de destino comparte una red con el equipo de envío, el equipo de envío puede reenviar el paquete directamente a él.
Sin embargo, si el dispositivo de destino no está conectado directamente, el equipo de envío reenvía el paquete al enrutador predeterminado. A continuación, el router decide a dónde enviar el paquete.
Para ver las rutas definidas en el equipo, escriba el siguiente comando:
ip route

Echemos un vistazo a la información que recibimos:
- predeterminado: La regla predeterminada. Esta ruta se usa si ninguna de las otras reglas coincide con lo que se está enviando.
- a través de 192.168.4.1: Enruta los paquetes a través del dispositivo en 192.168.4.1. Esta es la dirección IP del router predeterminado en esta red.
- dev enp0s3: Utilice esta interfaz de red para enviar los paquetes al router.
- proto dhcp: Identificador del protocolo de enrutamiento. DHCP significa que las rutas se determinarán dinámicamente.
- métrica 100: Una indicación de la preferencia de la ruta en comparación con otras. Las rutas con métricas más bajas se utilizan preferentemente sobre aquellas con métricas más altas. Puede usar esto para dar preferencia a una interfaz de red cableada sobre una Wi-Fi.
La segunda ruta rige el tráfico al rango IP de 169.254.0.0/16. Este es un red de configuración cero, lo que significa que intenta autoconfigurarse para la comunicación de intranet. Sin embargo, no puede usarlo para enviar paquetes fuera de la red inmediata.
El principio detrás de las redes de configuración cero es que no dependen de que DHCP y otros servicios estén presentes y activos. Sólo ellos necesita ver TCP/IP con el fin de autoidentificarse a cada uno de los otros dispositivos de la red.
Echemos un vistazo:
- 169.254.0.0/16: El rango de direcciones IP que rige esta regla de enrutamiento. Si el equipo se comunica en este intervalo de IP, esta regla se corta.
- dev enp0s3: La interfaz de red que utilizará el tráfico gobernado por esta ruta.
- vínculo de ámbito: El alcance es
link, lo que significa que el alcance se limita a la red a la que está conectado directamente este equipo. - métrica 1000: Esta es una métrica alta y no es una ruta preferida.
La tercera ruta rige el tráfico al rango de direcciones IP de 192.168.4.0/24. Este es el intervalo de direcciones IP de la red local a la que está conectado este equipo. Es para la comunicación a través, pero dentro de, esa red.
Vamos a desglosarlo:
- 192.168.4.1/24: El rango de direcciones IP que rige esta regla de enrutamiento. Si el equipo se comunica dentro de este intervalo de IP, esta regla desencadena y controla el enrutamiento de paquetes.
- dev enp0s3: La interfaz a través de la cual esta ruta enviará paquetes.
- proto kernel: La ruta creada por el kernel durante la configuración automática.
- enlace de alcance: El alcance es
link, lo que significa que el alcance se limita a la red inmediata a la que está conectado este equipo. - src 192.168.4.26: La dirección IP desde la que se originan los paquetes enviados por esta ruta.
- métrica 100: Esta métrica baja indica una ruta preferida.
Mostrar información para una sola ruta
Si desea centrarse en los detalles de una ruta en particular, puede agregar el list opción y rango de direcciones IP de la ruta al comando de la siguiente manera:
ip route list 192.168.4.0/24

Agregar una ruta
Acabamos de agregar una nueva tarjeta de interfaz de red a esta computadora. Escribimos lo siguiente y vemos que aparece como enp0s8:
ip link show

Añadiremos un nuevo route al ordenador para utilizar esta nueva interfaz. Primero, escribimos lo siguiente para asociar una dirección IP con la interfaz:
sudo ip addr add 192.168.121.1/24 dev enp0s8

Se agrega una ruta predeterminada utilizando la dirección IP existente a la nueva interfaz. Utilizamos el delete opción, como se muestra a continuación, para eliminar la ruta y proporcionar sus detalles:
sudo ip route delete default via 192.168.4.1 dev enp0s8

Ahora usaremos el add opción para añadir nuestra nueva ruta. La nueva interfaz manejará el tráfico de red en el rango de direcciones IP 192.168.121.0/24. Le daremos una métrica de 100; debido a que será la única ruta que manejará este tráfico, la métrica es bastante académica.
Escribimos lo siguiente:
sudo ip route add 192.168.121.0/24 dev enp0s8 metric 100

Ahora, escribimos lo siguiente para ver qué nos da:
ip route

Nuestra nueva ruta ya está en marcha. Sin embargo, todavía tenemos la ruta 192.168.4.0/24 que apunta a la interfaz enp0s8:escribimos lo siguiente para eliminarlo:
sudo ip route delete 192.168.4.0/24 dev enp0s8

Ahora deberíamos tener una nueva ruta que apunte todo el tráfico destinado al rango IP 192.168.121.0/24 a través de la interfaz enp0s8. También debería ser la única ruta que utilice nuestra nueva interfaz.
Escribimos lo siguiente para confirmar:
ip route

Ruta tomada, no tomada raíz
Lo bueno de estos comandos es que no son permanentes. Si desea borrarlos, simplemente reinicie su sistema. Esto significa que puede experimentar con ellos hasta que funcionen de la manera que desee. Y es algo muy bueno si haces un desastre terrible de tu sistema: un simple reinicio restaurará el orden.
Por otro lado, si quieres que los cambios sean permanentes, tienes que hacer un poco más de trabajo. Exactamente lo que varía dependiendo de la familia de distribución, pero todos implican cambiar los archivos de configuración.
De esta manera, sin embargo, puede probar los comandos de manejo antes de hacer que algo sea permanente.