Cómo usar el comando IP en Linux con ejemplos
El comando ip que se utiliza para mostrar, configurar o manipular el enrutamiento, las interfaces de red y los túneles en los sistemas operativos Linux. Esto viene con colecciones de herramientas iproute2 que han reemplazado a las utilidades de net-tools.
Hemos usado tradicionalmente el comando ifconfig, que ahora está en desuso y ahora se recomienda usar las herramientas iproute2.
En este tutorial, revisaré ejemplos con explicaciones de cómo usar el comando ip para administrar su red TCP / IP de Linux.
1) Mostrar la dirección IP asignada en la interfaz
Puede usar el comando ip para recuperar la dirección IP, la dirección MAc y más información de una interfaz de red específica en su sistema Linux.
Suponiendo que desea obtener la IP de la interfaz ens160, ejecute el siguiente comando:
$ ip addr show dev ens160
o
$ ip addr show ens160
Output 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8000 qdisc mq state UP group default qlen 1000 link/ether 00:50:56:9a:f8:ad brd ff:ff:ff:ff:ff:ff inet 10.9.8.40/24 brd 10.9.8.255 scope global ens160 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:fe9a:f8ad/64 scope link valid_lft forever preferred_lft forever
Para mostrar todos los detalles de la interfaz, ejecute:
$ ip addr show
2) Asignar dirección IP a la interfaz
Para configurar una dirección IP para una interfaz específica, puede usar el comando de la siguiente manera:
$ sudo ip addr add 192.168.0.193/24 dev wlan0
Una vez que haya configurado la dirección IP, puede confirmarla ip addr show
, si los cambios han surtido efecto, ejecute el siguiente comando:
$ ip addr show wlan0
3) Establecer varias direcciones IP en la misma interfaz
En algunos casos, desea configurar varias direcciones IP en la misma interfaz de red. Puede hacerlo fácilmente con el comando ip ejecutando:
$ sudo ip addr add 10.9.8.40/24 dev ens160 $ sudo ip addr add 10.9.8.46/24 dev ens160
Para verificar que las direcciones IP estén asignadas a la interfaz de red ens160, ejecute el siguiente comando:
$ ip -4 addr show dev ens160
La salida indica que ens160 tiene dos direcciones IP:
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 inet 10.9.8.40/24 brd 10.9.8.255 scope global ens160 valid_lft forever preferred_lft forever inet 10.9.8.46/24 scope global secondary ens160 valid_lft forever preferred_lft forever
4) Eliminar la dirección IP en la interfaz
También puede usar el mismo procedimiento para eliminar una dirección IP simplemente reemplazando ‘agregar’ con ‘del’:
$ sudo ip addr del 192.168.0.193/24 dev wlan0
5) Mostrar tabla de enrutamiento
Algunas computadoras tienen múltiples puertas de enlace predeterminadas y puertas de enlace estáticas, para mostrar la ruta IP de la puerta de enlace predeterminada y la puerta de enlace estática. Básicamente, mostrará la tabla de enrutamiento actual:
$ ip route show
Para mostrar la ruta tomada para una dirección IP, ejecute el siguiente comando:
$ ip route get 10.42.0.47
Para obtener la dirección IP de la puerta de enlace predeterminada, ejecute el comando:
$ ip route | grep default
6) Cómo agregar una ruta estática
Puede usar el comando ip para agregar una ruta estática en el sistema Linux ejecutando el siguiente comando:
$ sudo ip route add 10.9.7.0/24 via 10.9.8.100 dev ens160
Para verificar el comando, ejecute:
$ ip r default via 10.9.8.100 dev ens160 proto static 10.9.7.0/24 via 10.9.8.100 dev ens160 10.9.8.0/24 dev ens160 proto kernel scope link src 10.9.8.40 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
Para agregar la puerta de enlace predeterminada, ejecute el comando:
$ sudo ip route add default via 192.168.0.196
7) Eliminar una ruta
Si desea eliminar una ruta de la tabla de enrutamiento, puede ejecutar el siguiente comando:
$ sudo ip route delete 10.9.7.0/24 via 10.9.8.100
Además, para eliminar la puerta de enlace predeterminada, ejecute el siguiente comando:
$ sudo ip route delete default
8) Mostrar estadísticas de la red
El comando ip también se puede utilizar para mostrar las estadísticas de las distintas interfaces de red. Para hacer esto puedes usar el comando ip con la opción -s
y luego especifique el dispositivo de red.
$ ip -s link
Cuando necesite obtener información sobre una interfaz de red en particular, agregue la opción ls
seguido del nombre de la interfaz de red. La opción -s
cuando se usa más de una vez le brinda más información sobre esa interfaz en particular. Esto puede resultar muy útil, especialmente a la hora de solucionar errores en la conectividad de la red.
$ ip -s -s link ls p2p1
9) entradas ARP
Con el comando ip puede ver la dirección MAC de los dispositivos conectados en su LAN usando la opción neigh o vecino.
$ ip neighbour
6) Monitorear los mensajes de netlink
También es posible ver los mensajes de netlink con el comando ip. La opción de monitor le permite ver el estado de sus dispositivos de red.
Por ejemplo, una computadora en su LAN podría clasificarse como ALCANZABLE o STALE dependiendo de su estado. El comando se puede utilizar de la siguiente manera:
$ ip monitor all
7) Habilitar y deshabilitar la interfaz de red
Para activar una interfaz en particular, puede usar el comando ip con opciones arriba y abajo, casi similar a cómo se usa ifconfig.
En este ejemplo, puede ver la entrada de la tabla de enrutamiento cuando se activa la interfaz ppp0 y después de que se desactiva y se activa una vez más. La interfaz puede ser wlan0 o eth0. Cambie ppp0 a cualquier interfaz que esté disponible en su caso.
$ sudo ip link set ppp0 down
$ sudo ip link set ppp0 up
8) Habilitar ACK retrasado de TCP
Desde el paquete RHEL 7.1 iproute se agregó soporte para TCP Delayed ACK. Utilice el siguiente comando para habilitarlo
$ ip route quickack
9) Cambiar la MTU en la interfaz
MTU significa METROmáximo Tremisión Unit: el tamaño más grande de los datos se puede transmitir a través de una interfaz de red. Suponiendo que desea cambiar la MTU de la interfaz de red ens160 a 8000, ejecute:
$ sudo ip link set mtu 8000 dev ens160
Verifique que el comando ip haya cambiado exitosamente la MTU de ens160:
$ ip -4 addr list ens160 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8000 qdisc mq state UP group default qlen 1000 inet 10.9.8.40/24 brd 10.9.8.255 scope global ens160 valid_lft forever preferred_lft forever
10) Ayuda del comando IP
En caso de que se quede atascado y no sepa cómo funciona una opción en particular, puede usar la opción de ayuda. La página de manual no brinda mucha información sobre cómo usar las opciones de ip y aquí es donde la ayuda viene al rescate.
Por ejemplo, para saber más sobre la opción de ruta:
$ ip route help
Conclusión
En este tutorial, aprendimos cómo usar el comando IP de Linux para mostrar y configurar redes en sistemas Linux. Es realmente una herramienta poderosa para cualquier administrador / usuario de Linux.
La hoja de referencia del comando ip muestra los comandos net-tools frente a los comandos iproute2.
Gracias por leer y deje su sugerencia en la sección de comentarios a continuación.