- Introducción
- Listado de comandos básicos de ip
- Mostrar dispositivos de red y su configuración
- Mostrar las direcciones IPv4 de una interfaz concreta
- Activar una interfaz de red
- Desactivar una interfaz de red
- Asignar una dirección IPv4 a una interfaz
- Eliminar una dirección IPv4 de una interfaz
- Asignar una dirección IPv6 a una interfaz
- Mostrar las direcciones IPv6 de una interfaz
- Borrar una dirección IPv6 de una interfaz
- Activar/Desactivar el modo promiscuo de la tarjeta de red
- Cambiar la MTU de la interfaz
- Cambiar la MAC de una interfaz de red
- Ver la tabla de rutas
- Crear una ruta por defecto
- Eliminar una ruta por defecto
- Ver la tabla ARP Cache de todas las interfaces
- Ver la tabla ARP Cache de una interfaz concreta
- Añadir una entrada en la tabla ARP
- Borrar una entrada en la tabla ARP
- Desconectar un dispositivo ARP
- Añadir direcciones MAC multicast
- Eliminar direcciones MAC multicast
- Ver direcciones MAC multicast
- Comprobación de rutas
- Borrar la caché de rutas
- Listado de comandos básicos de ss
- Linux man page
- Introducción (Volver al índice General)
El paquetenet-tools
al que pertenece ifconfig, es un conjunto de comandos para la configuración del subsistema de red del núcleo Linux y, aunque siguen presentes en algunas distribuciones de Linux, otras como Debian 9 stretch consideran quenet-tools
es un paquete obsoleto (deprecated) y optan por sustituirlo por el paqueteiproute2 suite
.iproute2 suite
es una herramienta mucho más completa y moderna quenet-tools
, por lo que se recomienda su uso para la gestión del del subsistema de red. Coniproute2 suite
podemos hacer lo mismo que connet-tools
y, al ser una suite más completa, podremos configurar más parámetros que connet-tools
. La suiteiproute2
incluye todas las funcionalidades que podemos llevar a cabo con los comandos del paquetenet-tools
. El paquetenet-tools
se compone de los siguientes comandos: netstat, ifconfig, ipmaddr, iptunnel, mii-tool, nameif, pliconfig, rarp, route, slattach y arp.El propósito de
iproute2 suite
es reemplazar el conjunto de herramientas que componen lasnet-tools
y encargarse de configurar las interfaces de red, la tabla de enrutamiento y gestionar la tabla ARP.iproute2 suite
tiene la misma funcionalidad quenet-tools
y, añade otras funcionalidades que convierten a GNU/Linux en un sistema de enrutamiento avanzado. Las herramientas que se incluyen en el paqueteiproute2 suite
son: bridge, devlink, ip, rtacct, rtmon, tc, tipc, ctstat, lnstat, nstat, routef, routel, rtstat, arpd y genl. Algunas de sus funcionalidades son: enrutamiento por origen, balanceo de carga, tunneling, gestión del ancho de banda, QoS (Quality of Service), VLAN switching, bridging, etc. - Listado de comandos básicos de ip (Volver al índice General)
A continuación mostramos una serie de ejemplos con el comando ip y en algunos casos su equivalente con ifconfig, route, netstat, ipmaddr o arp.
- Mostrar dispositivos de red y su configuración (Volver al índice General)
$ sudo ifconfig -a
Con
iproute2
, el siguiente comando nos da una salida similar aifconfig
.$ sudo ip addr list
o también:
$ sudo ip addr show
Con el siguiente, vemos la información en capa 2 (data link layer) del Modelo OSI:
$ sudo ip link show
- Mostrar las direcciones IPv4 de una interfaz concreta (Volver al índice General)
$ sudo ifconfig eth1
$ sudo ip addr show dev eth1
- Activar una interfaz de red (Volver al índice General)
$ sudo ifconfig eth0 up
$ sudo ip link set eth0 up
- Desactivar una interfaz de red (Volver al índice General)
$ sudo ifconfig eth0 down
$ sudo ip link set eth0 down
- Asignar una dirección IPv4 a una interfaz (Volver al índice General)
Conifconfig
:$ sudo ifconfig eth0 192.168.1.1/24
o también:
$ sudo ifconfig eth0 192.168.1.1 netmask 255.255.255.0
Con
iproute2
:$ sudo ip address add 192.168.1.1/24 dev eth0
iproute2
permite asignar múltiples direcciones IPv4 a una interfaz, cosa que no es posible hacer medianteifconfig
.$ sudo ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1 $ sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1 $ sudo ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1
Con
ifconfig
se puede asignar múltiples direcciones IPv4 mediante IP aliasing:# ifconfig eth0:1 10.0.0.1/24 $ sudo ifconfig eth0:2 10.0.0.2/24 $ sudo ifconfig eth0:3 10.0.0.3/24
- Eliminar una dirección IPv4 de una interfaz (Volver al índice General)
ifconfig
no puede hacer esto. La única forma es asignarle un 0:$ sudo ifconfig eth0 0
$ sudo ip addr del 192.168.1.1/24 dev eth0
- Asignar una dirección IPv6 a una interfaz (Volver al índice General)
IPv6 permite por su naturaleza asignar múltiples direcciones a una misma interfaz, lo que está soportado de forma nativa pornet-tools
y poriproute2
.$ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64 $ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64
$ sudo ip -6 addr add 2002:0db5:0:f102::1/64 dev eth1 $ sudo ip -6 addr add 2003:0db5:0:f102::1/64 dev eth1
- Mostrar las direcciones IPv6 de una interfaz (Volver al índice General)
$ sudo ifconfig eth1
$ sudo ip -6 addr show dev eth1
- Borrar una dirección IPv6 de una interfaz (Volver al índice General)
$ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64
$ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1
- Activar/Desactivar el modo promiscuo de la tarjeta de red (Volver al índice General)
$ sudo ip link set dev eth0 promisc on
$ sudo ip link set dev eth0 promisc off
- Cambiar la MTU de la interfaz (Volver al índice General)
$ sudo ip link set dev eth2 mtu 10000
- Cambiar la MAC de una interfaz de red (Volver al índice General)
Tanto conifconfig
como coniproute2
hay que deshabilitar la tarjeta de red antes de cambiar la MAC y luego volver a activarla.$ sudo ifconfig eth1 hw ether 08:00:27:75:2a:67
$ sudo ip link set dev eth1 address 08:00:27:75:2a:67
- Ver la tabla de rutas (Volver al índice General)
Connet-tools
:$ sudo route -n
o también:
$ sudo netstat -rn
Con
iproute2
:$ sudo ip route show
- Crear una ruta por defecto (Volver al índice General)
Connet-tools
:$ sudo route add default gw 192.168.1.2 eth0
Con
iproute2
:$ sudo ip route add default via 192.168.1.2 dev eth0
- Eliminar una ruta por defecto (Volver al índice General)
Connet-tools
:$ sudo route del default gw 192.168.1.1 eth0
Con
iproute2
:$ sudo ip route replace default via 192.168.1.2 dev eth0
- Ver la tabla ARP Cache de todas las interfaces (Volver al índice General)
$ sudo arp -an
$ sudo ip neigh
o también:
$ sudo ip neighbor show
- Ver la tabla ARP Cache de una interfaz concreta (Volver al índice General)
$ sudo ip neighbor show dev eth0
- Añadir una entrada en la tabla ARP (Volver al índice General)
$ sudo arp -i eth0 -s 192.168.0.1 00:11:22:33:44:55
$ sudo ip neigh add 192.168.0.1 lladdr 00:11:22:33:44:55 nud permanent dev eth0
- Borrar una entrada en la tabla ARP (Volver al índice General)
$ sudo arp -d 192.168.0.1
$ sudo ip neigh del 192.168.0.1 dev eth0
- Desconectar un dispositivo ARP (Volver al índice General)
$ sudo ifconfig -arp eth0
$ sudo ip link set dev eth0 arp off
- Añadir direcciones MAC multicast (Volver al índice General)
Connet-tool
s:$ sudo ipmaddr add 33:44:00:00:00:01 dev eth0
Con
iproute2
:$ sudo ip maddr add 33:44:00:00:00:01 dev eth0
- Eliminar direcciones MAC multicast (Volver al índice General)
Connet-tool
s:$ sudo ipmaddr del 33:44:00:00:00:01 dev eth0
Con
iproute2
:$ sudo ip maddr del 33:44:00:00:00:01 dev eth0
- Ver direcciones MAC multicast (Volver al índice General)
Connet-tool
s:$ sudo ipmaddr show dev eth0
o también:
$ sudo netstat -g
Con
iproute2
:$ sudo ip maddr list dev eth0
- Comprobación de rutas (Volver al índice General)
Mediante la opciónget
, podemos comprobar la resolución que da el algoritmo de resolución de rutas a la hora de seleccionar el siguiente salto hacia una determinada IP. Por ejemplo, ¿Qué ruta tomaría un paquete que debe llegar hasta la IP 8.8.4.4?$ sudo ip route get 8.8.4.4 8.8.4.4 via 192.168.218.2 dev eth0 src 192.168.218.129 cache
- Borrar la caché de rutas (Volver al índice General)
El kernel de GNU/Linux busca primero en una caché de rutas, que es una referencia rápida a la tabla de rutas. La caché de rutas se rellena en base paquetes previamente enrutados. Las entradas de la caché se van borrando periódicamente pero aun así, si se realiza algún cambio en la tabla de rutas, se pueden obtener resultados no deseados si no se borra la caché. Para ello se utiliza la opciónflush cache
.
Para poder consultar la caché actual:$ sudo ip route show cache broadcast 192.168.1.255 dev eth0 src 192.168.1.100 cache mtu 1500 advmss 1460 hoplimit 64 broadcast 192.168.1.255 from 192.168.1.100 dev eth0 cache mtu 1500 advmss 1460 hoplimit 64 local 192.168.1.100 from 80.58.32.33 dev lo src 192.168.1.100 cache iif eth0 80.58.32.33 from 192.168.1.100 via 192.168.1.1 dev eth0 cache mtu 1500 advmss 1460 hoplimit 64
Para borrar la caché:
$ sudo ip route flush cache
- Mostrar dispositivos de red y su configuración (Volver al índice General)
- Listado de comandos básicos de ss (Volver al índice General)
ss
se utiliza para volcar estadísticas sobre sockets. Permite mostrar información similar anetstat
.ss
muestra más información TCP y estado que otras herramientas. A continuación mostramos una serie de ejemplos con el comando ss y en algunos casos su equivalente con netstat.
- Ver estadísticas de sockets a la escucha (Volver al índice General)
Connet-tools
:$ sudo netstat
o también:
$ sudo netstat -l
Con
iproute2
:$ sudo ss
o también:
$ sudo ss -l
- Ver estadísticas de sockets TCP a la escucha sin resolución de nombres (Volver al índice General)
$ sudo netstat -ltn
$ sudo ss -ltn
- Ver estadísticas de sockets a la escucha (Volver al índice General)
- Linux man page (Volver al índice General)
Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
Lucas
Muy buena info, muchas gracias, hace tiempo que ando buscando info de como administrar mis conexiones de redes desde gnome y no había encontrado una solución concreta, con iproute2 lo puedo hacer fácilmente.
Gracias por la info!
Saludos
J. Carlos
No hay de qué Lucas.
Me alegro de que la info te sea de utilidad.
Saludos para ti también.