Gestión de Red con iproute2


Las net-tools se marcaron hace bastante tiempo como obsoletas, fue entonces cuando la suite de herramientas iproute2 que se encuentran más actualizadas y mejoran algunos aspectos además de añadir funciones que antes no podían hacerse han tomado por sorpresa a algunos usuarios que aún no se habían decidido a adaptarse.


Ha sido recientemente tras ir actualizando distribuciones a nuevas versiones han dejado de traer este software preinstalado por defecto y es cuando nos hemos visto obligados a utilizar las iproute2 en vez de las net-tools y con ello abandonar nuestro querido ifconfig que tanto tiempo nos ha acompañado.

Gestión de Red con iproute2


Gestión de Red con iproute2

Gestión Básica de la red



Listados de comandos básicos para establecer los parámetros necesarios de una conexión de red como puede ser la propia dirección, máscara de difusión, puerta de enlace por defecto…

Mostrar todos los dispositivos de red:



Hay distintas formas para mostrar las interfaces de red. Podéis probarlas ya que muestran de forma distinta los detalles cada una de ellas, elegid la que más os guste:


sudo ip a


sudo ip addr


sudo ip addr show


sudo ip addr list


sudo ip link show

Mostrar solo detalles de una interfaz de red



Sintaxis para mostrar los detalles de una interfaz, en los siguientes ejemplos usaré eth3


sudo ip a show eth3


sudo ip addr show dev eth3


sudo ip link show eth3

Añadir dirección IP



Para añadir una dirección IP a una interfaz de red tenemos varias formas, a continuación dos de ellas:


sudo ip address add 192.168.1.1 dev eth3


sudo ip addr add 10.0.0.100/24 broadcast 10.0.0.255 dev eth3

Agregar puerta de Enlace



La puerta de enlace será la salida de la red en la que nos encontramos. Para ello mostraré 2 ejemplos, el primero asignará la ruta de enlace para todas las interfaces y la segunda para una en concreto, en este caso el ejemplo continuará con la eth3.


sudo ip route add default via 192.168.1.1


sudo ip route add default via 192.168.1.1 dev eth3

Eliminar puerta de enlace por defecto



El siguiente comando permite eliminar una puerta de enlace por defecto


sudo ip del default

Eliminar dirección IP de una interfaz



Esta característica existe en esta suite de herramientas, a diferencia de las net-tools.


El siguiente ejemplo permite eliminar la dirección IP de una interfaz de red


sudo ip address del 192.168.1.1 dev eth3

Limpiar configuración de red para una interfaz



Este comando que mostraré a continuación vaciará de datos la interfaz de red dejando sin parámetros de conexión a la misma.


sudo ip address flush dev eth3

Interfaces Virtuales (Alias)



Las interfaces virtuales son alias que permiten crear nuevas interfaces de red por software a partir de una interfaz real, de este modo podemos por ejemplo asignar varias direcciones IP al mismo dispositivo, pero con distintas interfaces (la real y la/las virtualizada/s).

Añadir interfaz virtual (alias)



Os muestro dos formas para añadir una interfaz virtual.


sudo ip addr add 10.0.0.1/8 dev eth0 label eth3:1


sudo ip addr add 10.0.0.101/24 broadcast 10.0.0.255 dev eth3:1

Eliminar interfaz virtual



Cuando no necesitemos la interfaz virtual que creamos antes podemos eliminarla con la siguiente orden.


sudo ip link set dev eth3:1 down

Rutas y Tablas ARP



Las rutas y tablas ARP son los caminos a tomar hacia una red y las traducciones de equipos/MAC respectivamente. Es útil en muchas ocasiones tener acceso a estos ya sea para indicar como llegar a cierta red o para conocer las direcciones y MAC de dispositivos con los que hemos interactuados.

Ver tablas de rutas



Estos parámetros son para mostrar las tablas de rutas actuales:


sudo ip route


sudo ip route show

Añadir ruta



Podemos añadir rutas manualmente de la siguiente forma:


sudo ip route add 192.168.2.0/24 via 192.168.1.10

Eliminar ruta



Igualmente que podemos añadir rutas, también podemos eliminar estas rutas así:


sudo ip route del 192.168.2.0/24

Ver tabla ARP



Con el siguiente comando podremos ver la tabla ARP con caché de una interfaz y en segundo lugar de todas las interfaces:


ip neighbor show dev eth3


ip neighbor show

Añadir entrada a la tabla ARP



La tabla ARP también se puede modificar manualmente (o vigilar para detectar intrusiones en la red o ataques) para añadir una entrada lo haremos de la siguiente forma:


sudo ip neigh add 192.168.0.1 lladdr 00:11:22:33:44:55 nud permanent dev eth3

Desconectar Dispositivo ARP



Para desactivar un dispositivo sus tablas ARP usaremos el siguiente comando:


ip link set dev eth0 arp off

Otros Ajustes



A continuación algunos ajustes más que aunque es poco probable que necesites modificarlo puede ser interesante conocerlos para llegado el momento de necesitarse.

Modo Promisc



El modo promiscuo trata de capturar paquetes que normalmente se descartarían ya sea porque no tenga datos relevantes o esté destinado a otra máquina.


Este modo es interesante en cuanto a la hora de analizar una red.
A continuación mostraré como activar y desactivar una interfaz de red en Modo Promiscuo:


sudo ip link set dev eth3 promisc on


sudo ip link set dev eth3 promisc off

Cambiar MTU de una interfaz



El MTU (Maximum Transmission Unit) es un parámetro que indica la unidad máxima de transferencia usando un protocolo de comunicaciones. Podemos tener más información aquí.


La mayoría de las redes en area local ethernet utilizan un MTU de 1500 bytes por defecto.


sudo ip link set dev eth3 mtu 9000

Cambiar MAC



La MAC es un identificador único de cada dispositivo, pero aún así este puede ser cambiado por otro definido por nosotros. aquí.


En realidad en ningún momento cambiará realmente, es decir, siempre tendrá el mismo identificador pero podemos decirle a la interfaz de red que le diga a la red que ese identificador es otro.

Cambiar MAC temporalmente



Para cambiar la MAC temporalmente hasta que la devolvamos manualmente a su origen, reiniciemos el servicio de red o reiniciemos el sistema tenemos que ejecutar los siguientes 3 comandos en el mismo orden, cambiando la dirección MAC del ejemplo (XX:XX:XX:XX:XX:XX) por la que deseamos asignarle.


sudo ip link set dev eth3 interface down


sudo ip link set dev eth3 interface address XX:XX:XX:XX:XX:XX


sudo ip link set dev eth3 interface up

Cambiar MAC automáticamente con systemd



Podemos establecer que la dirección MAC cambie automáticamente cuando se inicia systemd.


Esto lo llevaremos a cabo editando el archivo /etc/systemd/network/00-default.link

sudo /etc/systemd/network/00-default.link


Una vez dentro añadimos el siguiente contenido modificando los parámetros de nuestra interfaz elegida:


[Match]


MACAddress=original MAC



[Link]


MACAddress=spoofed MAC


NamePolicy=kernel database onboard slot path


Cambiar MAC con regla udev



Otro método posible es editar una regla udev, o crearla si no existiese.


Esta iría en el archivo /etc/udev/rules.d/75-mac-spoof.rules


La editaremos con nano por ejemplo:

sudo nano /etc/udev/rules.d/75-mac-spoof.rules


Y dentro editamos los parámetros necesarios para nuestra interfaz reemplazando X por nuestra dirección MAC real/original y también Y por la nueva dirección MAC.


ACTION==”add”, SUBSYSTEM==”net”, ATTR{address}==”XX:XX:XX:XX:XX:XX”, RUN+=”/usr/bin/ip link set dev %k address YY:YY:YY:YY:YY:YY”


Comandos Linux

Raúl Caro Pastorino

Informático, técnico en sistemas, redes, baja tensión (electricidad) y desarrollador de aplicaciones WEB. Soy un apasionado por GNU/LINUX y el software libre en general desde prácticamente el año 2001-2003 que comencé. Intento usar y trabajar siempre con código libre o abierto de forma profesional. Me apasiona la programación, la micro-electrónica, el diseño gráfico y edición multimedia. Fan de Raspberry y arduino. Programo en bash, python, php y javascript principalmente. Repositorios de código con git: https://gitlab.com/fryntiz https://github.com/fryntiz

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.