Androide

Comando ip de Linux con ejemplos

Tutorial Básico Iptables

Tutorial Básico Iptables

Tabla de contenido:

Anonim

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

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

Cómo usar el comando ip

La utilidad ip forma parte del paquete iproute2 que se instala en todas las distribuciones modernas de Linux.

La sintaxis para el comando ip es la siguiente:

ip OBJECT COMMAND

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

  • link ( l ): muestra y modifica las interfaces de red. address ( a ): muestra y modifica las direcciones IP. route ( r ): muestra y modifica la tabla de enrutamiento. neigh ( n ): muestra y manipula objetos vecinos (tabla ARP).

El objeto se puede escribir en forma completa o abreviada (corta). Para mostrar una lista de comandos y argumentos para cada objeto, escriba ip OBJECT help . cada subcomando

Al configurar las interfaces de red, debe ejecutar los 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 comando ip no son persistentes. Después de reiniciar el sistema, se pierden todos los cambios. Para la configuración permanente, debe editar los archivos de configuración específicos de la distribución o agregar los comandos a un script de inicio.

Mostrar y modificar direcciones IP

Cuando se opera con el objeto addr los comandos toman la siguiente forma:

ip addr ADDRESS dev IFNAME

Los COMANDOS más utilizados del objeto addr son: show , add y del .

Mostrar información sobre todas las direcciones IP

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

ip addr show

La salida se verá más o menos así:

1: lo: 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever 1: lo: 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

1: lo: 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

Obtendrá el mismo resultado si escribe omite el comando show y escribe: ip addr .

Mostrar 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 , escribiría:

ip addr show dev eth0

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.121.45 con máscara de red 24 al dispositivo eth0 , escriba:

sudo ip address add 192.168.121.45/24 dev eth0

En caso de éxito, el comando no mostrará ningún resultado. Si la interfaz no existe, obtendrá Cannot find device "eth0" se Cannot find device "eth0" .

Asigna múltiples direcciones IP a la misma interfaz

Con ip , puede asignar múltiples direcciones a la misma interfaz. Por ejemplo:

sudo ip address add 192.168.121.241/24 dev eth0 sudo ip address add 192.168.121.45/24 dev eth0

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

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/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.121.45/24 del dispositivo eth0, escriba:

sudo ip address del 192.168.121.45/24 dev eth0

Mostrar y modificar 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 los objetos de link son: show , set , add y del .

Mostrar información sobre interfaces de red

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

ip link show

1: lo: 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: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff 1: lo: 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: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

1: lo: 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: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 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 , escribiría:

ip link show dev eth0

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

Alterar el estado de la interfaz ARRIBA / ABAJO

Para activar o desactivar las interfaces, utilice el ip link set dev seguido del nombre del dispositivo y el estado deseado:

ip link set dev {DEVICE} up

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

ip link set eth0 up

Y para traer si fuera de línea

ip link set eth0 down

Mostrar y alterar la tabla de enrutamiento

Para asignar, eliminar y mostrar la tabla de enrutamiento del núcleo, use el objeto de route . Los comandos más utilizados cuando se trabaja con los objetos de rutas son: list , add y del .

Mostrar tabla de enrutamiento

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

ip route ip route list ip route list SELECTOR

Cuando se usa sin un SELECTOR el comando enumerará todas las entradas de ruta en el núcleo:

ip route list

default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100

Para mostrar solo el enrutamiento de una red específica, por ejemplo, 172.17.0.0/16 , escribiría:

ip r list 172.17.0.0/16

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

Agregar una nueva ruta

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

Agregue una ruta a 192.168.121.0/24 a través de la puerta de enlace en 192.168.121.1

ip route add 192.168.121.0/24 via 192.168.121.1

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

ip route add 192.168.121.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.121.1 que se puede alcanzar en el dispositivo eth0 .

ip route add default via 192.168.121.1 dev eth0

Eliminar una ruta

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

El siguiente comando eliminará la ruta predeterminada:

ip route del default

Eliminar una ruta para 192.168.121.0/24 a través de la puerta de enlace en 192.168.121.1

ip route add 192.168.121.0/24 via 192.168.121.1

Conclusión

A estas alturas ya debe tener una buena comprensión de cómo usar el comando ip Linux. Para obtener más información sobre las otras opciones de ip , visite la página de comando man ip o escriba man ip en su terminal.

terminal ip