El comando ip
en Linux es una herramienta potente y versátil para gestionar y configurar interfaces de red, rutas y túneles. Proporciona una alternativa más moderna y flexible al comando ifconfig
, que ha sido tradicionalmente utilizado para estas tareas. A lo largo de este artículo, exploraremos cómo usar ip
, sus opciones más comunes y algunos ejemplos prácticos.
¿Qué es el comando ip
?
El comando ip
es parte del paquete iproute2, que incluye diversas herramientas de red avanzadas. Su principal función es gestionar configuraciones de red de forma dinámica, lo que lo hace adecuado tanto para administradores de sistemas como para usuarios avanzados que necesitan interactuar con la red en Linux.
Funcionalidades principales del comando ip
:
- Ver y gestionar interfaces de red.
- Mostrar y modificar rutas.
- Configurar direcciones IP.
- Manipular tablas de enrutamiento.
- Crear túneles de red.
Uso general del comando ip
El comando ip
sigue una estructura básica:
ip [opciones] [subcomando] [argumentos]
Por ejemplo, para ver todas las interfaces de red, el subcomando que usaríamos es addr
(dirección) de la siguiente manera:
ip addr
Opciones comunes del comando ip
A continuación, se presentan algunas de las opciones más comunes:
1. ip addr
o ip address
Este subcomando muestra la información sobre las interfaces de red y sus direcciones IP asociadas.
Ejemplo:
ip addr
Esto listará todas las interfaces de red con sus respectivas direcciones IP, máscaras de red, estado (UP/DOWN), etc.
2. ip link
Este subcomando se utiliza para ver y gestionar las interfaces de red. A diferencia de ip addr
, que muestra información sobre direcciones IP, ip link
se enfoca más en el estado físico de las interfaces.
Ejemplo:
ip link show
Esto muestra un listado de todas las interfaces de red, independientemente de si tienen una dirección IP asignada.
Para activar una interfaz:
ip link set dev eth0 up
Para desactivar una interfaz:
ip link set dev eth0 down
3. ip route
Este subcomando muestra y gestiona las tablas de enrutamiento del sistema. Es útil para verificar rutas predeterminadas y modificar rutas de red.
Ejemplo:
ip route show
Esto muestra la tabla de enrutamiento actual.
Para agregar una nueva ruta:
ip route add 192.168.1.0/24 via 192.168.1.1
Para eliminar una ruta:
ip route del 192.168.1.0/24 via 192.168.1.1
4. ip neigh
Este subcomando gestiona la tabla ARP (Address Resolution Protocol) en sistemas IPv4 y la tabla NDP (Neighbor Discovery Protocol) en sistemas IPv6. Estas tablas se encargan de resolver direcciones IP en direcciones MAC.
Ejemplo para ver la tabla ARP:
ip neigh
5. ip tunnel
Este comando permite configurar túneles de red. Se usa principalmente para configurar túneles IP sobre IP, útiles en conexiones VPN o en redes privadas.
Ejemplo para crear un túnel:
ip tunnel add tun0 mode gre remote 192.168.2.1 local 192.168.1.1 ttl 255
En este ejemplo, se crea un túnel GRE entre dos hosts, con las IP especificadas.
Ejemplos prácticos de uso
1. Asignar una dirección IP a una interfaz
Para asignar manualmente una dirección IP a una interfaz de red:
ip addr add 192.168.1.100/24 dev eth0
Este comando asigna la dirección IP 192.168.1.100
con una máscara de red de 24 bits a la interfaz eth0
.
2. Eliminar una dirección IP de una interfaz
Para eliminar una dirección IP previamente asignada:
ip addr del 192.168.1.100/24 dev eth0
3. Mostrar el estado de todas las interfaces de red
Para listar todas las interfaces de red junto con sus direcciones IP:
ip -s link
Este comando proporciona detalles sobre el estado físico de las interfaces (en bytes enviados y recibidos).
4. Cambiar la MTU (Maximum Transmission Unit) de una interfaz
Para cambiar la MTU de una interfaz, por ejemplo, para eth0
:
ip link set dev eth0 mtu 1400
5. Configurar una ruta por defecto
Para establecer una ruta predeterminada hacia una puerta de enlace:
ip route add default via 192.168.1.1
Este comando configura la IP 192.168.1.1
como la puerta de enlace predeterminada.
Conclusión
El comando ip
en Linux es una herramienta esencial para gestionar configuraciones de red de manera flexible y avanzada. Ya sea para ver el estado de las interfaces, gestionar rutas o configurar túneles, ip
proporciona un conjunto de funcionalidades robusto y actualizado en comparación con las herramientas más antiguas. Con su versatilidad y potencia, es indispensable para administradores de sistemas y usuarios que interactúan con redes en Linux.