Saludos, Estimados cyber-lectores.
Luego de una larga pausa continuamos con la cuarta (4ta) publicación de la serie de 10 dedicada al Estudio de los Paquetes de las Distros GNU/Linux, basándonos en la Distro DEBIAN. Recordemos que el manejar (conocer) a fondo los paquetes y sus comandos son de suma importancia para cualquier usuario / técnico de Sistemas Operativos Libres en general. Y al igual que en la anterior continuaremos con aquellos paquetes y comandos relacionados con la Gestión de Interfaces de Red.
Adicionalmente usen para cualquier duda o información al respecto los siguientes enlaces:
- Pagina oficial de DEBIAN
- Paquetes oficiales de DEBIAN
- Sistema de seguimiento de paquetes de Debian
- Wiki oficial de DEBIAN
- Documentación oficial de DEBIAN
- Entre otras no oficiales tales como: Linux man pages online
Y si desea leer las entradas anteriores de esta serie, los mismos son:
- Estudio de los Paquetes de DEBIAN – Parte I (Paquetes, Repositorios y Gestores de Paquetes.)
- Estudio de los Paquetes de DEBIAN – Parte II (Gestión de Interfaces de Red)
- Estudio de los Paquetes de DEBIAN – Parte III (Gestión de Interfaces de Red)
En esta entrada estudiaremos más a fondo sobre el paquete iproute2 y el uso del comando ip.
Paquete:
Nota: Actualmente sus dependencias son libc6 (>= 2.14) [not arm64, ppc64el] – libc6 (>= 2.17) [arm64, ppc64el], libdb5.3, y libselinux1. Y en su versión para DEBIAN Testing esta actualmente en la numero 4.3.0-1. Para mayor información consultar en Package: iproute 2
Nota: Algunas de las funcionalidades principales que provee iproute2 son: Implementar QoS (Quality of service), para priorizar los distintos tipos de tráfico; Mantener múltiples tablas de ruteo por diferentes puertas de enlaces conectadas a distintos dispositivos; establecer el Balanceo de carga, asignándole pesos a cada una de las interfaces de red existentes dentro de un equipo y la Definición de túneles IP para proporcionar un medio para transportar paquetes de datos entre dominios cuando el protocolo en esos dominios no está admitido por redes intermediarias, es decir, por ejemplo para transportar paquetes IPv6 en redes IPv4 y permitir la comunicación IPv6 entre 2 dos redes lejanas IPv6. Para mayor información consultar en Linux Foundation: iproute2
Comandos:
-
IP: Y Ampliando la información de la publicación anterior tenemos sobre el comando IP los siguientes ejemplos de uso:
-
Mostrar todas las Interfaces
-
ip address show
-
Mostrar una sola Interfase
-
ip address show [nombre_interfaz]
-
Mostrar solo las Interfaces levantadas
-
ip address show up
-
Mostrar las interfaces dinámicas o estáticas
-
ip address show dev [nombre_interfaz]
-
ip address show dev [nombre_interfaz]
-
Añadir una dirección IP a una Interfaz
-
ip address add 192.168.1.100/24 dev [nombre_interfaz]
-
ip address add 2001:db8:1::/48 dev [nombre_interfaz]
-
Borrar una dirección IP a una Interfaz
-
ip address delete 192.168.1.100/24 dev [nombre_interfaz]
-
ip address delete 2001:db8:1::/48 dev [nombre_interfaz]
-
Añadir una descripción legible a una Interfaz / Dirección IP
-
ip address add 192.168.1.100/24 dev [nombre_interfaz] label [nombre_interface]:Mi_Red_Interna
-
Remover (Liberar) las direcciones ip de una Interfaz de red
-
ip address flush dev [nombre_interfaz]
-
Mostrar todas las rutas de red disponible
-
ip route
-
ip route show
-
ip -4 route show
-
ip -6 route show
-
Mostrar las rutas de una red y sus sub-redes incluidas
-
ip route show to root direccion_red/prefijo_mascara_red
-
Mostrar las rutas hacia una red especifica
-
ip route show to exact direccion_red/prefijo_mascara_red
-
Mostrar la ruta actual usada por el kernel
-
ip route get direccion_red/prefijo_mascara_red
-
Añadir una ruta via gateway
-
ip route add direccion_red/prefijo_mascara_red via direccion_ip_gateway
-
Añadir una ruta via interfaz
-
ip route add direccion_red/prefijo_mascara_red dev nombre_interfaz
-
Cambiar o reemplazar una ruta
-
ip route change direccion_red/prefijo_mascara_red via direccion_ip_gateway
-
ip route replace direccion_red/prefijo_mascara_red dev nombre_interfaz
-
Borrar una ruta
-
ip route delete direccion_red/prefijo_mascara_red via direccion_ip_gateway
-
ip route delete direccion_red/prefijo_mascara_red dev nombre_interfaz
-
Establecer una ruta por defecto
-
ip route add default via direccion_red/prefijo_mascara_red
-
ip route add default via dev nombre_interfaz
-
ip route add 0.0.0.0/0 via direccion_red/prefijo_mascara_red
-
ip route add 0.0.0.0/0 via dev nombre_interfaz
-
Establecer rutas de propósitos especificos
-
ip route add blackhole direccion_red/prefijo_mascara_red
-
ip route add unreacheable direccion_red/prefijo_mascara_red
-
ip route add prohibit direccion_red/prefijo_mascara_red
-
ip route add throw direccion_red/prefijo_mascara_red
-
Establecer una ruta con una métrica especifica
-
ip route add direccion_red/prefijo_mascara_red via direccion_ip_gateway metric numero_metrica
-
ip route add direccion_red/prefijo_mascara_red dev nombre_interfaz metric numero_metrica
-
Establecer una ruta multivia
-
ip route add default nexthop via direccion_ip_gateway_1 weight numero_weight nexthop via direccion_ip_gateway_2 weight numero_weightip
-
ip route add default nexthop via direccion_ip_gateway_1 weight numero_weight nexthop dev nombre_interfaz metric numero_metrica
-
Mostrar/Listar interfaces
ip link show
-
ip link show dev nombre_interfaz
-
ip link list
-
ip link list dev nombre_interfaz
-
Configurando el estado de una interfaz
-
ip link set dev nombre_interfaz up
-
ip link set dev nombre_interfaz down
-
ip link list
-
ip link list dev nombre_interfaz
-
Configurando una descripción para una interfaz
-
ip link set dev nombre_interfaz alias "descripcion"
-
Configurando un nuevo nombre a una interfaz
-
ip link set dev actual_nombre_interfaz name nuevo_nombre_interfaz
-
Configurando una Dirección MAC a una interfaz
-
ip link set dev nombre_interfaz address aa:bb:cc:dd:ee:ff
-
Cambiando el valor de MTU de una interfaz
-
ip link set dev nombre_interfaz mtu valor_mtu
-
Eliminando una interfaz
-
ip link delete dev nombre_interfaz
-
Habilitar / Deshabilitar el Multicast / ARP en una interfaz
-
ip link set nombre_interfaz multicast on
-
ip link set nombre_interfaz multicast off
-
ip link set nombre_interfaz arp on
-
ip link set nombre_interfaz arp off
-
Creando una interfaz del tipo VLAN
-
ip link add name nombre_interfaz_vlan link nombre_interfaz type vlan id valor_id
-
Creando una interfaz del tipo VLAN Stacking (QinQ) en Interfaz de Servidor y de Cliente
-
ip link add name nombre_interfaz_vlan link nombre_interfaz type vlan proto 802.1ad id valor_id
-
ip link add name nombre_interfaz_vlan link nombre_interfaz type vlan proto 802.1q id valor_id
-
Gestionando tipos de interfaces
-
ip link add name nombre_tipo_interfaz link nombre_interfaz type macvlan
-
ip link add name nombre_tipo_interfaz type dummy
-
ip link add name nombre_tipo_interfaz type bond
-
ip link add name nombre_tipo_interfaz type ifb
-
ip link add name nombre1 type veth peer nombre2
-
Gestionando puentes sobre una interfaz
-
ip link add name nombre_puente type brigde
-
ip link set dev nombre_interfaz master nombre_puente
-
ip link set dev nombre_interfaz no master
-
ip link set nombre_interfaz arp off
-
Gestionando grupos de interfaces
-
ip link set dev nombre_interface group id_group
-
ip link set dev nombre_interfaz group 0
-
ip link set dev nombre_interfaz group default
-
ip link set dev nombre_interface group nombre_group
-
ip link set group id_group up/down
-
ip link list group id_group
-
ip address show group nombre_grupo
Para mayor información sobre este comando leer aquí.
En la próxima entrada estudiaremos sobre el uso de los comando tc, iw y ethtool.