El monitoreo constante de la red y de cada uno de sus componentes nos garantiza la optimización de las conexiones y los servicios de red asociados y en un ambiente de servidores es esencial contar con una red estable, segura y disponible ya que muchos procesos y servicios dependen de ello y para administrar los equipos cliente la red es más que esencial.
En el caso de las distribuciones Linux, contamos con el comando networkctl para realizar un monitoreo y obtener información completa sobre las interfaces de red y de este modo administrarlas de una forma mucho más integral y centralizada.
Solvetic explicará que es y cómo usar networkctl en Linux, en este caso en Ubuntu 18.04 Server.
Qué es networkctl
Networkctl es una utilidad de línea de comandos la cual ha sido desarrollada con el fin de mostrar un resumen de los dispositivos de red en el sistema y su respectivo estado de conexión, además, con networkctl será posible consultar y controlar el subsistema de red de Linux. Networkctl está basado en systemd-network el cual es un servicio de sistema el cual administra redes, puede detectar y configurar dispositivos de red y también está en la capacidad de la creación de dispositivos de red virtuales.
1. Instalar networkctl para ver interfaces de redes
Paso 1
Antes de ejecutar networkctl, debemos validar que systemd-networkd se esté ejecutando de forma correcta, ya que de lo contrario se generara un resultado de error con el siguiente mensaje:
“WARNING: systemd-networkd is not running, output will be incomplete.”
Paso 2
Para comprobar el estado actual de systemd-network vamos a ejecutar lo siguiente:
sudo systemctl status systemd-networkd
Paso 3
En caso de que systemd-networkd no se esté ejecutando, vamos a iniciarlo y habilitarlo para que se inicie en el momento del arranque del sistema usando los siguientes comandos:
sudo systemctl start systemd-networkd sudo systemctlenable systemd-networkd
2. Usar networkctl para ver interfaces de redes en Linux
Paso 1
Ahora vamos a ver cómo usar networkctl para administrar las interfaces de red, si deseamos obtener información sobre el estado de los enlaces de red, vamos a ejecutar el siguiente comando networkctl sin ningún argumento:
Networkctl
Paso 2
Como resultado encontramos lo siguiente:
- ID de la interface
- Tipo de interfaz
- Estado operacional
- Tipo de configuración
Paso 3
Ahora, si deseamos mostrar todos los enlaces de red y su estado actual, usaremos el parámetro “-a”:
networkctl -a
Paso 4
Para obtener una lista de los enlaces existentes y su estado, usamos el comando list el cual desplegará los mismos resultados que el comando anterior:
networkctl list
Paso 5
Si queremos acceder a la información sobre los enlaces específicos, indicando detalles como tipo, estado, controlador del módulo kernel, hardware y dirección IP, DNS configurado, servidor y otras opciones, debemos hacer uso del comando “status”, si no se especifica ningún enlace, los enlaces enrutables se muestran de forma predeterminada como vimos en la parte superior:
networkctl status
Paso 6
También será posible especificar la interfaz a analizar:
networkctl status enp0s3
Paso 7
Esto nos dará un resultado mucho más completo:
Paso 8
Para desplegar el estado LLDP (Link Layer Discovery Protocol - Protocolo de descubrimiento de capa de enlace), usaremos el comando lldp:
networkctl lldp
Paso 9
Por defecto, la salida de networkctl se canaliza en una secuencia de paginación, para omitir esto, podemos añadir el indicador “-no-pager”:
networkctl --no-pager
Paso 10
También será posible imprimir la salida sin encabezados de columna y el pie de página usando la opción “--no-legend”:
networkctl --no-legend
Paso 11
Finalmente, para acceder a la ayuda del comando podemos ejecutar alguna de las siguientes opciones:
networkctl -h man networkctlDe este modo, networkctl es un aliado para la gestión y control de las interfaces de red en Linux.
Lista completa de comandos para configurar redes en sistemas Linux.