Red Hat Training
A Red Hat training course is available for RHEL 8
Configuración y gestión de redes
Guía de configuración y gestión de redes en Red Hat Enterprise Linux 8
Resumen
Hacer que el código abierto sea más inclusivo
Red Hat se compromete a sustituir el lenguaje problemático en nuestro código, documentación y propiedades web. Estamos empezando con estos cuatro términos: maestro, esclavo, lista negra y lista blanca. Debido a la enormidad de este esfuerzo, estos cambios se implementarán gradualmente a lo largo de varias versiones próximas. Para más detalles, consulte el mensaje de nuestro CTO Chris Wright.
Proporcionar comentarios sobre la documentación de Red Hat
Agradecemos su opinión sobre nuestra documentación. Por favor, díganos cómo podemos mejorarla. Para ello:
Para comentarios sencillos sobre pasajes concretos:
- Asegúrese de que está viendo la documentación en el formato Multi-page HTML. Además, asegúrese de ver el botón Feedback en la esquina superior derecha del documento.
- Utilice el cursor del ratón para resaltar la parte del texto que desea comentar.
- Haga clic en la ventana emergente Add Feedback que aparece debajo del texto resaltado.
- Siga las instrucciones mostradas.
Para enviar comentarios más complejos, cree un ticket de Bugzilla:
- Vaya al sitio web de Bugzilla.
- Como componente, utilice Documentation.
- Rellene el campo Description con su sugerencia de mejora. Incluya un enlace a la(s) parte(s) pertinente(s) de la documentación.
- Haga clic en Submit Bug.
Capítulo 1. Temas generales de la red RHEL
Esta sección proporciona detalles sobre temas generales de la red.
1.1. La diferencia entre redes IP y no IP
Una red es un sistema de dispositivos interconectados que pueden comunicarse compartiendo información y recursos, como archivos, impresoras, aplicaciones y conexión a Internet. Cada uno de estos dispositivos tiene una dirección IP única para enviar y recibir mensajes entre dos o más dispositivos utilizando un conjunto de reglas llamado protocolo.
Categorías de comunicación en red:
- Redes IP
- Redes que se comunican a través de direcciones IP. Una red IP está implementada en Internet y en la mayoría de las redes internas. Ethernet, las redes inalámbricas y las conexiones VPN son ejemplos típicos.
- Redes no IP
- Redes que se utilizan para comunicarse a través de una capa inferior en lugar de la capa de transporte. Hay que tener en cuenta que estas redes se utilizan raramente. Por ejemplo, InfiniBand es una red no IP.
1.2. La diferencia entre el direccionamiento IP estático y dinámico
- Direccionamiento IP estático
Cuando asignas una dirección IP estática a un dispositivo, la dirección no cambia con el tiempo a menos que la cambies manualmente. Utilice el direccionamiento IP estático si lo desea:
- Para asegurar la consistencia de las direcciones de red para servidores como DNS, y servidores de autenticación.
- Utilizar dispositivos de gestión fuera de banda que funcionen independientemente de otras infraestructuras de red.
- Direccionamiento IP dinámico
Cuando se configura un dispositivo para utilizar una dirección IP dinámica, la dirección puede cambiar con el tiempo. Por esta razón, las direcciones dinámicas se suelen utilizar para dispositivos que se conectan a la red ocasionalmente, ya que la dirección IP puede ser diferente después de reiniciar el host.
Las direcciones IP dinámicas son más flexibles, más fáciles de configurar y administrar. El Protocolo de Control Dinámico de Anfitriones (DHCP) es un método tradicional para asignar dinámicamente las configuraciones de red a los anfitriones.
No hay una regla estricta que defina cuándo utilizar direcciones IP estáticas o dinámicas. Depende de las necesidades del usuario, de sus preferencias y del entorno de la red.
Recursos adicionales
Para más detalles sobre la configuración de un servidor DHCP, consulte Capítulo 43, Proporcionar servicios DHCP.
1.3. Fases de la transacción DHCP
El DHCP funciona en cuatro fases: Descubrimiento, Oferta, Solicitud, Reconocimiento, también llamado proceso DORA. El DHCP utiliza este proceso para proporcionar direcciones IP a los clientes.
Descubrimiento
El cliente DHCP envía un mensaje para descubrir el servidor DHCP en la red. Este mensaje se emite en la capa de red y de enlace de datos.
Oferta
El servidor DHCP recibe mensajes del cliente y le ofrece una dirección IP. Este mensaje es unicast en la capa de enlace de datos pero broadcast en la capa de red.
Solicite
El cliente DHCP solicita al servidor DHCP la dirección IP ofrecida. Este mensaje es unicast en la capa de enlace de datos pero broadcast en la capa de red.
Acuse de recibo
El servidor DHCP envía un acuse de recibo al cliente DHCP. Este mensaje es unicast en la capa de enlace de datos pero broadcast en la capa de red. Es el mensaje final del proceso DHCP DORA.
1.4. Redes InfiniBand y RDMA
Para obtener más información sobre las redes InfiniBand y de Acceso Directo a la Memoria Remota (RDMA), consulte la documentación Configuración de redes InfiniBand y RDMA.
1.5. Soporte de scripts de red heredados en RHEL
Por defecto, RHEL utiliza NetworkManager para configurar y gestionar las conexiones de red, y los scripts /usr/sbin/ifup
y /usr/sbin/ifdown
utilizan NetworkManager para procesar los archivos ifcfg
en el directorio /etc/sysconfig/network-scripts/
.
Sin embargo, si necesita los scripts de red obsoletos que procesan la configuración de la red sin usar NetworkManager, puede instalarlos:
# yum install network-scripts
Una vez instalados los scripts de red heredados, los scripts /usr/sbin/ifup
y /usr/sbin/ifdown
enlazan con los scripts de shell obsoletos que gestionan la configuración de la red.
Los scripts heredados están obsoletos en RHEL 8 y serán eliminados en una futura versión mayor de RHEL. Si todavía utiliza los scripts de red heredados, por ejemplo, porque actualizó desde una versión anterior a RHEL 8, Red Hat recomienda que migre su configuración a NetworkManager.
1.6. Selección de los métodos de configuración de la red
Para configurar una interfaz de red mediante NetworkManager, utilice una de las siguientes herramientas:
-
la interfaz de usuario de texto,
nmtui
. -
la utilidad de línea de comandos ,
nmcli
. -
las herramientas de la interfaz gráfica de usuario,
GNOME GUI
.
-
la interfaz de usuario de texto,
Para configurar una interfaz de red sin utilizar las herramientas y aplicaciones de NetworkManager:
-
editar manualmente los archivos de
ifcfg
. Tenga en cuenta que incluso si edita los archivos directamente, NetworkManager es el predeterminado en RHEL y procesa estos archivos. Sólo si ha instalado y habilitado los scripts de red heredados obsoletos, entonces estos scripts procesan los archivosifcfg
.
-
editar manualmente los archivos de
Para configurar los ajustes de red cuando el sistema de archivos raíz no es local:
- utilizar la línea de comandos del kernel.
Capítulo 2. Denominación coherente de los dispositivos de interfaz de red
Red Hat Enterprise Linux 8 proporciona métodos para la nomenclatura de dispositivos consistente y predecible para las interfaces de red. Estas características ayudan a localizar y diferenciar las interfaces de red.
El kernel asigna nombres a las interfaces de red concatenando un prefijo fijo y un número que aumenta a medida que el kernel inicializa los dispositivos de red. Por ejemplo, eth0
representaría el primer dispositivo que se sondea en el arranque. Sin embargo, estos nombres no se corresponden necesariamente con las etiquetas del chasis. Las plataformas de servidor modernas con múltiples adaptadores de red pueden encontrar nombres no deterministas y contraintuitivos de estas interfaces. Esto afecta tanto a los adaptadores de red integrados en la placa del sistema como a los adaptadores complementarios.
En Red Hat Enterprise Linux 8, el gestor de dispositivos udev
soporta un número de esquemas de nomenclatura diferentes. Por defecto, udev
asigna nombres fijos basados en la información del firmware, la topología y la ubicación. Esto tiene las siguientes ventajas:
- Los nombres de los dispositivos son totalmente predecibles.
- Los nombres de los dispositivos permanecen fijos aunque se añada o elimine hardware, ya que no se produce una nueva enumeración.
- El hardware defectuoso se puede sustituir sin problemas.
2.1. Jerarquía de nombres de dispositivos de interfaz de red
Si la nomenclatura consistente de dispositivos está habilitada, que es el valor por defecto en Red Hat Enterprise Linux 8, el administrador de dispositivos udev
genera nombres de dispositivos basados en los siguientes esquemas:
Esquema | Descripción | Ejemplo |
---|---|---|
1 |
Los nombres de los dispositivos incorporan los números de índice proporcionados por el firmware o la BIOS para los dispositivos integrados. Si esta información no está disponible o no es aplicable, |
|
2 |
Los nombres de los dispositivos incorporan números de índice de ranura de conexión en caliente PCI Express (PCIe) proporcionados por el firmware o la BIOS. Si esta información no está disponible o no es aplicable, |
|
3 |
Los nombres de los dispositivos incorporan la ubicación física del conector del hardware. Si esta información no está disponible o no es aplicable, |
|
4 | Los nombres de los dispositivos incorporan la dirección MAC. Red Hat Enterprise Linux no utiliza este esquema por defecto, pero los administradores pueden utilizarlo opcionalmente. |
|
5 |
El esquema tradicional de nomenclatura impredecible del kernel. Si |
|
Por defecto, Red Hat Enterprise Linux selecciona el nombre del dispositivo basado en la configuración de NamePolicy
en el archivo /usr/lib/systemd/network/99-default.link
. El orden de los valores en NamePolicy
es importante. Red Hat Enterprise Linux utiliza el primer nombre de dispositivo que está especificado en el archivo y que udev
generó.
Si ha configurado manualmente las reglas de udev
para cambiar el nombre de los dispositivos del kernel, esas reglas tienen prioridad.
2.2. Cómo funciona el cambio de nombre de los dispositivos de red
Por defecto, el nombramiento consistente de dispositivos está habilitado en Red Hat Enterprise Linux 8. El administrador de dispositivos udev
procesa diferentes reglas para renombrar los dispositivos. La lista siguiente describe el orden en que udev
procesa estas reglas y de qué acciones son responsables estas reglas:
-
El archivo
/usr/lib/udev/rules.d/60-net.rules
define que la utilidad de ayuda/lib/udev/rename_device
busque el parámetroHWADDR
en los archivos/etc/sysconfig/network-scripts/ifcfg-*
. Si el valor establecido en la variable coincide con la dirección MAC de una interfaz, la utilidad helper renombra la interfaz con el nombre establecido en el parámetroDEVICE
del archivo. -
El archivo
/usr/lib/udev/rules.d/71-biosdevname.rules
define que la utilidadbiosdevname
renombre la interfaz según su política de nombres, siempre que no haya sido renombrada en el paso anterior. -
El archivo
/usr/lib/udev/rules.d/75-net-description.rules
define queudev
examina el dispositivo de interfaz de red y establece las propiedades enudev
-variables internas, que serán procesadas en el siguiente paso. Tenga en cuenta que algunas de estas propiedades pueden ser indefinidas. El archivo
/usr/lib/udev/rules.d/80-net-setup-link.rules
llama al incorporadonet_setup_link
udev
que luego aplica la política. La siguiente es la política por defecto que se almacena en el archivo/usr/lib/systemd/network/99-default.link
:[Link] NamePolicy=kernel database onboard slot path MACAddressPolicy=persistent
Con esta política, si el núcleo utiliza un nombre persistente,
udev
no renombra la interfaz. Si el kernel no utiliza un nombre persistente,udev
renombra la interfaz con el nombre proporcionado por la base de datos de hardware deudev
. Si esta base de datos no está disponible, Red Hat Enterprise Linux recurre a los mecanismos descritos anteriormente.Alternativamente, establezca el parámetro
NamePolicy
en este archivo amac
para los nombres de interfaz basados en la dirección de acceso al medio (MAC).El archivo
/usr/lib/udev/rules.d/80-net-setup-link.rules
define queudev
renombre la interfaz basándose en los parámetros internos deudev
en el siguiente orden:-
ID_NET_NAME_ONBOARD
-
ID_NET_NAME_SLOT
-
ID_NET_NAME_PATH
Si no se establece un parámetro,
udev
utiliza el siguiente. Si no se establece ninguno de los parámetros, la interfaz no se renombra.-
Los pasos 3 y 4 implementan los esquemas de nomenclatura 1 a 4 descritos en Sección 2.1, “Jerarquía de nombres de dispositivos de interfaz de red”.
Recursos adicionales
- Para más detalles sobre la configuración de prefijos personalizados para una nomenclatura coherente, consulte Sección 2.7, “Uso de prefixdevname para nombrar las interfaces de red Ethernet”.
-
Para más detalles sobre el parámetro
NamePolicy
, consulte la página de manualsystemd.link(5)
.
2.3. Explicación de los nombres de dispositivos de interfaz de red predecibles en la plataforma x86_64
Cuando la función de nombre de dispositivo de red consistente está habilitada, el administrador de dispositivos udev
crea los nombres de los dispositivos basándose en diferentes criterios. Esta sección describe el esquema de nomenclatura cuando Red Hat Enterprise Linux 8 está instalado en una plataforma x86_64.
El nombre de la interfaz comienza con un prefijo de dos caracteres según el tipo de interfaz:
-
en
para Ethernet -
wl
para LAN inalámbrica (WLAN) -
ww
para la red inalámbrica de área amplia (WWAN)
Además, a uno de los prefijos mencionados se le añade uno de los siguientes, según el esquema que aplique el gestor de dispositivos udev
:
-
o<on-board_index_number>
s<hot_plug_slot_index_number>[f<function>][d<device_id>]
Tenga en cuenta que todos los dispositivos PCI multifunción tienen el
[f<function>]
número en el nombre del dispositivo, incluido el dispositivo de función0
.-
x<MAC_address>
[P<domain_number>]p<bus>s<slot>[f<function>][d<device_id>]
La parte
[P<domain_number>]
define la ubicación geográfica del PCI. Esta parte sólo se establece si el número de dominio no es0
.[P<domain_number>]p<bus>s<slot>[f<function>][u<usb_port>][…][c<config>][i<interface>]
Para los dispositivos USB, se compone la cadena completa de números de puerto de los concentradores. Si el nombre es más largo que el máximo (15 caracteres), el nombre no se exporta. Si hay varios dispositivos USB en la cadena,
udev
suprime los valores por defecto de los descriptores de configuración USB (c1
) y de los descriptores de interfaz USB (i0
).
2.4. Explicación de los nombres de dispositivos de interfaz de red predecibles en la plataforma System z
Cuando la función de nombre de dispositivo de red consistente está activada, el gestor de dispositivos udev
en la plataforma System z crea los nombres de los dispositivos basándose en el ID del bus. El ID de bus identifica un dispositivo en el subsistema de canal s390.
Para un dispositivo de palabra de comando de canal (CCW), el ID del bus es el número de dispositivo con un prefijo 0.n
, donde n
es el ID del conjunto de subcanales.
Las interfaces Ethernet se denominan, por ejemplo, enccw0.0.1234
. Los dispositivos de red de canal a canal (CTC) del Protocolo de Internet de Línea Serial (SLIP) se denominan, por ejemplo, slccw0.0.1234
.
Utilice los comandos znetconf -c
o lscss -a
para mostrar los dispositivos de red disponibles y sus identificaciones de bus.
2.5. Desactivación de la denominación coherente de los dispositivos de interfaz durante la instalación
Esta sección describe cómo desactivar la denominación de dispositivos de interfaz consistente durante la instalación.
Red Hat recomienda no desactivar la denominación consistente de dispositivos. Desactivar la nomenclatura consistente de dispositivos puede causar diferentes tipos de problemas. Por ejemplo, si añade otra tarjeta de interfaz de red al sistema, la asignación de los nombres de dispositivos del kernel, como eth0
, ya no es fija. En consecuencia, después de un reinicio, el Kernel puede nombrar el dispositivo de manera diferente.
Procedimiento
- Arranque el medio de instalación de Red Hat Enterprise Linux 8.
-
En el gestor de arranque, seleccione
Install Red Hat Enterprise Linux 8
, y pulse la tecla Tab para editar la entrada. Añade el parámetro
net.ifnames=0
a la línea de comandos del kernel:vmlinuz.. net.ifnames=0
- Pulse Enter para iniciar la instalación.
2.6. Desactivación de la denominación coherente de los dispositivos de interfaz en un sistema instalado
Esta sección describe cómo deshabilitar la denominación de dispositivos de interfaz consistente en un sistema que ya está instalado.
Red Hat recomienda no desactivar la denominación consistente de dispositivos. Desactivar la nomenclatura consistente de dispositivos puede causar diferentes tipos de problemas. Por ejemplo, si añade otra tarjeta de interfaz de red al sistema, la asignación de los nombres de dispositivos del kernel, como eth0
, ya no es fija. En consecuencia, después de un reinicio, el Kernel puede nombrar el dispositivo de manera diferente.
Requisitos previos
- El sistema utiliza una denominación de dispositivos de interfaz coherente, que es la predeterminada.
Procedimiento
Edite el archivo
/etc/default/grub
y añada el parámetronet.ifnames=0
a la variableGRUB_CMDLINE_LINUX
:GRUB_CMDLINE_LINUX="... *net.ifnames=0
Reconstruya el archivo
grub.cfg
:En un sistema con modo de arranque UEFI:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
En un sistema con modo de arranque heredado:
# grub2-mkconfig -o /boot/grub2/grub.cfg
- Si utiliza nombres de interfaces en archivos de configuración o scripts, debe actualizarlos manualmente.
Reinicia el host:
# rebote
2.7. Uso de prefixdevname para nombrar las interfaces de red Ethernet
Esta documentación describe cómo establecer los prefijos para un nombramiento consistente de las interfaces de red Ethernet en caso de que no quiera utilizar el esquema de nomenclatura por defecto de dichas interfaces. Sin embargo, Red Hat recomienda utilizar el esquema de nomenclatura por defecto. Para más detalles sobre este esquema, vea Capítulo 2, Denominación coherente de los dispositivos de interfaz de red.
2.7.1. Introducción a prefixdevname
La herramienta prefixdevname
es una utilidad de ayuda de udev que le permite definir su propio prefijo utilizado para nombrar las interfaces de red Ethernet.
2.7.2. Limitaciones de prefixdevname
Existen ciertas limitaciones para los prefijos de las interfaces de red Ethernet.
El prefijo que elija debe cumplir los siguientes requisitos:
- Ser cadena ASCII
- Sea una cadena alfanumérica
- Tener menos de 16 caracteres
El prefijo no puede entrar en conflicto con ningún otro prefijo conocido utilizado para nombrar la interfaz de red en Linux. En concreto, no se pueden utilizar los siguientes prefijos: eth
, eno
, ens
, em
.
2.7.3. Configuración de prefixdevname
La configuración del prefijo con prefixdevname
se realiza durante la instalación del sistema.
Para configurar y activar el prefijo necesario para sus interfaces de red Ethernet, utilice el siguiente procedimiento.
Procedimiento
Añade la siguiente cadena en la línea de comandos del kernel:
net.ifnames.prefix=<required prefix>
Red Hat no admite el uso de prefixdevname
en sistemas ya implantados.
Una vez establecido el prefijo y reiniciado el sistema operativo, el prefijo es efectivo cada vez que aparece una nueva interfaz de red. Al nuevo dispositivo se le asigna un nombre en forma de <PREFIX><INDEX>
. Por ejemplo, si el prefijo seleccionado es net
, y las interfaces con los prefijos net0
y net1
ya existen en el sistema, la nueva interfaz se llama net2
. La utilidad prefixdevname
genera entonces el nuevo archivo .link
en el directorio /etc/systemd/network
que aplica el nombre a la interfaz con la dirección MAC que acaba de aparecer. La configuración es persistente a través de los reinicios.
2.8. Información relacionada
-
Consulte la página de manual
udev(7)
para obtener detalles sobre el gestor de dispositivosudev
.
Capítulo 3. Introducción a NetworkManager
Por defecto, RHEL 8 utiliza NetworkManager para gestionar la configuración de la red y las conexiones.
3.1. Ventajas de utilizar NetworkManager
Las principales ventajas de utilizar NetworkManager son:
- Ofrece una API a través de D-Bus que permite consultar y controlar la configuración y el estado de la red. De este modo, la red puede ser comprobada y configurada por múltiples aplicaciones asegurando un estado de red sincronizado y actualizado. Por ejemplo, la consola web de RHEL, que supervisa y configura los servidores a través de un navegador web, utiliza la interfaz NetworkManager D-BUS para configurar la red, así como las herramientas Gnome GUI, nmcli y nm-connection-editor. Cada cambio realizado en una de estas herramientas es detectado por todas las demás.
- Facilitando la gestión de la red NetworkManager asegura que la conectividad de la red funciona. Cuando detecta que no hay configuración de red en un sistema pero sí hay dispositivos de red, NetworkManager crea conexiones temporales para proporcionar conectividad.
- Proporciona una fácil configuración de la conexión al usuario NetworkManager ofrece la gestión a través de diferentes herramientas - GUI, nmtui, nmcli.
- Soportar la flexibilidad de la configuración. Por ejemplo, la configuración de una interfaz WiFi NetworkManager escanea y muestra las redes wifi disponibles. Se puede seleccionar una interfaz, y NetworkManager muestra las credenciales requeridas proporcionando una conexión automática después del proceso de reinicio NetworkManager puede configurar alias de red, direcciones IP, rutas estáticas, información DNS y conexiones VPN, así como muchos parámetros específicos de la conexión. Puede modificar las opciones de configuración para reflejar sus necesidades.
- Mantener el estado de los dispositivos tras el proceso de reinicio y hacerse cargo de las interfaces que se ponen en modo gestionado durante el reinicio.
- Manejo de dispositivos que no están explícitamente establecidos como no gestionados, sino que son controlados manualmente por el usuario u otro servicio de red.
Recursos adicionales
- Para obtener más información sobre la instalación y el uso de la consola web de RHEL 8, consulte Administración de sistemas mediante la consola web de RHEL 8.
3.2. Una visión general de las utilidades y aplicaciones que puede utilizar para gestionar las conexiones de NetworkManager
Puede utilizar las siguientes utilidades y aplicaciones para gestionar las conexiones de NetworkManager:
-
nmcli
: Una utilidad de línea de comandos para gestionar las conexiones. -
nmtui
: Una interfaz de usuario de texto (TUI) basada en curses. Para utilizar esta aplicación, instale el paqueteNetworkManager-tui
. -
nm-connection-editor
: Una interfaz gráfica de usuario (GUI) para las tareas relacionadas con NetworkManager. Para iniciar esta aplicación, introduzcanm-connection-editor
en un terminal de una sesión de GNOME. -
control-center
: Una interfaz gráfica de usuario proporcionada por el shell de GNOME para los usuarios del escritorio. Tenga en cuenta que esta aplicación soporta menos características quenm-connection-editor
. -
El
network connection icon
en el shell de GNOME: Este icono representa los estados de la conexión de red y sirve como indicador visual del tipo de conexión que está utilizando.
3.3. Uso de los scripts de despacho de NetworkManager
Por defecto, el directorio /etc/NetworkManager/dispatcher.d/
existe y NetworkManager ejecuta los scripts allí, en orden alfabético. Cada script debe ser un archivo ejecutable owned by root
y debe tener write permission
sólo para el propietario del archivo.
NetworkManager ejecuta los scripts de los despachadores en /etc/NetworkManager/dispatcher.d/
en orden alfabético.
Recursos adicionales
- Para un ejemplo de un script despachador, vea la solución Cómo escribir un script despachador de NetworkManager para aplicar comandos de ethtool.
3.4. Carga de archivos ifcfg creados manualmente en NetworkManager
En Red Hat Enterprise Linux 8, si edita un archivo ifcfg
, NetworkManager no es automáticamente consciente del cambio y tiene que ser solicitado para notar el cambio. Si utiliza una de las herramientas para actualizar NetworkManager la configuración del perfil, NetworkManager no implementa esos cambios hasta que usted se vuelva a conectar usando ese perfil. Por ejemplo, si se han modificado los archivos de configuración utilizando un editor, NetworkManager debe volver a leer los archivos de configuración.
El directorio /etc/sysconfig/
es una ubicación para archivos de configuración y scripts. La mayor parte de la información de configuración de la red se almacena allí, a excepción de la configuración de VPN, banda ancha móvil y PPPoE, que se almacenan en los subdirectorios /etc/NetworkManager/
. Por ejemplo, la información específica de la interfaz se almacena en los archivos ifcfg
del directorio /etc/sysconfig/network-scripts/
.
La información de las VPN, la banda ancha móvil y las conexiones PPPoE se almacena en /etc/NetworkManager/system-connections/
.
Por defecto, RHEL utiliza NetworkManager para configurar y gestionar las conexiones de red, y los scripts /usr/sbin/ifup
y /usr/sbin/ifdown
utilizan NetworkManager para procesar los archivos ifcfg
en el directorio /etc/sysconfig/network-scripts/
.
Si necesita los scripts de red heredados para gestionar la configuración de la red, puede instalarlos manualmente. Para más detalles, consulte Sección 1.5, “Soporte de scripts de red heredados en RHEL”. Sin embargo, tenga en cuenta que los scripts de red heredados están obsoletos y se eliminarán en una futura versión de RHEL.
Procedimiento
Para cargar un nuevo archivo de configuración:
#
nmcli connection load /etc/sysconfig/network-scripts/ifcfg-connection_name
Si ha actualizado un archivo de conexión que ya ha sido cargado en NetworkManager, introduzca:
#
nmcli connection up connection_name
Recursos adicionales
-
NetworkManager(8)
- Describe el demonio de gestión de red. -
NetworkManager.conf(5)
man page - Describe el archivo de configuraciónNetworkManager
. -
/usr/share/doc/initscripts/sysconfig.txt
- Describe los archivos de configuración deifcfg
y sus directivas tal y como las entiende el servicio de red heredado. -
ifcfg(8)
página de manual - Describe brevemente el comandoifcfg
.
Capítulo 4. Configurar NetworkManager para que ignore ciertos dispositivos
Por defecto, NetworkManager gestiona todos los dispositivos excepto el dispositivo lo
(loopback). Sin embargo, puede establecer ciertos dispositivos como unmanaged
para configurar que NetworkManager ignore estos dispositivos. Con esta configuración, puede gestionar manualmente estos dispositivos, por ejemplo, utilizando un script.
4.1. Configurar permanentemente un dispositivo como no gestionado en NetworkManager
Puede configurar los dispositivos como unmanaged
basándose en varios criterios, como el nombre de la interfaz, la dirección MAC o el tipo de dispositivo. Este procedimiento describe cómo configurar permanentemente la interfaz enp1s0
como unmanaged
en NetworkManager.
Para configurar temporalmente los dispositivos de red como unmanaged
, consulte Sección 4.2, “Configurar temporalmente un dispositivo como no gestionado en NetworkManager”.
Procedimiento
Opcional: Visualice la lista de dispositivos para identificar el dispositivo que desea establecer como
unmanaged
:#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet disconnected -- ...Cree el archivo
/etc/NetworkManager/conf.d/99-unmanaged-devices.conf
con el siguiente contenido:[keyfile] unmanaged-devices=interface-name:enp1s0
Para establecer varios dispositivos como no gestionados, separe las entradas en el parámetro
unmanaged-devices
con punto y coma:[keyfile] unmanaged-devices=interface-name:interface_1;interface-name:interface_2;...
Recargue el servicio
NetworkManager
:#
systemctl reload NetworkManager
Pasos de verificación
Muestra la lista de dispositivos:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet unmanaged -- ...El estado
unmanaged
junto al dispositivoenp1s0
indica que NetworkManager no gestiona este dispositivo.
Recursos adicionales
-
Para obtener una lista de criterios que puede utilizar para configurar los dispositivos como no administrados y la sintaxis correspondiente, consulte la sección
Device List Format
en la página de manualNetworkManager.conf(5)
.
4.2. Configurar temporalmente un dispositivo como no gestionado en NetworkManager
Puede configurar los dispositivos como unmanaged
basándose en varios criterios, como el nombre de la interfaz, la dirección MAC o el tipo de dispositivo. Este procedimiento describe cómo configurar temporalmente la interfaz enp1s0
como unmanaged
en NetworkManager.
Utilice este método, por ejemplo, para realizar pruebas. Para configurar permanentemente los dispositivos de red como unmanaged
, consulte Sección 4.1, “Configurar permanentemente un dispositivo como no gestionado en NetworkManager”.
Utilice este método, por ejemplo, para realizar pruebas. Para configurar permanentemente los dispositivos de red como unmanaged
, consulte la sección Configurar permanentemente un dispositivo como no administrado en NetworkManager en la documentación de Configuring and managing networking
.
Procedimiento
Opcional: Visualice la lista de dispositivos para identificar el dispositivo que desea establecer como
unmanaged
:#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet disconnected -- ...Ponga el dispositivo
enp1s0
en el estadounmanaged
:#
nmcli device set enp1s0 managed no
Pasos de verificación
Muestra la lista de dispositivos:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet unmanaged -- ...El estado
unmanaged
junto al dispositivoenp1s0
indica que NetworkManager no gestiona este dispositivo.
Recursos adicionales
-
Para obtener una lista de criterios que puede utilizar para configurar los dispositivos como no administrados y la sintaxis correspondiente, consulte la sección
Device List Format
en la página de manualNetworkManager.conf(5)
.
Capítulo 5. Cómo empezar con nmtui
La aplicación nmtui
es una interfaz de usuario de texto (TUI) para NetworkManager
. En la siguiente sección se explica cómo se puede configurar una interfaz de red mediante nmtui
.
La aplicación nmtui aplicación no admite todos los tipos de conexión. En particular, no puede añadir o modificar conexiones VPN o conexiones Ethernet que requieran autenticación 802.1X.
5.1. Iniciar la utilidad nmtui
Este procedimiento describe cómo iniciar la interfaz de usuario de texto de NetworkManager, nmtui
.
Requisitos previos
-
El paquete
NetworkManager-tui
está instalado.
Procedimiento
Para iniciar
nmtui
, introduzca:#
nmtui
Para navegar:
- Utilice los cursores o pulse Tab para avanzar y pulse Shift+Tabulador para retroceder en las opciones.
- Utilice Enter para seleccionar una opción.
- Utilice la barra espaciadora para cambiar el estado de las casillas de verificación.
5.2. Añadir un perfil de conexión mediante nmtui
La aplicación nmtui
proporciona una interfaz de usuario de texto para NetworkManager. Este procedimiento describe cómo añadir un nuevo perfil de conexión.
Requisitos previos
-
El paquete
NetworkManager-tui
está instalado.
Procedimiento
Inicie la utilidad de interfaz de usuario de texto NetworkManager:
#
nmtui
-
Seleccione la entrada del menú
Edit a connection
y pulse Intro. - Seleccione el botón Añadir y pulse Intro.
-
Seleccione
Ethernet
y pulse Intro. Rellene los campos con los detalles de la conexión.
- Seleccione OK para guardar los cambios.
-
Seleccione
Back
para volver al menú principal. -
Seleccione
Activate a connection
y pulse Intro. - Seleccione la nueva entrada de conexión y pulse Enter para activar la conexión.
- Seleccione Atrás para volver al menú principal.
-
Seleccione
Quit
.
Pasos de verificación
Muestra el estado de los dispositivos y las conexiones:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected Example-ConnectionPara mostrar todos los ajustes del perfil de conexión:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp1s0 ...
Recursos adicionales
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
-
Para más detalles sobre la aplicación
nmtui
, consulte la página mannmtui(1)
. - Si la configuración del disco no coincide con la del dispositivo, al iniciar o reiniciar NetworkManager se crea una conexión en memoria que refleja la configuración del dispositivo. Para más detalles y cómo evitar este problema, consulte NetworkManager duplica una conexión después de reiniciar el servicio NetworkManager.
5.3. Aplicación de cambios a una conexión modificada mediante nmtui
Después de modificar una conexión en nmtui
, debe reactivar la conexión. Tenga en cuenta que la reactivación de una conexión en nmtui
desactiva temporalmente la conexión.
Procedimiento
En el menú principal, seleccione la entrada del menú
Activate a connection
:- Seleccione la conexión modificada.
A la derecha, seleccione el botón
Deactivate
y pulse Intro:- Seleccione de nuevo la conexión.
A la derecha, seleccione el botón
Activate
y pulse Intro:
Capítulo 6. Introducción a nmcli
Esta sección describe información general sobre la utilidad nmcli
.
6.1. Los diferentes formatos de salida de nmcli
La utilidad nmcli
admite diferentes opciones para modificar la salida de los comandos de nmcli
. Utilizando estas opciones, puede mostrar sólo la información necesaria. Esto simplifica el procesamiento de la salida en los scripts.
Por defecto, la utilidad nmcli
muestra su salida en un formato tipo tabla:
# nmcli device
DEVICE TYPE STATE CONNECTION
enp1s0 ethernet connected enp1s0
lo loopback unmanaged --
Utilizando la opción -f
, puede mostrar columnas específicas en un orden personalizado. Por ejemplo, para mostrar sólo la columna DEVICE
y STATE
, introduzca:
# nmcli -f DEVICE,STATE device
DEVICE STATE
enp1s0 connected
lo unmanaged
La opción -t
permite mostrar los campos individuales de la salida en un formato separado por dos puntos:
# nmcli -t device
enp1s0:ethernet:connected:enp1s0
lo:loopback:unmanaged:
La combinación de -f
y -t
para mostrar sólo campos específicos en formato separado por dos puntos puede ser útil cuando se procesa la salida en scripts:
# nmcli -f DEVICE,STATE -t device
enp1s0:connected
lo:unmanaged
6.2. Uso de la finalización de tabulaciones en nmcli
Si el paquete bash-completion
está instalado en su host, la utilidad nmcli
admite la finalización de tabulaciones. Esto le permite autocompletar los nombres de las opciones e identificar posibles opciones y valores.
Por ejemplo, si se escribe nmcli con
y se pulsa el tabulador, el intérprete de comandos completa automáticamente el comando a nmcli connection
.
Para la finalización, las opciones o el valor que ha escrito deben ser únicos. Si no es único, entonces nmcli
muestra todas las posibilidades. Por ejemplo, si escribe nmcli connection d
y pulsa el tabulador, el comando muestra delete
y down
como posibles opciones.
También puede utilizar la función de completar el tabulador para mostrar todas las propiedades que puede establecer en un perfil de conexión. Por ejemplo, si escribe nmcli connection modify connection_name
y pulsa el tabulador, el comando muestra la lista completa de propiedades disponibles.
6.3. Comandos nmcli frecuentes
A continuación se ofrece un resumen de los comandos más utilizados en nmcli
.
Para mostrar la lista de perfiles de conexión, introduzca:
#
nmcli connection show
NAME UUID TYPE DEVICE enp1s0 45224a39-606f-4bf7-b3dc-d088236c15ee ethernet enp1s0Para mostrar la configuración de un perfil de conexión específico, introduzca:
#
nmcli connection show connection_name
connection.id: enp1s0 connection.uuid: 45224a39-606f-4bf7-b3dc-d088236c15ee connection.stable-id: -- connection.type: 802-3-ethernet ...Para modificar las propiedades de una conexión, introduzca:
#
nmcli connection modify connection_name property value
Puede modificar varias propiedades con un solo comando si pasa varias
property value
combinaciones al comando.Para mostrar la lista de dispositivos de red, su estado y qué perfiles de conexión utilizan el dispositivo, introduzca:
#
nmcli device
DEVICE TYPE STATE CONNECTION enp1s0 ethernet connected enp1s0 enp8s0 ethernet disconnected -- enp7s0 ethernet unmanaged -- ...Para activar una conexión, introduzca:
#
nmcli connection up connection_name
Para desactivar una conexión, introduzca:
#
nmcli connection down connection_name
Capítulo 7. Introducción a la configuración de la red mediante la GUI de GNOME
Puede gestionar y configurar las conexiones de red utilizando las siguientes formas en GNOME:
- el icono de conexión de red de GNOME Shell en la parte superior derecha del escritorio
- la aplicación GNOME control-center aplicación
- la aplicación GNOME nm-connection-editor aplicación
7.1. Conectarse a una red utilizando el icono de conexión de red de GNOME Shell
Si utiliza la GUI de GNOME, puede utilizar el icono de conexión de red de GNOME Shell para conectarse a una red.
Requisitos previos
-
El grupo de paquetes
GNOME
está instalado. - Ha iniciado sesión en GNOME.
- Si la red requiere una configuración específica, como una dirección IP estática o una configuración 802.1x, ya se ha creado un perfil de conexión.
Procedimiento
Haga clic en el icono de conexión de red en la esquina superior derecha de su escritorio.
Según el tipo de conexión, seleccione la entrada
Wired
oWi-Fi
.-
Para una conexión por cable, seleccione
Connect
para conectarse a la red. -
Para una conexión Wi-Fi, haga clic en
Select network
, seleccione la red a la que desea conectarse e introduzca la contraseña.
-
Para una conexión por cable, seleccione
Capítulo 8. Configurar una conexión Ethernet
Esta sección describe diferentes formas de configurar una conexión Ethernet con direcciones IP estáticas y dinámicas.
8.1. Configuración de una conexión Ethernet estática mediante nmcli
Este procedimiento describe la adición de una conexión Ethernet con la siguiente configuración utilizando la utilidad nmcli
:
-
Una dirección IPv4 estática -
192.0.2.1
con una máscara de subred/24
-
Una dirección IPv6 estática -
2001:db8:1::1
con una máscara de subred/64
-
Una pasarela por defecto IPv4 -
192.0.2.254
-
Una pasarela por defecto IPv6 -
2001:db8:1::fffe
-
Un servidor DNS IPv4 -
192.0.2.200
-
Un servidor DNS IPv6 -
2001:db8:1::ffbb
-
Un dominio de búsqueda DNS -
example.com
Procedimiento
Añade un nuevo perfil de conexión NetworkManager para la conexión Ethernet:
#
nmcli connection add con-name Example-Connection ifname enp7s0 type ethernet
Los pasos siguientes modifican el perfil de conexión
Example-Connection
que ha creado.Establezca la dirección IPv4:
#
nmcli connection modify Example-Connection ipv4.addresses 192.0.2.1/24
Establezca la dirección IPv6:
#
nmcli connection modify Example-Connection ipv6.addresses 2001:db8:1::1/64
Establezca el método de conexión IPv4 e IPv6 en
manual
:#
nmcli connection modify Example-Connection ipv4.method manual
#nmcli connection modify Example-Connection ipv6.method manual
Establezca las pasarelas por defecto IPv4 e IPv6:
#
nmcli connection modify Example-Connection ipv4.gateway 192.0.2.254
#nmcli connection modify Example-Connection ipv6.gateway 2001:db8:1::fffe
Establezca las direcciones de los servidores DNS IPv4 e IPv6:
#
nmcli connection modify Example-Connection ipv4.dns "192.0.2.200"
#nmcli connection modify Example-Connection ipv6.dns "2001:db8:1::ffbb"
Para establecer varios servidores DNS, especifíquelos separados por espacios y encerrados entre comillas.
Establezca el dominio de búsqueda DNS para la conexión IPv4 e IPv6:
#
nmcli connection modify Example-Connection ipv4.dns-search example.com
#nmcli connection modify Example-Connection ipv6.dns-search example.com
Activar el perfil de conexión:
#
nmcli connection up Example-Connection
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
Pasos de verificación
Muestra el estado de los dispositivos y las conexiones:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara mostrar todos los ajustes del perfil de conexión:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Utilice la utilidad
ping
para verificar que este host puede enviar paquetes a otros hosts.Hacer ping a una dirección IP en la misma subred.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, verifique la configuración de la IP y la subred.
Hacer ping a una dirección IP en una subred remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, haga un ping a la puerta de enlace por defecto para verificar la configuración.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Utilice la utilidad
host
para verificar que la resolución de nombres funciona. Por ejemplo:#
host client.example.com
Si el comando devuelve algún error, como
connection timed out
ono servers could be reached
, verifique su configuración de DNS.
Pasos para la resolución de problemas
Si la conexión falla o si la interfaz de red cambia entre un estado de subida y de bajada:
- Asegúrese de que el cable de red está conectado al host y a un conmutador.
- Compruebe si el fallo de enlace existe sólo en este host o también en otros hosts conectados al mismo switch al que está conectado el servidor.
- Compruebe que el cable de red y la interfaz de red funcionan como se espera. Realice los pasos de diagnóstico de hardware y sustituya los cables y las tarjetas de interfaz de red defectuosos.
Recursos adicionales
-
Consulte la página de manual
nm-settings(5)
para obtener más información sobre las propiedades del perfil de conexión y su configuración. -
Para más detalles sobre la utilidad
nmcli
, consulte la página de manualnmcli(1)
. - Si la configuración del disco no coincide con la del dispositivo, al iniciar o reiniciar NetworkManager se crea una conexión en memoria que refleja la configuración del dispositivo. Para más detalles y cómo evitar este problema, consulte NetworkManager duplica una conexión después de reiniciar el servicio NetworkManager.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
8.2. Configuración de una conexión Ethernet estática mediante el editor interactivo nmcli
Este procedimiento describe la adición de una conexión Ethernet con los siguientes ajustes utilizando el modo interactivo nmcli
:
-
Una dirección IPv4 estática -
192.0.2.1
con una máscara de subred/24
-
Una dirección IPv6 estática -
2001:db8:1::1
con una máscara de subred/64
-
Una pasarela por defecto IPv4 -
192.0.2.254
-
Una pasarela por defecto IPv6 -
2001:db8:1::fffe
-
Un servidor DNS IPv4 -
192.0.2.200
-
Un servidor DNS IPv6 -
2001:db8:1::ffbb
-
Un dominio de búsqueda DNS -
example.com
Procedimiento
Para añadir un nuevo perfil de conexión de NetworkManager para la conexión Ethernet, e iniciar el modo interactivo, introduzca:
#
nmcli connection edit type ethernet con-name Example-Connection
Establezca la interfaz de red:
nmcli>
set connection.interface-name enp7s0
Establezca la dirección IPv4:
nmcli>
set ipv4.addresses 192.0.2.1/24
Establezca la dirección IPv6:
nmcli>
set ipv6.addresses 2001:db8:1::1/64
Establezca el método de conexión IPv4 e IPv6 en
manual
:nmcli>
set ipv4.method manual
nmcli>set ipv6.method manual
Establezca las pasarelas por defecto IPv4 e IPv6:
nmcli>
set ipv4.gateway 192.0.2.254
nmcli>set ipv6.gateway 2001:db8:1::fffe
Establezca las direcciones de los servidores DNS IPv4 e IPv6:
nmcli>
set ipv4.dns 192.0.2.200
nmcli>set ipv6.dns 2001:db8:1::ffbb
Para establecer varios servidores DNS, especifíquelos separados por espacios y encerrados entre comillas.
Establezca el dominio de búsqueda DNS para la conexión IPv4 e IPv6:
nmcli>
set ipv4.dns-search example.com
nmcli>set ipv6.dns-search example.com
Guarde y active la conexión:
nmcli>
save persistent
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection. Do you still want to save? (yes/no) [yes]yes
Salga del modo interactivo:
nmcli>
quit
Pasos de verificación
Muestra el estado de los dispositivos y las conexiones:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara mostrar todos los ajustes del perfil de conexión:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Utilice la utilidad
ping
para verificar que este host puede enviar paquetes a otros hosts.Hacer ping a una dirección IP en la misma subred.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, verifique la configuración de la IP y la subred.
Hacer ping a una dirección IP en una subred remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, haga un ping a la puerta de enlace por defecto para verificar la configuración.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Utilice la utilidad
host
para verificar que la resolución de nombres funciona. Por ejemplo:#
host client.example.com
Si el comando devuelve algún error, como
connection timed out
ono servers could be reached
, verifique su configuración de DNS.
Pasos para la resolución de problemas
Si la conexión falla o si la interfaz de red cambia entre un estado de subida y de bajada:
- Asegúrese de que el cable de red está conectado al host y a un conmutador.
- Compruebe si el fallo de enlace existe sólo en este host o también en otros hosts conectados al mismo switch al que está conectado el servidor.
- Compruebe que el cable de red y la interfaz de red funcionan como se espera. Realice los pasos de diagnóstico de hardware y sustituya los cables y las tarjetas de interfaz de red defectuosos.
Recursos adicionales
-
Consulte la página de manual
nm-settings(5)
para obtener más información sobre las propiedades del perfil de conexión y su configuración. -
Para más detalles sobre la utilidad
nmcli
, consulte la página de manualnmcli(1)
. - Si la configuración del disco no coincide con la del dispositivo, al iniciar o reiniciar NetworkManager se crea una conexión en memoria que refleja la configuración del dispositivo. Para más detalles y cómo evitar este problema, consulte NetworkManager duplica una conexión después de reiniciar el servicio NetworkManager.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
8.3. Configuración de una conexión Ethernet estática mediante RHEL System Roles
Este procedimiento describe cómo utilizar los roles del sistema RHEL para añadir de forma remota una conexión Ethernet para la interfaz enp7s0
con la siguiente configuración mediante la ejecución de un libro de jugadas de Ansible:
-
Una dirección IPv4 estática -
192.0.2.1
con una máscara de subred/24
-
Una dirección IPv6 estática -
2001:db8:1::1
con una máscara de subred/64
-
Una pasarela por defecto IPv4 -
192.0.2.254
-
Una pasarela por defecto IPv6 -
2001:db8:1::fffe
-
Un servidor DNS IPv4 -
192.0.2.200
-
Un servidor DNS IPv6 -
2001:db8:1::ffbb
-
Un dominio de búsqueda DNS -
example.com
Ejecute este procedimiento en el nodo de control de Ansible.
Requisitos previos
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si utiliza un usuario remoto diferente a
root
cuando ejecuta el libro de jugadas, este usuario tiene los permisos apropiados desudo
en el nodo gestionado. - El host utiliza NetworkManager para configurar la red.
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:node.example.com
Cree el libro de jugadas
~/ethernet-static-IP.yml
con el siguiente contenido:--- - name: Configure an Ethernet connection with static IP hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp7s0 type: ethernet autoconnect: yes ip: address: - 192.0.2.1/24 - 2001:db8:1::1/64 gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com state: up
Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/ethernet-static-IP.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/ethernet-static-IP.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
solicite la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Recursos adicionales
-
Para obtener detalles sobre los parámetros utilizados en
network_connections
y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
8.4. Configuración de una conexión Ethernet dinámica mediante nmcli
Este procedimiento describe la adición de una conexión Ethernet dinámica utilizando la utilidad nmcli
. Con esta configuración, NetworkManager solicita la configuración IP para esta conexión a un servidor DHCP.
Requisitos previos
- Hay un servidor DHCP disponible en la red.
Procedimiento
Añade un nuevo perfil de conexión NetworkManager para la conexión Ethernet:
#
nmcli connection add con-name Example-Connection ifname enp7s0 type ethernet
Opcionalmente, cambie el nombre de host que NetworkManager envía al servidor DHCP cuando utiliza el perfil
Example-Connection
:#
nmcli connection modify Example-Connection ipv4.dhcp-hostname Example ipv6.dhcp-hostname Example
Opcionalmente, cambie el ID de cliente que NetworkManager envía a un servidor DHCP IPv4 cuando se utiliza el perfil
Example-Connection
:#
nmcli connection modify Example-Connection ipv4.dhcp-client-id client-ID
Tenga en cuenta que no existe el parámetro
dhcp-client-id
para IPv6. Para crear un identificador para IPv6, configure el serviciodhclient
.
Pasos de verificación
Muestra el estado de los dispositivos y las conexiones:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara mostrar todos los ajustes del perfil de conexión:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Utilice la utilidad
ping
para verificar que este host puede enviar paquetes a otros hosts.Hacer ping a una dirección IP en la misma subred.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, verifique la configuración de la IP y la subred.
Hacer ping a una dirección IP en una subred remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, haga un ping a la puerta de enlace por defecto para verificar la configuración.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Utilice la utilidad
host
para verificar que la resolución de nombres funciona. Por ejemplo:#
host client.example.com
Si el comando devuelve algún error, como
connection timed out
ono servers could be reached
, verifique su configuración de DNS.
Recursos adicionales
-
Para más detalles sobre la configuración de un identificador de cliente para IPv6, consulte la página de manual
dhclient(8)
. -
Consulte la página de manual
nm-settings(5)
para obtener más información sobre las propiedades del perfil de conexión y su configuración. -
Para más detalles sobre la utilidad
nmcli
, consulte la página de manualnmcli(1)
. - Si la configuración del disco no coincide con la del dispositivo, al iniciar o reiniciar NetworkManager se crea una conexión en memoria que refleja la configuración del dispositivo. Para más detalles y cómo evitar este problema, consulte NetworkManager duplica una conexión después de reiniciar el servicio NetworkManager.
8.5. Configuración de una conexión Ethernet dinámica mediante el editor interactivo nmcli
Este procedimiento describe la adición de una conexión Ethernet dinámica utilizando el editor interactivo de la utilidad nmcli
. Con esta configuración, NetworkManager solicita la configuración IP para esta conexión a un servidor DHCP.
Requisitos previos
- Hay un servidor DHCP disponible en la red.
Procedimiento
Para añadir un nuevo perfil de conexión de NetworkManager para la conexión Ethernet, e iniciar el modo interactivo, introduzca:
#
nmcli connection edit type ethernet con-name Example-Connection
Establezca la interfaz de red:
nmcli>
set connection.interface-name enp7s0
Opcionalmente, cambie el nombre de host que NetworkManager envía al servidor DHCP cuando utiliza el perfil
Example-Connection
:nmcli>
set ipv4.dhcp-hostname Example
nmcli>set ipv6.dhcp-hostname Example
Opcionalmente, cambie el ID de cliente que NetworkManager envía a un servidor DHCP IPv4 cuando se utiliza el perfil
Example-Connection
:nmcli>
set ipv4.dhcp-client-id client-ID
Tenga en cuenta que no existe el parámetro
dhcp-client-id
para IPv6. Para crear un identificador para IPv6, configure el serviciodhclient
.Guarde y active la conexión:
nmcli>
save persistent
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection. Do you still want to save? (yes/no) [yes]yes
Salga del modo interactivo:
nmcli>
quit
Pasos de verificación
Muestra el estado de los dispositivos y las conexiones:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara mostrar todos los ajustes del perfil de conexión:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Utilice la utilidad
ping
para verificar que este host puede enviar paquetes a otros hosts.Hacer ping a una dirección IP en la misma subred.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, verifique la configuración de la IP y la subred.
Hacer ping a una dirección IP en una subred remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, haga un ping a la puerta de enlace por defecto para verificar la configuración.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Utilice la utilidad
host
para verificar que la resolución de nombres funciona. Por ejemplo:#
host client.example.com
Si el comando devuelve algún error, como
connection timed out
ono servers could be reached
, verifique su configuración de DNS.
Recursos adicionales
-
Para más detalles sobre la configuración de un identificador de cliente para IPv6, consulte la página de manual
dhclient(8)
. -
Consulte la página de manual
nm-settings(5)
para obtener más información sobre las propiedades del perfil de conexión y su configuración. -
Para más detalles sobre la utilidad
nmcli
, consulte la página de manualnmcli(1)
. - Si la configuración del disco no coincide con la del dispositivo, al iniciar o reiniciar NetworkManager se crea una conexión en memoria que refleja la configuración del dispositivo. Para más detalles y cómo evitar este problema, consulte NetworkManager duplica una conexión después de reiniciar el servicio NetworkManager.
8.6. Configuración de una conexión Ethernet dinámica mediante RHEL System Roles
Este procedimiento describe cómo utilizar RHEL System Roles para añadir remotamente una conexión Ethernet dinámica para la interfaz enp7s0
ejecutando un playbook de Ansible. Con esta configuración, la conexión de red solicita la configuración IP para esta conexión a un servidor DHCP. Ejecute este procedimiento en el nodo de control de Ansible.
Requisitos previos
- Hay un servidor DHCP disponible en la red.
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si utiliza un usuario remoto diferente a
root
cuando ejecuta el libro de jugadas, este usuario tiene los permisos apropiados desudo
en el nodo gestionado. - El host utiliza NetworkManager para configurar la red.
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:node.example.com
Cree el libro de jugadas
~/ethernet-dynamic-IP.yml
con el siguiente contenido:--- - name: Configure an Ethernet connection with dynamic IP hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp7s0 type: ethernet autoconnect: yes ip: dhcp4: yes auto6: yes state: up
Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/ethernet-dynamic-IP.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/ethernet-dynamic-IP.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
pida la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Recursos adicionales
-
Para obtener detalles sobre los parámetros utilizados en
network_connections
y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
8.7. Configuración de una conexión Ethernet mediante el centro de control
Las conexiones Ethernet son los tipos de conexión más utilizados en las máquinas físicas o virtuales. Esta sección describe cómo configurar este tipo de conexión en el sitio web de GNOME control-center
:
Tenga en cuenta que control-center
no admite tantas opciones de configuración como la aplicación nm-connection-editor
o la utilidad nmcli
.
Requisitos previos
- Existe un dispositivo Ethernet físico o virtual en la configuración del servidor.
- GNOME está instalado.
Procedimiento
-
Pulse la tecla Super, introduzca
Settings
, y pulse Enter. -
Seleccione
Network
en la navegación de la izquierda. -
Haga clic en el botón junto a la entrada
Wired
para crear un nuevo perfil. -
Opcional: Establezca un nombre para la conexión en la pestaña
Identity
. En la pestaña
IPv4
, configure los ajustes de IPv4. Por ejemplo, seleccione el métodoManual
, configure una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada y un servidor DNS:En la pestaña
IPv6
, configure los ajustes de IPv6. Por ejemplo, seleccione el métodoManual
, configure una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada y un servidor DNS:-
Haga clic en el botón Añadir para guardar la conexión. GNOME
control-center
activa automáticamente la conexión.
Pasos de verificación
Muestra el estado de los dispositivos y las conexiones:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet connected Example-ConnectionPara mostrar todos los ajustes del perfil de conexión:
#
nmcli connection show Example-Connection
connection.id: Example-Connection connection.uuid: b6cdfa1c-e4ad-46e5-af8b-a75f06b79f76 connection.stable-id: -- connection.type: 802-3-ethernet connection.interface-name: enp7s0 ...Utilice la utilidad
ping
para verificar que este host puede enviar paquetes a otros hosts.Hacer ping a una dirección IP en la misma subred.
Para IPv4:
#
ping 192.0.2.3
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, verifique la configuración de la IP y la subred.
Hacer ping a una dirección IP en una subred remota.
Para IPv4:
#
ping 198.162.3.1
Para IPv6:
#
ping 2001:db8:2::1
Si el comando falla, haga un ping a la puerta de enlace por defecto para verificar la configuración.
Para IPv4:
#
ping 192.0.2.254
Para IPv6:
#
ping 2001:db8:1::fffe
Utilice la utilidad
host
para verificar que la resolución de nombres funciona. Por ejemplo:#
host client.example.com
Si el comando devuelve algún error, como
connection timed out
ono servers could be reached
, verifique su configuración de DNS.
Pasos para la resolución de problemas
Si la conexión falla o si la interfaz de red cambia entre un estado de subida y de bajada:
- Asegúrese de que el cable de red está conectado al host y a un conmutador.
- Compruebe si el fallo de enlace existe sólo en este host o también en otros hosts conectados al mismo switch al que está conectado el servidor.
- Compruebe que el cable de red y la interfaz de red funcionan como se espera. Realice los pasos de diagnóstico de hardware y sustituya los cables y las tarjetas de interfaz de red defectuosos.
Recursos adicionales
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
8.8. Configuración de una conexión Ethernet mediante nm-connection-editor
Las conexiones Ethernet son los tipos de conexión más utilizados en los servidores físicos o virtuales. Esta sección describe cómo configurar este tipo de conexión utilizando la aplicación nm-connection-editor
.
Requisitos previos
- Existe un dispositivo Ethernet físico o virtual en la configuración del servidor.
- GNOME está instalado.
Procedimiento
Abre un terminal y entra:
$ nm-connection-editor
- Pulse el botón para añadir una nueva conexión.
-
Seleccione el tipo de conexión
Ethernet
y haga clic en Crear. En la pestaña
General
:Para habilitar automáticamente esta conexión al arrancar el sistema o al reiniciar el servicio
NetworkManager
:-
Seleccione
Connect automatically with priority
. Opcional: Cambie el valor de la prioridad junto a
Connect automatically with priority
.Si existen varios perfiles de conexión para el mismo dispositivo, NetworkManager sólo activa un perfil. Por defecto, NetworkManager activa el último perfil utilizado que tenga activada la conexión automática. Sin embargo, si se establecen valores de prioridad en los perfiles, NetworkManager activa el perfil con la mayor prioridad.
-
Seleccione
-
Desactive la casilla
All users may connect to this network
si el perfil debe estar disponible sólo para el usuario que creó el perfil de conexión.
-
En la pestaña
Ethernet
, seleccione un dispositivo y, opcionalmente, otros ajustes relacionados con Ethernet -
En la pestaña
IPv4 Settings
, configure los ajustes de IPv4. Por ejemplo, configure una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada y un servidor DNS -
En la pestaña
IPv6 Settings
, configure los ajustes de IPv6. Por ejemplo, establezca una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada y un servidor DNS - Guarda la conexión.
-
Cerrar
nm-connection-editor
.
Pasos de verificación
Utilice la utilidad
ping
para verificar que este host puede enviar paquetes a otros hosts.Hacer ping a una dirección IP en la misma subred.
Para IPv4:
# ping 192.0.2.3
Para IPv6:
# ping 2001:db8:2::1
Si el comando falla, verifique la configuración de la IP y la subred.
Hacer ping a una dirección IP en una subred remota.
Para IPv4:
# ping 198.162.3.1
Para IPv6:
# ping 2001:db8:2::1
Si el comando falla, haga un ping a la puerta de enlace por defecto para verificar la configuración.
Para IPv4:
# ping 192.0.2.254
Para IPv6:
# ping 2001:db8:1::fff3
Utilice la utilidad
host
para verificar que la resolución de nombres funciona. Por ejemplo:# host cliente.ejemplo.com
Si el comando devuelve algún error, como
connection timed out
ono servers could be reached
, verifique su configuración de DNS.
Recursos adicionales
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
8.9. Configurar el comportamiento DHCP de una conexión de NetworkManager
Un cliente del Protocolo de Configuración Dinámica de Host (DHCP) solicita la dirección IP dinámica y la información de configuración correspondiente a un servidor DHCP cada vez que un cliente se conecta a la red.
Cuando se configura una conexión para recuperar una dirección IP de un servidor DHCP, NetworkManager solicita una dirección IP a un servidor DHCP. Por defecto, el cliente espera 45 segundos para que se complete esta solicitud. Cuando se inicia una conexión DHCP
, un cliente dhcp solicita una dirección IP a un servidor DHCP
.
Requisitos previos
- Se configura una conexión que utiliza DHCP en el host.
Procedimiento
Establezca las propiedades
ipv4.dhcp-timeout
yipv6.dhcp-timeout
. Por ejemplo, para establecer ambas opciones en30
segundos, introduzca:#
nmcli connection modify connection_name ipv4.dhcp-timeout 30 ipv6.dhcp-timeout 30
Alternativamente, establezca los parámetros en
infinity
para configurar que NetworkManager no deje de intentar solicitar y renovar una dirección IP hasta que tenga éxito.Opcional: Configure el comportamiento si NetworkManager no recibe una dirección IPv4 antes del tiempo de espera:
#
nmcli connection modify connection_name ipv4.may-fail value
Si se configura la opción
ipv4.may-fail
:yes
, el estado de la conexión depende de la configuración de IPv6:- Si la configuración de IPv6 está activada y tiene éxito, NetworkManager activa la conexión IPv6 y ya no intenta activar la conexión IPv4.
- Si la configuración de IPv6 está desactivada o no está configurada, la conexión falla.
no
, la conexión se desactiva. En este caso:-
Si la propiedad
autoconnect
de la conexión está activada, NetworkManager reintenta activar la conexión tantas veces como se establezca en la propiedadautoconnect-retries
. El valor por defecto es4
. - Si la conexión sigue sin poder adquirir una dirección DHCP, la autoactivación falla. Tenga en cuenta que después de 5 minutos, el proceso de autoconexión se inicia de nuevo para adquirir una dirección IP del servidor DHCP.
-
Si la propiedad
Opcional: Configure el comportamiento si NetworkManager no recibe una dirección IPv6 antes del tiempo de espera:
#
nmcli connection modify connection_name ipv6.may-fail value
Recursos adicionales
-
Para más detalles sobre las propiedades descritas en esta sección, consulte la página man
nm-settings(5)
.
Capítulo 9. Gestión de las conexiones Wi-Fi
Esta sección describe cómo configurar y gestionar las conexiones Wi-Fi.
9.1. Establecer el dominio regulador inalámbrico
En Red Hat Enterprise Linux, el paquete crda contiene el Agente Central de Dominio Reglamentario que proporciona al núcleo las normas de regulación inalámbrica para una jurisdicción determinada. Es utilizado por ciertos udev scripts y no debe ser ejecutado manualmente a menos que se depuren udev scripts. El kernel se ejecuta crda enviando un udev evento cuando se produce un nuevo cambio de dominio normativo. Los cambios de dominio regulador son activados por el subsistema inalámbrico de Linux (IEEE-802.11). Este subsistema utiliza el archivo regulatory.bin
para mantener la información de su base de datos regulatoria.
La utilidad setregdomain
establece el dominio regulador para su sistema. Setregdomain
no toma argumentos y normalmente se llama a través de un script del sistema como udev en lugar de hacerlo manualmente el administrador. Si la búsqueda del código de país falla, el administrador del sistema puede definir la variable de entorno COUNTRY
en el archivo /etc/sysconfig/regdomain
.
Recursos adicionales
Consulte las siguientes páginas de manual para obtener más información sobre el dominio regulador:
-
setregdomain(1)
página de manual - Establece el dominio regulador basado en el código de país. -
crda(8)
man page - Envía al kernel un dominio de regulación inalámbrica para una ISO o IEC 3166 alpha2 dada. -
regulatory.bin(5)
página de manual - Muestra la base de datos de regulación inalámbrica de Linux. -
iw(8)
man page - Muestra o manipula los dispositivos inalámbricos y su configuración.
9.2. Configuración de una conexión Wi-Fi mediante nmcli
Este procedimiento describe cómo configurar un perfil de conexión Wi-fi utilizando nmcli.
Requisitos previos
- La utilidad nmcli a instalar.
Asegúrate de que la radio WiFi está activada (por defecto):
~]$
nmcli radio wifi on
Procedimiento
Para crear un perfil de conexión Wi-Fi con configuración estática
IP
:~]$
nmcli con add con-name MyCafe ifname wlan0 type wifi ssid MyCafe ` `ip4 192.168.100.101/24 gw4 192.168.100.1
Establezca un servidor DNS. Por ejemplo, para establecer
192.160.100.1
como servidor DNS:~]$
nmcli con modify con-name MyCafe ipv4.dns "192.160.100.1"
Opcionalmente, establezca un dominio de búsqueda DNS. Por ejemplo, para establecer el dominio de búsqueda en
example.com
:~]$
nmcli con modify con-name MyCafe ipv4.dns-search "example.com"
Para comprobar una propiedad concreta, por ejemplo
mtu
:~]$
nmcli connection show id MyCafe | grep mtu
802-11-wireless.mtu: autoPara cambiar la propiedad de un ajuste:
~]$
nmcli connection modify id MyCafe 802-11-wireless.mtu 1350
Para verificar el cambio:
~]$
nmcli connection show id MyCafe | grep mtu
802-11-wireless.mtu: 1350
Pasos de verificación
Utilice la utilidad
ping
para verificar que este host puede enviar paquetes a otros hosts.Hacer ping a una dirección IP en la misma subred. Por ejemplo:
# ping 192.168.100.103
Si el comando falla, verifique la configuración de la IP y la subred.
Hacer ping a una dirección IP en una subred remota. Por ejemplo:
# ping 198.51.16.3
Si el comando falla, haga un ping a la puerta de enlace por defecto para verificar la configuración.
# ping 192.168.100.1
Utilice la utilidad
host
para verificar que la resolución de nombres funciona. Por ejemplo:# host cliente.ejemplo.com
Si el comando devuelve algún error, como
connection timed out
ono servers could be reached
, verifique su configuración de DNS.
Recursos adicionales
-
Consulte la página de manual
nm-settings(5)
para obtener más información sobre las propiedades y su configuración. - Si la configuración del disco no coincide con la del dispositivo, al iniciar o reiniciar NetworkManager se crea una conexión en memoria que refleja la configuración del dispositivo. Para más detalles y cómo evitar este problema, consulte NetworkManager duplica una conexión después de reiniciar el servicio NetworkManager.
9.3. Configuración de una conexión Wi-Fi mediante el centro de control
Cuando se conecta a un Wi-Fi
, los ajustes de red se rellenan previamente en función de la conexión de red actual. Esto significa que los ajustes se detectarán automáticamente cuando la interfaz se conecte a una red.
Este procedimiento describe cómo utilizar control-center para configurar manualmente los ajustes de Wi-Fi
.
Procedimiento
-
Pulse la tecla Super para entrar en
Activities Overview
, escribaWi-Fi
y pulse Intro. En la entrada del menú de la izquierda verás la lista de redes disponibles. Seleccione el icono de la rueda dentada situado a la derecha del nombre de la conexión
Wi-Fi
que desea editar, y aparecerá el cuadro de diálogo de edición de la conexión. La ventana del menú Details muestra los detalles de la conexión en los que puede realizar más configuraciones.Options
-
Si selecciona
Connect automatically
, NetworkManager se conecta automáticamente a esta conexión siempre que NetworkManager detecte que está disponible. Si no desea NetworkManager conectarse automáticamente, desactive la casilla. Tenga en cuenta que cuando la casilla está desactivada, tiene que seleccionar esa conexión manualmente en el menú del icono de conexión de red para que se conecte. -
Para que una conexión esté disponible para otros usuarios, seleccione la casilla
Make available to other users
. También puedes controlar el uso de datos en segundo plano. Si dejas
Restrict background data usage
sin especificar (por defecto), entonces NetworkManager intenta descargar los datos que estás utilizando activamente. De lo contrario, seleccione la casilla y NetworkManager establece la conexión como medido, y aplica la restricción en el uso de datos de fondo.NotaPara eliminar una conexión de
Wi-Fi
, haga clic en el cuadro rojo deForget Connection
.
-
Si selecciona
Seleccione la entrada del menú Identity para ver las opciones básicas de configuración.
SSID
- El Service Set Identifier (SSID) del punto de acceso (AP).BSSID
- El Basic Service Set Identifier (BSSID) es la dirección MAC, también conocida como hardware address, del punto de acceso inalámbrico específico al que se está conectando cuando está en modoInfrastructure
. Este campo está en blanco por defecto, y puede conectarse a un punto de acceso inalámbrico porSSID
sin tener que especificar suBSSID
. Si se especifica el BSSID, se forzará al sistema a asociarse sólo a un punto de acceso específico. En el caso de las redes ad-hoc, elBSSID
es generado aleatoriamente por el mac80211 subsistema cuando se crea la red ad-hoc. No se muestra por NetworkManager.MAC address
- La página MAC address permite asociar un adaptador inalámbrico específico con una conexión (o conexiones) concreta.Cloned Address
- Una dirección MAC clonada para usar en lugar de la dirección real del hardware. Dejar en blanco a menos que sea necesario.Para configurar más direcciones IP, seleccione las entradas de menú IPv4 y IPv6.
Por defecto, tanto
IPv4
comoIPv6
están configurados con una configuración automática en función de la configuración actual de la red. Esto significa que direcciones como la dirección IP local, la dirección DNS y otras configuraciones se detectarán automáticamente cuando la interfaz se conecte a una red. Si un servidor DHCP asigna la configuración IP en esta red, esto es suficiente, pero también puede proporcionar una configuración estática en los ajustesIPv4
yIPv6
. En las entradas de menú IPv4 y IPv6, puede ver los siguientes ajustes:IPv4 Method
-
Automatic (DHCP)
- Elija esta opción si la red a la que se está conectando utiliza anuncios de router (RA) o un servidorDHCP
para asignar direcciones IP dinámicas. Puede ver la dirección IP asignada en la entrada del menú Details. -
Link-Local Only
- Elija esta opción si la red a la que se conecta no tiene un servidorDHCP
y no quiere asignar direcciones IP manualmente. Se asignarán direcciones aleatorias según RFC 3927 con el prefijo169.254/16
. -
Manual
- Elija esta opción si desea asignar direcciones IP manualmente. -
Disable
-IPv4
está desactivado para esta conexión.
-
DNS
Si
Automatic
esON
, y no hay ningún servidor DHCP disponible que asigne servidores DNS a esta conexión, cámbielo aOFF
para introducir la dirección IP de un servidor DNS separando las IPs por comas.Routes
Tenga en cuenta que en la sección
Routes
, cuandoAutomatic
esON
, se utilizan rutas procedentes de anuncios de router (RA) o DHCP, pero también puede añadir rutas estáticas adicionales. CuandoOFF
, sólo se utilizan rutas estáticas.-
Address
- Introduzca la direcciónIP
de una red, subred o host remoto. -
Netmask
- La máscara de red o la longitud del prefijo de la dirección IP introducida anteriormente. -
Gateway
- La dirección IP de la puerta de enlace que conduce a la red remota, la subred o el host introducido anteriormente. -
Metric
- Un coste de red, un valor de preferencia para dar a esta ruta. Los valores más bajos serán preferidos sobre los valores más altos.
-
Use this connection only for resources on its network
Seleccione esta casilla para evitar que la conexión se convierta en la ruta por defecto.
Alternativamente, para configurar
IPv6
en una conexiónWi-Fi
, seleccione la entrada del menú IPv6:IPv6 Method
-
Automatic
- Elija esta opción para utilizarIPv6
Stateless Address AutoConfiguration (SLAAC) para crear una configuración automática y sin estado basada en la dirección del hardware y en los anuncios del router (RA). -
Automatic, DHCP only
- Elija esta opción para no utilizar RA, sino solicitar información aDHCPv6
directamente para crear una configuración con estado. -
Link-Local Only
- Elija esta opción si la red a la que se conecta no tiene un servidorDHCP
y no quiere asignar direcciones IP manualmente. Se asignarán direcciones aleatorias según RFC 4862 con el prefijoFE80::0
. -
Manual
- Elija esta opción si desea asignar direcciones IP manualmente. -
Disable
-IPv6
está desactivado para esta conexión.
-
-
Los campos
DNS
,Routes
,Use this connection only for resources on its network
son comunes a la configuración deIPv4
.
Para configurar los ajustes de
Security
en una conexiónWi-Fi
, seleccione la entrada de menú Security. Están disponibles las siguientes opciones de configuración:Security
-
None
- No cifrar la conexión Wi-Fi. -
WEP 40/128-bit Key
- Wired Equivalent Privacy (WEP), del estándar IEEE 802.11. Utiliza una única clave precompartida (PSK). WEP 128-bit Passphrase
- Un hash MD5 de la frase de paso para obtener una clave WEP.AvisoSi el
Wi-Fi
no utiliza encriptación,WEP
, oWPA
, no utilices la red porque es insegura y todo el mundo puede leer los datos que envíes por esta red.-
LEAP
- Lightweight Extensible Authentication Protocol, de Cisco Systems. -
Dynamic WEP (802.1X)
- Las claves WEP se cambian dinámicamente. -
WPA & WPA2 Personal
— Wi-Fi Protected Access (WPA), from the draft IEEE 802.11i standard. A replacement for WEP. Wi-Fi Protected Access II (WPA2), from the 802.11i-2004 standard. Personal mode uses a pre-shared key (WPA-PSK). -
WPA & WPA2 Enterprise
— WPA for use with a RADIUS authentication server to provide IEEE 802.1X network access control.
-
- Password - Introduzca la contraseña que se utilizará en el proceso de autenticación.
- Una vez que haya terminado la configuración, haga clic en el botón Aplicar para guardarla.
Cuando se añade una nueva conexión haciendo clic en el botón más, NetworkManager crea un nuevo archivo de configuración para esa conexión y luego abre el mismo diálogo que se utiliza para editar una conexión existente. La diferencia entre estos diálogos es que un perfil de conexión existente tiene una entrada de menú Details.
9.4. Conexión a una red Wi-Fi con nmcli
Este procedimiento describe cómo conectarse a una conexión wireless
utilizando la utilidad nmcli.
Requisitos previos
- La utilidad nmcli a instalar.
Asegúrate de que la radio WiFi está activada (por defecto):
~]$
nmcli radio wifi on
Procedimiento
Para actualizar la lista de conexiones Wi-Fi disponibles:
~]$
nmcli device wifi rescan
Para ver los puntos de acceso Wi-Fi disponibles:
~]$
nmcli dev wifi list
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY ... MyCafe Infra 3 405 Mbit/s 85 ▂▄▆█ WPA1 WPA2Para conectarse a una conexión Wi-Fi mediante nmcli:
~]$
nmcli dev wifi connect SSID-Name password wireless-password
Por ejemplo:
~]$
nmcli dev wifi connect MyCafe password wireless-password
Tenga en cuenta que si quiere desactivar el estado Wi-Fi:
~]$
nmcli radio wifi off
9.5. Conexión a una red Wi-Fi oculta mediante nmcli
Todos los puntos de acceso tienen un identificador de conjunto de servicios (SSID) para identificarlos. Sin embargo, un punto de acceso puede estar configurado para no difundir su SSID, en cuyo caso está oculto, y no aparecerá en NetworkManager’s lista de redes disponibles.
Este procedimiento muestra cómo puede conectarse a una red oculta utilizando la herramienta nmcli.
Requisitos previos
- La utilidad nmcli a instalar.
-
Para conocer el SSID, y la contraseña de la conexión
Wi-Fi
. Asegúrate de que la radio WiFi está activada (por defecto):
~]$
nmcli radio wifi on
Procedimiento
Conéctese al SSID que está oculto:
~]$
nmcli dev wifi connect SSID_Name password wireless_password hidden yes
9.6. Conectarse a una red Wi-Fi utilizando la GUI de GNOME
Este procedimiento describe cómo puede conectarse a una red inalámbrica para obtener acceso a Internet.
Procedimiento
- Abra el menú del icono de conexión de red de GNOME Shell en la esquina superior derecha de la pantalla.
-
Seleccione
Wi-Fi Not Connected
. -
Haga clic en la opción
Select Network
. Haga clic en el nombre de la red a la que desea conectarse y, a continuación, en
Connect
.Tenga en cuenta que si no ve la red, ésta puede estar oculta.
Si la red está protegida por una contraseña o se requieren claves de cifrado, introduzca la contraseña y haga clic en
Connect
.Tenga en cuenta que si no conoce la contraseña, póngase en contacto con el administrador de la red Wi-Fi.
- Si la conexión es satisfactoria, el nombre de la red es visible en el menú de iconos de conexión y el indicador de conexión inalámbrica aparece en la esquina superior derecha de la pantalla.
Recursos adicionales
Capítulo 10. Configuración del etiquetado VLAN
Esta sección describe cómo configurar una red de área local virtual (VLAN). Una VLAN es una red lógica dentro de una red física. La interfaz VLAN etiqueta los paquetes con el ID de la VLAN cuando pasan por la interfaz, y elimina las etiquetas de los paquetes que vuelven.
Se crea una interfaz VLAN sobre otra interfaz, como un dispositivo Ethernet, bond, team o bridge. Esta interfaz se denomina parent interface
.
10.1. Configurar el etiquetado de la VLAN mediante los comandos nmcli
Esta sección describe cómo configurar el etiquetado de la Red de Área Local Virtual (VLAN) utilizando la utilidad nmcli
.
Requisitos previos
- La interfaz que tiene previsto utilizar como padre de la interfaz VLAN virtual es compatible con las etiquetas VLAN.
Si se configura la VLAN sobre una interfaz de enlace:
- Los puertos de la fianza están arriba.
-
El enlace no está configurado con la opción
fail_over_mac=follow
. Un dispositivo virtual VLAN no puede cambiar su dirección MAC para que coincida con la nueva dirección MAC del padre. En tal caso, el tráfico se seguiría enviando con la dirección MAC de origen entonces incorrecta.
- El conmutador al que está conectado el host está configurado para soportar etiquetas VLAN. Para más detalles, consulte la documentación de su conmutador.
Procedimiento
Muestra las interfaces de red:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp1s0 ethernet disconnected enp1s0 bridge0 bridge connected bridge0 bond0 bond connected bond0 ...Cree la interfaz VLAN. Por ejemplo, para crear una interfaz VLAN llamada
vlan10
que utiliceenp1s0
como interfaz padre y que etiquete los paquetes con el ID VLAN10
, introduzca:#
nmcli connection add type vlan con-name vlan10 ifname vlan10 vlan.parent enp1s0 vlan.id 10
Tenga en cuenta que la VLAN debe estar dentro del rango de
0
a4094
.Por defecto, la conexión VLAN hereda la unidad de transmisión máxima (MTU) de la interfaz principal. Opcionalmente, establezca un valor de MTU diferente:
#
nmcli connection modify vlan10 802-3-ethernet.mtu 2000
Configure los ajustes IP del dispositivo VLAN. Omita este paso si desea utilizar este dispositivo VLAN como puerto de otros dispositivos.
Configure los ajustes de IPv4. Por ejemplo, para establecer una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada y un servidor DNS en la conexión
vlan10
, introduzca:#
nmcli connection modify vlan10 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify vlan10 ipv4.gateway '192.0.2.254'
#nmcli connection modify vlan10 ipv4.dns '192.0.2.253'
#nmcli connection modify vlan10 ipv4.method manual
Configure los ajustes de IPv6. Por ejemplo, para establecer una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada y un servidor DNS para la conexión
vlan10
, introduzca:#
nmcli connection modify vlan10 ipv6.addresses '2001:db8:1::1/32'
#nmcli connection modify vlan10 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify vlan10 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify vlan10 ipv6.method manual
Activa la conexión:
#
nmcli connection up vlan10
Pasos de verificación
Verifique los ajustes:
#
ip -d addr show vlan10
4: vlan10@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:d5:e0:fb brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1Q id 10 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute vlan10 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::8dd7:9030:6f8e:89e6/64 scope link noprefixroute valid_lft forever preferred_lft forever
Recursos adicionales
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
-
Para ver ejemplos de
nmcli
, consulte la página de manualnmcli-examples(7)
. -
Para conocer todas las propiedades de las vlan que puede establecer, consulte la sección
vlan setting
en la página de manualnm-settings(5)
.
10.2. Configuración del etiquetado VLAN mediante nm-connection-editor
Esta sección describe cómo configurar el etiquetado de la Red de Área Local Virtual (VLAN) utilizando la aplicación nm-connection-editor
.
Requisitos previos
- La interfaz que tiene previsto utilizar como padre de la interfaz VLAN virtual es compatible con las etiquetas VLAN.
Si se configura la VLAN sobre una interfaz de enlace:
- Los puertos de la fianza están arriba.
-
El enlace no está configurado con la opción
fail_over_mac=follow
. Un dispositivo virtual VLAN no puede cambiar su dirección MAC para que coincida con la nueva dirección MAC del padre. En tal caso, el tráfico se seguiría enviando con la dirección MAC de origen entonces incorrecta.
- El conmutador al que está conectado el host está configurado para soportar etiquetas VLAN. Para más detalles, consulte la documentación de su conmutador.
Procedimiento
Abra un terminal e introduzca
nm-connection-editor
:$
nm-connection-editor
- Pulse el botón para añadir una nueva conexión.
-
Seleccione el tipo de conexión
VLAN
y haga clic en Crear. En la pestaña
VLAN
:- Seleccione la interfaz principal.
-
Seleccione el identificador de la VLAN. Tenga en cuenta que la VLAN debe estar dentro del rango de
0
a4094
. - Por defecto, la conexión VLAN hereda la unidad de transmisión máxima (MTU) de la interfaz principal. Opcionalmente, establezca un valor de MTU diferente.
Opcionalmente, establezca el nombre de la interfaz VLAN y otras opciones específicas de la VLAN.
Configure los ajustes IP del dispositivo VLAN. Omita este paso si desea utilizar este dispositivo VLAN como puerto de otros dispositivos.
-
En la pestaña
IPv4 Settings
, configure los ajustes de IPv4. Por ejemplo, configure una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada y un servidor DNS -
En la pestaña
IPv6 Settings
, configure los ajustes de IPv6. Por ejemplo, establezca una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada y un servidor DNS
-
En la pestaña
- Haga clic en Guardar para guardar la conexión VLAN.
-
Cerrar
nm-connection-editor
.
Pasos de verificación
Verifique los ajustes:
#
ip -d addr show vlan10
4: vlan10@enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:d5:e0:fb brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1Q id 10 <REORDER_HDR> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute vlan10 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::8dd7:9030:6f8e:89e6/64 scope link noprefixroute valid_lft forever preferred_lft forever
Recursos adicionales
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
10.3. Configurar el etiquetado de VLANs mediante los roles del sistema
Puede utilizar el rol de sistema networking
RHEL para configurar el etiquetado de VLAN. Este procedimiento describe cómo añadir una conexión Ethernet y una VLAN con ID 10
que utiliza esta conexión Ethernet. Como dispositivo principal, la conexión VLAN contiene las configuraciones de IP, puerta de enlace predeterminada y DNS.
Dependiendo de su entorno, ajuste la obra en consecuencia. Por ejemplo:
-
Para utilizar la VLAN como un puerto en otras conexiones, como un enlace, omita el atributo
ip
y establezca la configuración IP en la configuración principal. -
Para utilizar dispositivos de equipo, puente o enlace en la VLAN, adapte los atributos
interface_name
ytype
de los puertos que utilice en la VLAN.
Requisitos previos
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si utiliza un usuario remoto diferente a
root
cuando ejecuta el libro de jugadas, este usuario tiene los permisos apropiados desudo
en el nodo gestionado.
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:node.example.com
Cree el libro de jugadas
~/vlan-ethernet.yml
con el siguiente contenido:--- - name: Configure a VLAN that uses an Ethernet connection hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: # Add an Ethernet profile for the underlying device of the VLAN - name: enp1s0 type: ethernet interface_name: enp1s0 autoconnect: yes state: up ip: dhcp4: no auto6: no # Define the VLAN profile - name: vlan10 type: vlan ip: address: - "192.0.2.1/24" - "2001:db8:1::1/64" gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com vlan_id: 10 parent: enp1s0 state: up
El atributo
parent
del perfil VLAN configura la VLAN para que funcione sobre el dispositivoenp1s0
.Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/vlan-ethernet.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/vlan-ethernet.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
solicite la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Recursos adicionales
-
Para obtener detalles sobre los parámetros utilizados en
network_connections
y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
Capítulo 11. Configurar un puente de red
Un puente de red es un dispositivo de capa de enlace que reenvía el tráfico entre redes basándose en una tabla de direcciones MAC. El puente construye la tabla de direcciones MAC escuchando el tráfico de la red y aprendiendo así qué hosts están conectados a cada red. Por ejemplo, puede utilizar un puente de software en un host Red Hat Enterprise Linux 8 para emular un puente de hardware o en entornos de virtualización, para integrar máquinas virtuales (VM) a la misma red que el host.
Un puente requiere un dispositivo de red en cada red que el puente deba conectar. Cuando se configura un puente, éste se llama controller
y los dispositivos que utiliza ports
.
Puedes crear puentes en diferentes tipos de dispositivos, como:
- Dispositivos Ethernet físicos y virtuales
- Bonos de red
- Equipos de la red
- Dispositivos VLAN
Debido al estándar IEEE 802.11 que especifica el uso de tramas de 3 direcciones en Wi-Fi para el uso eficiente del tiempo de aire, no se puede configurar un puente sobre redes Wi-Fi que operen en modo Ad-Hoc o Infraestructura.
11.1. Configuración de un puente de red mediante comandos nmcli
Esta sección explica cómo configurar un puente de red utilizando la utilidad nmcli
.
Requisitos previos
- Dos o más dispositivos de red físicos o virtuales están instalados en el servidor.
- Para utilizar dispositivos Ethernet como puertos del puente, los dispositivos Ethernet físicos o virtuales deben estar instalados en el servidor.
Para utilizar dispositivos de equipo, enlace o VLAN como puertos del puente, puede crear estos dispositivos mientras crea el puente o puede crearlos por adelantado como se describe en:
Procedimiento
Crear una interfaz de puente:
#
nmcli connection add type bridge con-name bridge0 ifname bridge0
Este comando crea un puente llamado
bridge0
, introduzca:Visualice las interfaces de red y anote los nombres de las interfaces que desea añadir al puente:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bond0 bond connected bond0 bond1 bond connected bond1 ...En este ejemplo:
-
enp7s0
yenp8s0
no están configurados. Para utilizar estos dispositivos como puertos, añada perfiles de conexión en el siguiente paso. -
bond0
ybond1
tienen perfiles de conexión existentes. Para utilizar estos dispositivos como puertos, modifique sus perfiles en el siguiente paso.
-
Asigna las interfaces al puente.
Si las interfaces que desea asignar al puente no están configuradas, cree nuevos perfiles de conexión para ellas:
#
nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp7s0 master bridge0
#nmcli connection add type ethernet slave-type bridge con-name bridge0-port2 ifname enp8s0 master bridge0
Estos comandos crean perfiles para
enp7s0
yenp8s0
, y los añaden a la conexiónbridge0
.Si desea asignar un perfil de conexión existente al puente, establezca el parámetro
master
de estas conexiones enbridge0
:#
nmcli connection modify bond0 master bridge0
#nmcli connection modify bond1 master bridge0
Estos comandos asignan los perfiles de conexión existentes denominados
bond0
ybond1
a la conexiónbridge0
.
Configure los ajustes IP del puente. Omita este paso si desea utilizar este puente como puertos de otros dispositivos.
Configure los ajustes de IPv4. Por ejemplo, para configurar una dirección IPv4 estática, la máscara de red, la puerta de enlace predeterminada, el servidor DNS y el dominio de búsqueda DNS de la conexión
bridge0
, introduzca:#
nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify bridge0 ipv4.gateway '192.0.2.254'
#nmcli connection modify bridge0 ipv4.dns '192.0.2.253'
#nmcli connection modify bridge0 ipv4.dns-search 'example.com'
#nmcli connection modify bridge0 ipv4.method manual
Configure los ajustes de IPv6. Por ejemplo, para configurar una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS de la conexión
bridge0
, introduzca:#
nmcli connection modify bridge0 ipv6.addresses '2001:db8:1::1/64'
#nmcli connection modify bridge0 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify bridge0 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify bridge0 ipv6.dns-search 'example.com'
#nmcli connection modify bridge0 ipv6.method manual
Opcional: Configure otras propiedades del puente. Por ejemplo, para establecer la prioridad del protocolo de árbol de expansión (STP) de
bridge0
a16384
, introduzca:#
nmcli connection modify bridge0 bridge.priority '16384'
Por defecto, el STP está activado.
Activa la conexión:
#
nmcli connection up bridge0
Compruebe que los puertos están conectados y que la columna
CONNECTION
muestra el nombre de la conexión del puerto:#
nmcli device
DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bridge0-port1 enp8s0 ethernet connected bridge0-port2Red Hat Enterprise Linux activa el controlador y los puertos cuando el sistema arranca. Al activar cualquier conexión de puerto, el controlador también se activa. Sin embargo, en este caso, sólo se activa una conexión de puerto. Por defecto, la activación del controlador no activa automáticamente los puertos. Sin embargo, puede habilitar este comportamiento configurando:
Habilitar el parámetro
connection.autoconnect-slaves
de la conexión puente:#
nmcli connection modify bridge0 connection.autoconnect-slaves 1
Reactivar el puente:
#
nmcli connection up bridge0
Pasos de verificación
Muestra el estado del enlace de los dispositivos Ethernet que son puertos de un puente específico:
#
ip link show master bridge0
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ffMuestra el estado de los dispositivos Ethernet que son puertos de cualquier dispositivo puente:
#
bridge link show
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state forwarding priority 32 cost 100 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state listening priority 32 cost 100 5: enp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state forwarding priority 32 cost 100 6: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state blocking priority 32 cost 100 ...Para mostrar el estado de un dispositivo Ethernet específico, utilice el comando
bridge link show dev ethernet_device_name
comando.
Recursos adicionales
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
-
Para ver ejemplos de
nmcli
, consulte la página de manualnmcli-examples(7)
. -
Para conocer todas las propiedades de los puentes que puede establecer, consulte la sección
bridge settings
en la página de manualnm-settings(5)
. -
Para conocer todas las propiedades de los puertos puente que puede establecer, consulte la sección
bridge-port settings
en la página de manualnm-settings(5)
. -
Para obtener más información sobre la utilidad
bridge
, consulte la página de manualbridge(8)
. - Si la configuración del disco no coincide con la del dispositivo, al iniciar o reiniciar NetworkManager se crea una conexión en memoria que refleja la configuración del dispositivo. Para más detalles y cómo evitar este problema, consulte NetworkManager duplica una conexión después de reiniciar el servicio NetworkManager.
11.2. Configuración de un puente de red mediante nm-connection-editor
Esta sección explica cómo configurar un puente de red utilizando la aplicación nm-connection-editor
.
Tenga en cuenta que nm-connection-editor
sólo puede añadir nuevos puertos a un puente. Para utilizar un perfil de conexión existente como puerto, cree el puente utilizando la utilidad nmcli
como se describe en Sección 11.1, “Configuración de un puente de red mediante comandos nmcli”.
Requisitos previos
- Dos o más dispositivos de red físicos o virtuales están instalados en el servidor.
- Para utilizar dispositivos Ethernet como puertos del puente, los dispositivos Ethernet físicos o virtuales deben estar instalados en el servidor.
- Para utilizar dispositivos de equipo, enlace o VLAN como puertos del puente, asegúrese de que estos dispositivos no estén ya configurados.
Procedimiento
Abra un terminal e introduzca
nm-connection-editor
:$
nm-connection-editor
- Pulse el botón para añadir una nueva conexión.
-
Seleccione el tipo de conexión
Bridge
y haga clic en Crear. En la pestaña
Bridge
:-
Opcional: Establezca el nombre de la interfaz de puente en el campo
Interface name
. Haga clic en el botón Añadir para crear un nuevo perfil de conexión para una interfaz de red y añadir el perfil como puerto al puente.
-
Seleccione el tipo de conexión de la interfaz. Por ejemplo, seleccione
Ethernet
para una conexión por cable. - Opcionalmente, establezca un nombre de conexión para el dispositivo de puerto.
-
Si crea un perfil de conexión para un dispositivo Ethernet, abra la pestaña
Ethernet
, y seleccione en el campoDevice
la interfaz de red que desea añadir como puerto al puente. Si ha seleccionado un tipo de dispositivo diferente, configúrelo en consecuencia. - Haga clic en Guardar.
-
Seleccione el tipo de conexión de la interfaz. Por ejemplo, seleccione
Repita el paso anterior para cada interfaz que desee añadir al puente.
-
Opcional: Establezca el nombre de la interfaz de puente en el campo
- Opcional: Configure más ajustes de puente, como las opciones del protocolo de árbol de expansión (STP).
Configure los ajustes IP del puente. Omita este paso si desea utilizar este puente como puerto de otros dispositivos.
En la pestaña
IPv4 Settings
, configure los ajustes de IPv4. Por ejemplo, configure una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS:En la pestaña
IPv6 Settings
, configure los ajustes de IPv6. Por ejemplo, configure una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS:
- Guarda la conexión del puente.
-
Cerrar
nm-connection-editor
.
Pasos de verificación
Muestra el estado del enlace de los dispositivos Ethernet que son puertos de un puente específico.
#
ip link show master bridge0
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ffMuestra el estado de los dispositivos Ethernet que son puertos en cualquier dispositivo puente:
#
bridge link show
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state forwarding priority 32 cost 100 4: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state listening priority 32 cost 100 5: enp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state forwarding priority 32 cost 100 6: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge1 state blocking priority 32 cost 100 ...Para mostrar el estado de un dispositivo Ethernet específico, utilice el comando
bridge link show dev ethernet_device_name
comando.
Recursos adicionales
- Sección 13.6, “Configuración de un enlace de red mediante nm-connection-editor”
- Sección 12.7, “Configuración de un equipo de red mediante nm-connection-editor”
- Sección 10.2, “Configuración del etiquetado VLAN mediante nm-connection-editor”
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
11.3. Configuración de un puente de red con RHEL System Roles
Puede utilizar el rol de sistema networking
RHEL para configurar un puente Linux. Este procedimiento describe cómo configurar un puente de red que utiliza dos dispositivos Ethernet, y establece las direcciones IPv4 e IPv6, las puertas de enlace predeterminadas y la configuración de DNS.
Establezca la configuración IP en el puente y no en los puertos del puente Linux.
Requisitos previos
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si utiliza un usuario remoto diferente a
root
cuando ejecuta el libro de jugadas, este usuario tiene los permisos apropiados desudo
en el nodo gestionado. - Dos o más dispositivos de red físicos o virtuales están instalados en el servidor.
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:node.example.com
Cree el libro de jugadas
~/bridge-ethernet.yml
con el siguiente contenido:--- - name: Configure a network bridge that uses two Ethernet ports hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: # Define the bridge profile - name: bridge0 type: bridge interface_name: bridge0 ip: address: - "192.0.2.1/24" - "2001:db8:1::1/64" gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com state: up # Add an Ethernet profile to the bridge - name: bridge0-port1 interface_name: enp7s0 type: ethernet master: bridge0 slave_type: bridge state: up # Add a second Ethernet profile to the bridge - name: bridge0-port2 interface_name: enp8s0 type: ethernet master: bridge0 slave_type: bridge state: up
Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/bridge-ethernet.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/bridge-ethernet.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
solicite la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Recursos adicionales
-
Para obtener detalles sobre los parámetros utilizados en
network_connections
y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
Capítulo 12. Configuración de la red en equipo
Esta sección describe los fundamentos de la formación de equipos de red, las diferencias entre bonding y teaming y cómo configurar un equipo de red en Red Hat Enterprise Linux 8.
Puedes crear equipos de red en diferentes tipos de dispositivos, como:
- Dispositivos Ethernet físicos y virtuales
- Bonos de red
- Puentes de red
- Dispositivos VLAN
12.1. Comprensión de los equipos de red
La agrupación de redes es una función que combina o agrega interfaces de red para proporcionar una interfaz lógica con mayor rendimiento o redundancia.
El network teaming utiliza un controlador de kernel para implementar el manejo rápido de los flujos de paquetes, así como bibliotecas y servicios de espacio de usuario para otras tareas. De este modo, el network teaming es una solución fácilmente ampliable y escalable para los requisitos de equilibrio de carga y redundancia.
Algunas características de la unión de redes, como el mecanismo de conmutación por error, no admiten conexiones directas por cable sin un conmutador de red. Para más detalles, consulte ¿Se admite la unión con conexión directa mediante cables cruzados?
12.2. Comprender el comportamiento por defecto de las interfaces de los controladores y de los puertos
Tenga en cuenta el siguiente comportamiento por defecto de, cuando la gestión o la solución de problemas de equipo o interfaces de puerto de enlace utilizando el servicio NetworkManager
:
- Al iniciar la interfaz del controlador no se inician automáticamente las interfaces de los puertos.
- Al iniciar una interfaz de puerto siempre se inicia la interfaz del controlador.
- Al detener la interfaz del controlador también se detiene la interfaz del puerto.
- Un controlador sin puertos puede iniciar conexiones IP estáticas.
- Un controlador sin puertos espera los puertos al iniciar las conexiones DHCP.
- Un controlador con una conexión DHCP en espera de puertos se completa cuando se añade un puerto con un portador.
- Un controlador con una conexión DHCP en espera de puertos sigue esperando cuando se añade un puerto sin portador.
12.3. Comparación de las características de los equipos de red y de los enlaces
Conozca las características que admiten los equipos de red y los bonos de red:
Característica | Vínculo de red | Equipo de la red |
---|---|---|
Política de transmisión de emisiones | Sí | Sí |
Política de Tx Round-robin | Sí | Sí |
Política de transmisión de respaldo activo | Sí | Sí |
Soporte de LACP (802.3ad) | Sí (sólo activo) | Sí |
Política de transmisión basada en Hash | Sí | Sí |
El usuario puede establecer la función hash | No | Sí |
Soporte de equilibrio de carga de transmisión (TLB) | Sí | Sí |
Selección de puerto LACP hash | Sí | Sí |
Equilibrio de carga para el soporte de LACP | No | Sí |
Supervisión de enlaces de Ethtool | Sí | Sí |
Monitorización de enlaces ARP | Sí | Sí |
Supervisión de enlaces NS/NA (IPv6) | No | Sí |
Retrasos en la subida y bajada de los puertos | Sí | Sí |
Prioridades portuarias y adherencia (mejora de la opción "primaria") | No | Sí |
Configuración separada de la supervisión de los enlaces por puerto | No | Sí |
Configuración de la monitorización de múltiples enlaces | Limitado | Sí |
Ruta de Tx/Rx sin bloqueo | No (rwlock) | Sí (RCU) |
Soporte de VLAN | Sí | Sí |
Control del espacio de usuario en tiempo de ejecución | Limitado | Sí |
Lógica en el espacio del usuario | No | Sí |
Extensibilidad | Duro | Fácil |
Diseño modular | No | Sí |
Gastos generales de funcionamiento | Bajo | Muy bajo |
Interfaz D-Bus | No | Sí |
Apilamiento de varios dispositivos | Sí | Sí |
Configuración cero mediante LLDP | No | (en planificación) |
Soporte de NetworkManager | Sí | Sí |
12.4. Comprender el servicio teamd, los corredores y los observadores de enlaces
El servicio de equipo, teamd
, controla una instancia del controlador de equipo. Esta instancia del controlador añade instancias de un controlador de dispositivo de hardware para formar un equipo de interfaces de red. El controlador de equipo presenta una interfaz de red, por ejemplo team0
, al núcleo.
El servicio teamd
implementa la lógica común a todos los métodos de teaming. Esas funciones son exclusivas de los diferentes métodos de reparto de carga y de copia de seguridad, como el round-robin, y se implementan mediante unidades de código independientes denominadas runners
. Los administradores especifican los corredores en formato JavaScript Object Notation (JSON), y el código JSON se compila en una instancia de teamd
cuando se crea la instancia. Alternativamente, cuando se utiliza NetworkManager
, se puede establecer el corredor en el parámetro team.runner
, y NetworkManager
crea automáticamente el código JSON correspondiente.
Están disponibles los siguientes corredores:
-
broadcast
: Transmite datos por todos los puertos. -
roundrobin
: Transmite los datos por todos los puertos sucesivamente. -
activebackup
: Transmite los datos por un puerto mientras los otros se mantienen como reserva. -
loadbalance
: Transmite datos a través de todos los puertos con balanceo de carga Tx activo y selectores de puerto Tx basados en el filtro de paquetes Berkeley (BPF). -
random
: Transmite datos en un puerto seleccionado al azar. -
lacp
: Implementa el protocolo de control de agregación de enlaces 802.3ad (LACP).
Los servicios de teamd
utilizan un observador de enlaces para supervisar el estado de los dispositivos subordinados. Los siguientes observadores de enlaces están disponibles:
-
ethtool
: La bibliotecalibteam
utiliza la utilidadethtool
para vigilar los cambios de estado de los enlaces. Este es el observador de enlaces por defecto. -
arp_ping
: La bibliotecalibteam
utiliza la utilidadarp_ping
para monitorizar la presencia de una dirección de hardware de extremo lejano utilizando el Protocolo de Resolución de Direcciones (ARP). -
nsna_ping
: En las conexiones IPv6, la bibliotecalibteam
utiliza las funciones Neighbor Advertisement y Neighbor Solicitation del protocolo IPv6 Neighbor Discovery para supervisar la presencia de la interfaz de un vecino.
Cada corredor puede utilizar cualquier observador de enlaces, con la excepción de lacp
. Este corredor sólo puede utilizar el observador de enlaces ethtool
.
12.5. Instalación del servicio teamd
Para configurar un equipo de red en NetworkManager
, se requiere el servicio teamd
y el complemento de equipo para NetworkManager
. Ambos están instalados en Red Hat Enterprise Linux 8 por defecto. Esta sección describe cómo instalar los paquetes necesarios en caso de que los elimine.
Requisitos previos
- Se asigna una suscripción activa de Red Hat al host.
Procedimiento
Instale los paquetes
teamd
yNetworkManager-team
:# yum install teamd NetworkManager-team
12.6. Configuración de un equipo de red mediante comandos nmcli
Esta sección describe cómo configurar un equipo de red utilizando la utilidad nmcli
.
Requisitos previos
- Dos o más dispositivos de red físicos o virtuales están instalados en el servidor.
- Para utilizar dispositivos Ethernet como puertos del equipo, los dispositivos Ethernet físicos o virtuales deben estar instalados en el servidor y conectados a un switch.
Para utilizar dispositivos bond, bridge o VLAN como puertos del equipo, puede crear estos dispositivos mientras crea el equipo o puede crearlos por adelantado como se describe en:
Procedimiento
Crear una interfaz de equipo:
#
nmcli connection add type team con-name team0 ifname team0 team.runner activebackup
Este comando crea un equipo de red llamado
team0
que utiliza el corredoractivebackup
.Opcionalmente, establezca un observador de enlaces. Por ejemplo, para establecer el observador de enlaces
ethtool
en el perfil de conexiónteam0
:#
nmcli connection modify team0 team.link-watchers "name=ethtool"
Los observadores de enlaces admiten diferentes parámetros. Para establecer los parámetros de un observador de enlaces, especifíquelos separados por espacios en la propiedad
name
. Tenga en cuenta que la propiedad name debe estar rodeada de comillas. Por ejemplo, para utilizar el observador de enlacesethtool
y establecer su parámetrodelay-up
a2500
milisegundos (2,5 segundos):#
nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2500"
Para establecer varios observadores de enlaces y cada uno de ellos con parámetros específicos, los observadores de enlaces deben estar separados por una coma. El siguiente ejemplo establece el observador de enlaces
ethtool
con el parámetrodelay-up
y el observador de enlacesarp_ping
con los parámetrossource-host
ytarget-host
:#
nmcli connection modify team0 team.link-watchers "name=ethtool delay-up=2, name=arp_ping source-host=192.0.2.1 target-host=192.0.2.2"
Visualice las interfaces de red y anote los nombres de las interfaces que desea añadir al equipo:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bond0 bond connected bond0 bond1 bond connected bond1 ...En este ejemplo:
-
enp7s0
yenp8s0
no están configurados. Para utilizar estos dispositivos como puertos, añada perfiles de conexión en el siguiente paso. Tenga en cuenta que sólo puede utilizar interfaces Ethernet en un equipo que no esté asignado a ninguna conexión. -
bond0
ybond1
tienen perfiles de conexión existentes. Para utilizar estos dispositivos como puertos, modifique sus perfiles en el siguiente paso.
-
Asigne las interfaces de los puertos al equipo:
Si las interfaces que desea asignar al equipo no están configuradas, cree nuevos perfiles de conexión para ellas:
#
nmcli connection add type ethernet slave-type team con-name team0-port1 ifname enp7s0 master team0
#nmcli connection add type ethernet slave-type team con-name team0-port2 ifname enp8s0 master team0
. Estos comandos crean perfiles para
enp7s0
yenp8s0
, y los añaden a la conexiónteam0
.Para asignar un perfil de conexión existente al equipo, establezca el parámetro
master
de estas conexiones enteam0
:#
nmcli connection modify bond0 master team0
#nmcli connection modify bond1 master team0
Estos comandos asignan los perfiles de conexión existentes denominados
bond0
ybond1
a la conexiónteam0
.
Configure los ajustes de IP del equipo. Omita este paso si desea utilizar este equipo como puertos de otros dispositivos.
Configure los ajustes de IPv4. Por ejemplo, para establecer una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS la conexión
team0
, introduzca:#
nmcli connection modify team0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify team0 ipv4.gateway '192.0.2.254'
#nmcli connection modify team0 ipv4.dns '192.0.2.253'
#nmcli connection modify team0 ipv4.dns-search 'example.com'
#nmcli connection modify team0 ipv4.method manual
Configure los ajustes de IPv6. Por ejemplo, para configurar una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS de la conexión
team0
, introduzca:#
nmcli connection modify team0 ipv6.addresses '2001:db8:1::1/64'
#nmcli connection modify team0 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify team0 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify team0 ipv6.dns-search 'example.com'
#nmcli connection modify team0 ipv6.method manual
Activa la conexión:
#
nmcli connection up team0
Pasos de verificación
Muestra el estado del equipo:
#
teamdctl team0 state
setup: runner: activebackup ports: enp7s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 enp8s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: enp7s0En este ejemplo, los dos puertos están en funcionamiento.
Recursos adicionales
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
- Sección 12.4, “Comprender el servicio teamd, los corredores y los observadores de enlaces”.
-
Para ver ejemplos de
nmcli
, consulte la página de manualnmcli-examples(7)
. -
Para conocer todas las propiedades de los equipos que puede establecer, consulte la sección
team
en la página mannm-settings(5)
. -
Para conocer los parámetros que puede establecer en la configuración de JSON, así como ejemplos de JSON, consulte la página man
teamd.conf(5)
.
12.7. Configuración de un equipo de red mediante nm-connection-editor
Esta sección describe cómo configurar un equipo de red utilizando la aplicación nm-connection-editor
.
Tenga en cuenta que nm-connection-editor
sólo puede añadir nuevos puertos a un equipo. Para utilizar un perfil de conexión existente como puerto, cree el equipo utilizando la utilidad nmcli
como se describe en Sección 12.6, “Configuración de un equipo de red mediante comandos nmcli”.
Requisitos previos
- Dos o más dispositivos de red físicos o virtuales están instalados en el servidor.
- Para utilizar dispositivos Ethernet como puertos del equipo, los dispositivos Ethernet físicos o virtuales deben estar instalados en el servidor.
- Para utilizar dispositivos de equipo, enlace o VLAN como puertos del equipo, asegúrese de que estos dispositivos no estén ya configurados.
Procedimiento
Abra un terminal e introduzca
nm-connection-editor
:$
nm-connection-editor
- Pulse el botón para añadir una nueva conexión.
-
Seleccione el tipo de conexión
Team
y haga clic en Crear. En la pestaña
Team
:-
Opcional: Establezca el nombre de la interfaz del equipo en el campo
Interface name
. Haga clic en el botón Agregar para añadir un nuevo perfil de conexión para una interfaz de red y añadir el perfil como un puerto al equipo.
-
Seleccione el tipo de conexión de la interfaz. Por ejemplo, seleccione
Ethernet
para una conexión por cable. - Opcional: Establezca un nombre de conexión para el puerto.
-
Si crea un perfil de conexión para un dispositivo Ethernet, abra la pestaña
Ethernet
, y seleccione en el campoDevice
la interfaz de red que desea añadir como puerto al equipo. Si ha seleccionado un tipo de dispositivo diferente, configúrelo en consecuencia. Tenga en cuenta que sólo puede utilizar interfaces Ethernet en un equipo que no esté asignado a ninguna conexión. - Haga clic en Guardar.
-
Seleccione el tipo de conexión de la interfaz. Por ejemplo, seleccione
Repita el paso anterior para cada interfaz que desee añadir al equipo.
Haga clic en el botón Avanzado para establecer opciones avanzadas para la conexión del equipo.
-
En la pestaña
Runner
, seleccione el corredor. -
En la pestaña
Link Watcher
, configure el observador de enlaces y sus ajustes opcionales. - Haga clic en Aceptar.
-
En la pestaña
-
Opcional: Establezca el nombre de la interfaz del equipo en el campo
Configure los ajustes de IP del equipo. Omita este paso si desea utilizar este equipo como puerto de otros dispositivos.
-
En la pestaña
IPv4 Settings
, configure los ajustes de IPv4. Por ejemplo, configure una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS -
En la pestaña
IPv6 Settings
, configure los ajustes de IPv6. Por ejemplo, establezca una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS
-
En la pestaña
- Guarda la conexión del equipo.
-
Cerrar
nm-connection-editor
.
Pasos de verificación
Muestra el estado del equipo:
#
teamdctl team0 state
setup: runner: activebackup ports: enp7s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 enp8s0 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 runner: active port: enp7s0
Recursos adicionales
- Sección 13.6, “Configuración de un enlace de red mediante nm-connection-editor”
- Sección 11.2, “Configuración de un puente de red mediante nm-connection-editor”
- Sección 10.2, “Configuración del etiquetado VLAN mediante nm-connection-editor”
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
- Sección 12.4, “Comprender el servicio teamd, los corredores y los observadores de enlaces”.
- Si la configuración del disco no coincide con la del dispositivo, al iniciar o reiniciar NetworkManager se crea una conexión en memoria que refleja la configuración del dispositivo. Para más detalles y cómo evitar este problema, consulte NetworkManager duplica una conexión después de reiniciar el servicio NetworkManager.
Capítulo 13. Configuración de la unión de redes
Esta sección describe los fundamentos de la vinculación de redes, las diferencias entre vinculación y teaming y cómo configurar una vinculación de redes en Red Hat Enterprise Linux 8.
Puedes crear bonos en diferentes tipos de dispositivos, como:
- Dispositivos Ethernet físicos y virtuales
- Puentes de red
- Equipos de la red
- Dispositivos VLAN
13.1. Comprender la vinculación de la red
La unión de redes es un método para combinar o agregar interfaces de red para proporcionar una interfaz lógica con mayor rendimiento o redundancia.
Los modos active-backup
, balance-tlb
, y balance-alb
no requieren ninguna configuración específica del conmutador de red. Sin embargo, otros modos de enlace requieren configurar el conmutador para agregar los enlaces. Por ejemplo, los conmutadores Cisco requieren EtherChannel
para los modos 0, 2 y 3, pero para el modo 4, se requiere el protocolo de control de agregación de enlaces (LACP) y EtherChannel
.
Para más detalles, consulte la documentación de su conmutador y el CÓMO del controlador de enlace Ethernet de Linux.
Algunas funciones de enlace de red, como el mecanismo de conmutación por error, no admiten conexiones directas por cable sin un conmutador de red. Para más detalles, consulte la sección ¿Se admite la conexión directa con cables cruzados? Solución KCS.
13.2. Comprender el comportamiento por defecto de las interfaces de los controladores y de los puertos
Tenga en cuenta el siguiente comportamiento por defecto de, cuando la gestión o la solución de problemas de equipo o interfaces de puerto de enlace utilizando el servicio NetworkManager
:
- Al iniciar la interfaz del controlador no se inician automáticamente las interfaces de los puertos.
- Al iniciar una interfaz de puerto siempre se inicia la interfaz del controlador.
- Al detener la interfaz del controlador también se detiene la interfaz del puerto.
- Un controlador sin puertos puede iniciar conexiones IP estáticas.
- Un controlador sin puertos espera los puertos al iniciar las conexiones DHCP.
- Un controlador con una conexión DHCP en espera de puertos se completa cuando se añade un puerto con un portador.
- Un controlador con una conexión DHCP en espera de puertos sigue esperando cuando se añade un puerto sin portador.
13.3. Comparación de las características de los equipos de red y de los enlaces
Conozca las características que admiten los equipos de red y los bonos de red:
Característica | Vínculo de red | Equipo de la red |
---|---|---|
Política de transmisión de emisiones | Sí | Sí |
Política de Tx Round-robin | Sí | Sí |
Política de transmisión de respaldo activo | Sí | Sí |
Soporte de LACP (802.3ad) | Sí (sólo activo) | Sí |
Política de transmisión basada en Hash | Sí | Sí |
El usuario puede establecer la función hash | No | Sí |
Soporte de equilibrio de carga de transmisión (TLB) | Sí | Sí |
Selección de puerto LACP hash | Sí | Sí |
Equilibrio de carga para el soporte de LACP | No | Sí |
Supervisión de enlaces de Ethtool | Sí | Sí |
Monitorización de enlaces ARP | Sí | Sí |
Supervisión de enlaces NS/NA (IPv6) | No | Sí |
Retrasos en la subida y bajada de los puertos | Sí | Sí |
Prioridades portuarias y adherencia (mejora de la opción "primaria") | No | Sí |
Configuración separada de la supervisión de los enlaces por puerto | No | Sí |
Configuración de la monitorización de múltiples enlaces | Limitado | Sí |
Ruta de Tx/Rx sin bloqueo | No (rwlock) | Sí (RCU) |
Soporte de VLAN | Sí | Sí |
Control del espacio de usuario en tiempo de ejecución | Limitado | Sí |
Lógica en el espacio del usuario | No | Sí |
Extensibilidad | Duro | Fácil |
Diseño modular | No | Sí |
Gastos generales de funcionamiento | Bajo | Muy bajo |
Interfaz D-Bus | No | Sí |
Apilamiento de varios dispositivos | Sí | Sí |
Configuración cero mediante LLDP | No | (en planificación) |
Soporte de NetworkManager | Sí | Sí |
13.4. Configuración del conmutador ascendente en función de los modos de unión
En la siguiente tabla se describen los ajustes que debe aplicar al conmutador ascendente en función del modo de enlace:
Modo de unión | Configuración en el conmutador |
---|---|
| Requiere Etherchannel estático habilitado (no negociado por LACP) |
| Requiere puertos autónomos |
| Requiere Etherchannel estático habilitado (no negociado por LACP) |
| Requiere Etherchannel estático habilitado (no negociado por LACP) |
| Requiere Etherchannel negociado con LACP habilitado |
| Requiere puertos autónomos |
| Requiere puertos autónomos |
Para configurar estos ajustes en su conmutador, consulte la documentación del mismo.
13.5. Configuración de un enlace de red mediante comandos nmcli
Esta sección describe cómo configurar un enlace de red utilizando los comandos de nmcli
.
Requisitos previos
- Dos o más dispositivos de red físicos o virtuales están instalados en el servidor.
- Para utilizar dispositivos Ethernet como puertos del enlace, los dispositivos Ethernet físicos o virtuales deben estar instalados en el servidor.
Para utilizar dispositivos de equipo, puente o VLAN como puertos del enlace, puede crear estos dispositivos mientras crea el enlace o puede crearlos por adelantado como se describe en:
Procedimiento
Crear una interfaz de enlace:
#
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
Este comando crea un enlace llamado
bond0
que utiliza el modoactive-backup
.Para establecer adicionalmente un intervalo de monitorización de la interfaz independiente del medio (MII), añada la opción
miimon=interval
a la propiedadbond.options
. Por ejemplo, para utilizar el mismo comando pero, adicionalmente, establecer el intervalo de monitoreo de MII a1000
milisegundos (1 segundo), ingrese:#
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=1000"
Visualice las interfaces de red y anote los nombres de las interfaces que piensa añadir al enlace:
#
nmcli device status
DEVICE TYPE STATE CONNECTION enp7s0 ethernet disconnected -- enp8s0 ethernet disconnected -- bridge0 bridge connected bridge0 bridge1 bridge connected bridge1 ...En este ejemplo:
-
enp7s0
yenp8s0
no están configurados. Para utilizar estos dispositivos como puertos, añada perfiles de conexión en el siguiente paso. -
bridge0
ybridge1
tienen perfiles de conexión existentes. Para utilizar estos dispositivos como puertos, modifique sus perfiles en el siguiente paso.
-
Asignar interfaces al enlace:
Si las interfaces que desea asignar al enlace no están configuradas, cree nuevos perfiles de conexión para ellas:
#
nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname enp7s0 master bond0
#nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname enp8s0 master bond0
Estos comandos crean perfiles para
enp7s0
yenp8s0
, y los añaden a la conexiónbond0
.Para asignar un perfil de conexión existente al enlace, establezca el parámetro
master
de estas conexiones enbond0
:#
nmcli connection modify bridge0 master bond0
#nmcli connection modify bridge1 master bond0
Estos comandos asignan los perfiles de conexión existentes denominados
bridge0
ybridge1
a la conexiónbond0
.
Configure los ajustes IP del enlace. Omita este paso si desea utilizar este enlace como puerto de otros dispositivos.
Configure los ajustes de IPv4. Por ejemplo, para establecer una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS para la conexión
bond0
, introduzca:#
nmcli connection modify bond0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify bond0 ipv4.gateway '192.0.2.254'
#nmcli connection modify bond0 ipv4.dns '192.0.2.253'
#nmcli connection modify bond0 ipv4.dns-search 'example.com'
#nmcli connection modify bond0 ipv4.method manual
Configure los ajustes de IPv6. Por ejemplo, para establecer una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS para la conexión
bond0
, introduzca:#
nmcli connection modify bond0 ipv6.addresses '2001:db8:1::1/64
#nmcli connection modify bond0 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify bond0 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify bond0 ipv6.dns-search 'example.com'
#nmcli connection modify bond0 ipv6.method manual
Activa la conexión:
#
nmcli connection up bond0
Compruebe que los puertos están conectados y que la columna
CONNECTION
muestra el nombre de la conexión del puerto:#
nmcli device
DEVICE TYPE STATE CONNECTION ... enp7s0 ethernet connected bond0-port1 enp8s0 ethernet connected bond0-port2Red Hat Enterprise Linux activa el controlador y los dispositivos de puerto cuando el sistema arranca. Al activar cualquier conexión de puerto, el controlador también se activa. Sin embargo, en este caso, sólo se activa una conexión de puerto. Por defecto, la activación del controlador no activa automáticamente los puertos. Sin embargo, puede habilitar este comportamiento configurando:
Habilitar el parámetro
connection.autoconnect-slaves
de la conexión del enlace:#
nmcli connection modify bond0 connection.autoconnect-slaves 1
Reactivar el puente:
#
nmcli connection up bond0
Pasos de verificación
Muestra el estado del bono:
#
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: enp7s0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: enp7s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:d5:e0:fb Slave queue ID: 0 Slave Interface: enp8s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:b2:e2:63 Slave queue ID: 0En este ejemplo, los dos puertos están en funcionamiento.
Para verificar que la conmutación por error de enlace funciona:
- Retire temporalmente el cable de red del host. Tenga en cuenta que no hay ningún método para probar adecuadamente los eventos de fallo de enlace utilizando la línea de comandos.
Muestra el estado del bono:
#
cat /proc/net/bonding/bond0
Recursos adicionales
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
-
Para ver ejemplos de
nmcli
, consulte la página de manualnmcli-examples(7)
. -
Para ver una lista de las opciones que puede establecer en el parámetro
bond.options
del comandonmcli
al crear un enlace, consulte https://www.kernel.org/doc/Documentation/networking/bonding.txt.
13.6. Configuración de un enlace de red mediante nm-connection-editor
Esta sección describe cómo configurar un enlace de red utilizando la aplicación nm-connection-editor
.
Tenga en cuenta que nm-connection-editor
sólo puede añadir nuevos puertos a un enlace. Para utilizar un perfil de conexión existente como puerto, cree el enlace utilizando la utilidad nmcli
como se describe en Sección 13.5, “Configuración de un enlace de red mediante comandos nmcli”.
Requisitos previos
- Dos o más dispositivos de red físicos o virtuales están instalados en el servidor.
- Para utilizar dispositivos Ethernet como puertos del enlace, los dispositivos Ethernet físicos o virtuales deben estar instalados en el servidor.
- Para utilizar dispositivos de equipo, enlace o VLAN como puertos del enlace, asegúrese de que estos dispositivos no estén ya configurados.
Procedimiento
Abra un terminal e introduzca
nm-connection-editor
:$
nm-connection-editor
- Pulse el botón para añadir una nueva conexión.
-
Seleccione el tipo de conexión
Bond
y haga clic en Crear. En la pestaña
Bond
:-
Opcional: Establezca el nombre de la interfaz de enlace en el campo
Interface name
. Haga clic en el botón Agregar para añadir una interfaz de red como puerto al enlace.
-
Seleccione el tipo de conexión de la interfaz. Por ejemplo, seleccione
Ethernet
para una conexión por cable. - Opcional: Establezca un nombre de conexión para el puerto.
-
Si crea un perfil de conexión para un dispositivo Ethernet, abra la pestaña
Ethernet
, y seleccione en el campoDevice
la interfaz de red que desea añadir como puerto al enlace. Si ha seleccionado un tipo de dispositivo diferente, configúrelo en consecuencia. Tenga en cuenta que sólo puede utilizar interfaces Ethernet en un enlace que no esté configurado. - Haga clic en Guardar.
-
Seleccione el tipo de conexión de la interfaz. Por ejemplo, seleccione
Repita el paso anterior para cada interfaz que desee añadir al enlace:
- Opcional: Establezca otras opciones, como el intervalo de supervisión de la interfaz independiente de medios (MII).
-
Opcional: Establezca el nombre de la interfaz de enlace en el campo
Configure los ajustes IP del enlace. Omita este paso si desea utilizar este enlace como puerto de otros dispositivos.
En la pestaña
IPv4 Settings
, configure los ajustes de IPv4. Por ejemplo, configure una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS:En la pestaña
IPv6 Settings
, configure los ajustes de IPv6. Por ejemplo, configure una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS:
- Haga clic en Guardar para guardar la conexión de enlace.
-
Cerrar
nm-connection-editor
.
Pasos de verificación
Ver el estado de la fianza:
$
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: enp7s0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: enp7s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:d5:e0:fb Slave queue ID: 0 Slave Interface: enp8s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:b2:e2:63 Slave queue ID: 0En este ejemplo, los dos puertos están en funcionamiento.
Recursos adicionales
- Sección 12.7, “Configuración de un equipo de red mediante nm-connection-editor”
- Sección 11.2, “Configuración de un puente de red mediante nm-connection-editor”
- Sección 10.2, “Configuración del etiquetado VLAN mediante nm-connection-editor”
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
- Si la conexión no tiene una puerta de enlace predeterminada, consulte Sección 18.8, “Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada”.
13.7. Configuración de un enlace de red usando RHEL System Roles
Puede utilizar el rol de sistema network
RHEL para configurar un enlace de red. Este procedimiento describe cómo configurar un enlace en modo de respaldo activo que utiliza dos dispositivos Ethernet, y establece una dirección IPv4 e IPv6, puertas de enlace predeterminadas y la configuración de DNS.
Establezca la configuración IP en el puente y no en los puertos del puente Linux.
Requisitos previos
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si utiliza un usuario remoto diferente a
root
cuando ejecuta el libro de jugadas, este usuario tiene los permisos apropiados desudo
en el nodo gestionado. - Dos o más dispositivos de red físicos o virtuales están instalados en el servidor.
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:node.example.com
Cree el libro de jugadas
~/bond-ethernet.yml
con el siguiente contenido:--- - name: Configure a network bond that uses two Ethernet ports hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: # Define the bond profile - name: bond0 type: bond interface_name: bond0 ip: address: - "192.0.2.1/24" - "2001:db8:1::1/64" gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com bond: mode: active-backup state: up # Add an Ethernet profile to the bond - name: bond0-port1 interface_name: enp7s0 type: ethernet master: bond0 state: up # Add a second Ethernet profile to the bond - name: bond0-port2 interface_name: enp8s0 type: ethernet master: bond0 state: up
Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/bond-ethernet.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/bond-ethernet.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
solicite la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Recursos adicionales
-
Para obtener detalles sobre los parámetros utilizados en
network_connections
y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
13.8. Creación de un enlace de red para permitir el cambio entre una conexión Ethernet y una inalámbrica sin interrumpir la VPN
Los usuarios de RHEL que conectan su estación de trabajo a la red de su empresa suelen utilizar una VPN para acceder a recursos remotos. Sin embargo, si la estación de trabajo cambia entre una conexión Ethernet y Wi-Fi, por ejemplo, si se libera un portátil de una estación de acoplamiento con una conexión Ethernet, la conexión VPN se interrumpe. Para evitar este problema, puede crear un enlace de red que utilice la conexión Ethernet y Wi-Fi en el modo active-backup
.
Requisitos previos
- El host contiene un dispositivo Ethernet y otro Wi-Fi.
Se ha creado un perfil de conexión Ethernet y Wi-Fi NetworkManager y ambas conexiones funcionan de forma independiente.
Este procedimiento utiliza los siguientes perfiles de conexión para crear un enlace de red denominado
bond0
:-
Docking_station
asociado al dispositivo Ethernetenp11s0u1
-
Wi-Fi
asociado al dispositivo Wi-Fiwlp61s0
-
Procedimiento
Crear una interfaz de enlace en el modo
active-backup
:#
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
Este comando nombra tanto la interfaz como el perfil de conexión
bond0
.Configure los ajustes IPv4 del enlace:
- Si un servidor DHCP en su red asigna direcciones IPv4 a los hosts, no es necesario realizar ninguna acción.
Si su red local requiere direcciones IPv4 estáticas, configure la dirección, la máscara de red, la puerta de enlace predeterminada, el servidor DNS y el dominio de búsqueda DNS en la conexión
bond0
:#
nmcli connection modify bond0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify bond0 ipv4.gateway '192.0.2.254'
#nmcli connection modify bond0 ipv4.dns '192.0.2.253'
#nmcli connection modify bond0 ipv4.dns-search 'example.com'
#nmcli connection modify bond0 ipv4.method manual
Configure los ajustes IPv6 del enlace:
- Si su router o un servidor DHCP en su red asigna direcciones IPv6 a los hosts, no es necesario realizar ninguna acción.
Si su red local requiere direcciones IPv6 estáticas, configure la dirección, la máscara de red, la puerta de enlace predeterminada, el servidor DNS y el dominio de búsqueda DNS en la conexión
bond0
:#
nmcli connection modify bond0 ipv6.addresses '2001:db8:1::1/64'
#nmcli connection modify bond0 ipv6.gateway '2001:db8:1::fffe'
#nmcli connection modify bond0 ipv6.dns '2001:db8:1::fffd'
#nmcli connection modify bond0 ipv6.dns-search 'example.com'
#nmcli connection modify bond0 ipv6.method manual
Muestra los perfiles de conexión:
# nmcli connection show NAME UUID TYPE DEVICE Docking_station 256dd073-fecc-339d-91ae-9834a00407f9 ethernet enp11s0u1 Wi-Fi 1f1531c7-8737-4c60-91af-2d21164417e8 wifi wlp61s0 ...
En los siguientes pasos se necesitan los nombres de los perfiles de conexión y el nombre del dispositivo Ethernet.
Asigne el perfil de conexión de la conexión Ethernet al enlace:
#
nmcli connection modify Docking_station master bond0
Asigna el perfil de conexión de la conexión Wi-Fi al enlace:
#
nmcli connection modify Wi-Fi master bond0
Si su red Wi-Fi utiliza el filtrado MAC para permitir que sólo accedan a la red las direcciones MAC de una lista permitida, configure que NetworkManager asigne dinámicamente la dirección MAC del puerto activo al enlace:
#
nmcli connection modify bond0 bond.options fail_over_mac=1
Con esta configuración, debe establecer sólo la dirección MAC del dispositivo Wi-Fi en la lista de permitidos en lugar de la dirección MAC de ambos dispositivos, Ethernet y Wi-Fi.
Establezca el dispositivo asociado a la conexión Ethernet como dispositivo primario del enlace:
#
nmcli con modify bond0 bond.options "primary=enp11s0u1"
Con esta configuración, el enlace siempre utiliza la conexión Ethernet si está disponible.
Configure que NetworkManager active automáticamente los puertos cuando se active el dispositivo
bond0
:#
nmcli connection modify bond0 connection.autoconnect-slaves 1
Active la conexión
bond0
:#
nmcli connection up bond0
Pasos de verificación
Muestra el dispositivo actualmente activo, el estado del enlace y sus puertos:
#
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active) Primary Slave: enp11s0u1 (primary_reselect always) Currently Active Slave: enp11s0u1 MII Status: up MII Polling Interval (ms): 1 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: enp11s0u1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:53:00:59:da:b7 Slave queue ID: 0 Slave Interface: wlp61s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 2 Permanent HW addr: 00:53:00:b3:22:ba Slave queue ID: 0
Capítulo 14. Configurar una conexión VPN
Esta sección explica cómo configurar una conexión de red privada virtual (VPN).
Una VPN es una forma de conectarse a una red local a través de Internet. IPsec
proporcionada por Libreswan
es el método preferido para crear una VPN. Libreswan
es una implementación de espacio de usuario IPsec
para VPN. Una VPN permite la comunicación entre su LAN y otra LAN remota mediante la creación de un túnel a través de una red intermedia como Internet. Por razones de seguridad, un túnel VPN siempre utiliza autenticación y encriptación. Para las operaciones criptográficas, Libreswan
utiliza la biblioteca NSS
.
14.1. Configuración de una conexión VPN con el centro de control
Este procedimiento describe cómo configurar una conexión VPN utilizando control-center
.
Requisitos previos
-
El paquete
NetworkManager-libreswan-gnome
está instalado.
Procedimiento
-
Pulse la tecla Super, escriba
Settings
, y pulse Enter para abrir la aplicacióncontrol-center
. -
Seleccione la entrada
Network
de la izquierda. - Haga clic en el icono .
-
Seleccione
VPN
. Seleccione la entrada del menú
Identity
para ver las opciones básicas de configuración:General
Gateway
- El nombre o la direcciónIP
de la pasarela VPN remota.Authentication
Type
-
IKEv2 (Certificate)
- el cliente se autentifica mediante un certificado. Es más seguro (por defecto). IKEv1 (XAUTH)
- el cliente se autentifica mediante un nombre de usuario y una contraseña, o una clave precompartida (PSK).Los siguientes ajustes de configuración están disponibles en la sección
Advanced
:Figura 14.1. Opciones avanzadas de una conexión VPN
AvisoCuando se configura una conexión VPN basada en IPsec utilizando la aplicación
gnome-control-center
, el diálogoAdvanced
muestra la configuración, pero no permite ningún cambio. Como consecuencia, los usuarios no pueden cambiar ninguna opción avanzada de IPsec. Utilice en su lugar las herramientasnm-connection-editor
onmcli
para realizar la configuración de las propiedades avanzadas.Identification
Domain
- Si es necesario, introduzca el nombre de dominio.Security
-
Phase1 Algorithms
- corresponde al parámetroike
Libreswan - introduzca los algoritmos que se utilizarán para autenticar y establecer un canal cifrado. Phase2 Algorithms
- corresponde al parámetroesp
Libreswan - introduzca los algoritmos que se utilizarán para las negociacionesIPsec
.Marque el campo
Disable PFS
para desactivar el Perfect Forward Secrecy (PFS) para asegurar la compatibilidad con servidores antiguos que no soportan PFS.-
Phase1 Lifetime
- corresponde al parámetroikelifetime
Libreswan - cuánto tiempo será válida la clave utilizada para cifrar el tráfico. Phase2 Lifetime
- corresponde al parámetrosalifetime
Libreswan - cuánto tiempo debe durar una instancia particular de una conexión antes de expirar.Tenga en cuenta que la clave de cifrado debe cambiarse de vez en cuando por razones de seguridad.
Remote network
- corresponde al parámetrorightsubnet
Libreswan - la red privada remota de destino a la que se debe llegar a través de la VPN.Marque el campo
narrowing
para habilitar el estrechamiento. Tenga en cuenta que sólo es efectivo en la negociación IKEv2.-
Enable fragmentation
- corresponde al parámetrofragmentation
Libreswan - permite o no la fragmentación de IKE. Los valores válidos sonyes
(por defecto) ono
. -
Enable Mobike
- corresponde al parámetromobike
Libreswan - si se permite el Protocolo de Movilidad y Multihoming (MOBIKE, RFC 4555) para permitir que una conexión migre su punto final sin necesidad de reiniciar la conexión desde cero. Esto se utiliza en dispositivos móviles que cambian entre conexiones de datos por cable, inalámbricas o móviles. Los valores sonno
(por defecto) oyes
.
-
Seleccione la entrada del menú IPv4:
IPv4 Method
-
Automatic (DHCP)
- Elija esta opción si la red a la que se conecta utiliza anuncios de router (RA) o un servidorDHCP
para asignar direcciones dinámicasIP
. -
Link-Local Only
- Elija esta opción si la red a la que se conecta no tiene un servidorDHCP
y no desea asignar manualmente las direccionesIP
. Se asignarán direcciones aleatorias según RFC 3927 con el prefijo169.254/16
. -
Manual
- Elija esta opción si desea asignar manualmente las direcciones deIP
. Disable
-IPv4
está desactivado para esta conexión.DNS
En la sección
DNS
, cuandoAutomatic
esON
, cámbialo porOFF
para introducir la dirección IP de un servidor DNS que quieras utilizar separando las IPs por comas.Routes
Tenga en cuenta que en la sección
Routes
, cuandoAutomatic
esON
, se utilizan las rutas de DHCP, pero también puede añadir rutas estáticas adicionales. CuandoOFF
, sólo se utilizan rutas estáticas.-
Address
- Introduzca la direcciónIP
de una red o host remoto. -
Netmask
- La máscara de red o la longitud del prefijo de la direcciónIP
introducida anteriormente. -
Gateway
- La direcciónIP
de la puerta de enlace que conduce a la red remota o al host introducido anteriormente. Metric
- Un coste de red, un valor de preferencia para dar a esta ruta. Los valores más bajos serán preferidos sobre los valores más altos.Use this connection only for resources on its network
Seleccione esta casilla para evitar que la conexión se convierta en la ruta por defecto. La selección de esta opción significa que sólo el tráfico destinado específicamente a las rutas aprendidas automáticamente a través de la conexión o introducidas aquí manualmente se enruta a través de la conexión.
-
Para configurar
IPv6
en una conexiónVPN
, seleccione la entrada del menú IPv6:IPv6 Method
-
Automatic
- Elija esta opción para utilizarIPv6
Stateless Address AutoConfiguration (SLAAC) para crear una configuración automática y sin estado basada en la dirección del hardware y en los anuncios del router (RA). -
Automatic, DHCP only
- Elija esta opción para no utilizar RA, sino solicitar información aDHCPv6
directamente para crear una configuración con estado. -
Link-Local Only
- Elija esta opción si la red a la que se conecta no tiene un servidorDHCP
y no desea asignar manualmente las direccionesIP
. Se asignarán direcciones aleatorias según RFC 4862 con el prefijoFE80::0
. -
Manual
- Elija esta opción si desea asignar manualmente las direcciones deIP
. Disable
-IPv6
está desactivado para esta conexión.Tenga en cuenta que
DNS
,Routes
,Use this connection only for resources on its network
son comunes a los ajustes deIPv4
.
-
-
Una vez que haya terminado de editar la conexión
VPN
, haga clic en el botón Añadir para personalizar la configuración o en el botón Aplicar para guardarla para la existente. -
Cambie el perfil a
ON
para activar la conexiónVPN
.
Recursos adicionales
-
Para más detalles sobre los parámetros soportados en
Libreswan
, consulte la página mannm-settings-libreswan(5)
.
14.2. Configuración de una conexión VPN mediante nm-connection-editor
Este procedimiento describe cómo configurar una conexión VPN utilizando nm-connection-editor
.
Requisitos previos
-
El paquete
NetworkManager-libreswan-gnome
está instalado. Si configura una conexión de intercambio de claves de Internet versión 2 (IKEv2):
- El certificado se importa a la base de datos de los servicios de seguridad de la red IPsec (NSS).
- Se conoce el apodo del certificado en la base de datos del NSS.
Procedimiento
Abre un terminal y entra:
$ nm-connection-editor
- Pulse el botón para añadir una nueva conexión.
-
Seleccione el tipo de conexión
IPsec based VPN
y haga clic en Crear. En la pestaña
VPN
:Introduzca el nombre de host o la dirección IP de la pasarela VPN en el campo
Gateway
y seleccione un tipo de autenticación. En función del tipo de autenticación, debe introducir información adicional diferente:-
IKEv2 (Certifiate)
autentifica al cliente utilizando un certificado, lo cual es más seguro. Esta configuración requiere el apodo del certificado en la base de datos de IPsec NSS IKEv1 (XAUTH)
autentifica al usuario mediante un nombre de usuario y una contraseña (clave precompartida). Esta configuración requiere que se introduzcan los siguientes valores:- Nombre de usuario
- Contraseña
- Nombre del grupo
- Secreto
-
Si el servidor remoto especifica un identificador local para el intercambio IKE, introduzca la cadena exacta en el campo
Remote ID
. Si el servidor remoto ejecuta Libreswan, este valor se establece en el parámetroleftid
del servidor.Opcionalmente, configure ajustes adicionales haciendo clic en el botón Avanzado. Puede configurar los siguientes ajustes:
Identificación
-
Domain
- Si es necesario, introduzca el nombre del dominio.
-
Seguridad
-
Phase1 Algorithms
corresponde al parámetroike
Libreswan. Introduzca los algoritmos que se utilizarán para autenticar y establecer un canal cifrado. Phase2 Algorithms
corresponde al parámetroesp
Libreswan. Introduzca los algoritmos que se utilizarán para las negociaciones deIPsec
.Marque el campo
Disable PFS
para desactivar el Perfect Forward Secrecy (PFS) para asegurar la compatibilidad con servidores antiguos que no soportan PFS.-
Phase1 Lifetime
corresponde al parámetroikelifetime
Libreswan. Este parámetro define el tiempo de validez de la clave utilizada para cifrar el tráfico. -
Phase2 Lifetime
corresponde al parámetrosalifetime
Libreswan. Este parámetro define el tiempo de validez de una asociación de seguridad.
-
Conectividad
Remote network
corresponde al parámetrorightsubnet
Libreswan y define la red privada remota de destino a la que se debe llegar a través de la VPN.Marque el campo
narrowing
para habilitar el estrechamiento. Tenga en cuenta que sólo es efectivo en la negociación IKEv2.-
Enable fragmentation
corresponde al parámetrofragmentation
de Libreswan y define si se permite o no la fragmentación de IKE. Los valores válidos sonyes
(por defecto) ono
. -
Enable Mobike
corresponde al parámetromobike
Libreswan. El parámetro define si se permite el Protocolo de Movilidad y Multihoming (MOBIKE) (RFC 4555) para permitir que una conexión migre su punto final sin necesidad de reiniciar la conexión desde cero. Esto se utiliza en dispositivos móviles que cambian entre conexiones de datos por cable, inalámbricas o móviles. Los valores sonno
(por defecto) oyes
.
En la pestaña
IPv4 Settings
, seleccione el método de asignación de IP y, opcionalmente, configure direcciones estáticas adicionales, servidores DNS, dominios de búsqueda y rutas.- Guarda la conexión.
-
Cerrar
nm-connection-editor
.
Cuando se añade una nueva conexión haciendo clic en el botón , NetworkManager crea un nuevo archivo de configuración para esa conexión y luego abre el mismo diálogo que se utiliza para editar una conexión existente. La diferencia entre estos diálogos es que un perfil de conexión existente tiene una entrada de menú Details.
Recursos adicionales
-
Para más detalles sobre los parámetros IPsec soportados, consulte la página man
nm-settings-libreswan(5)
.
14.3. Información relacionada
- Para más información sobre la configuración de VPNs con IPsec, consulte el capítulo Configuración de una VPN con IPsec en el documento Asegurando redes.
Capítulo 15. Configuración de túneles IP
Al igual que una VPN, un túnel IP conecta directamente dos redes a través de una tercera red, como Internet. Sin embargo, no todos los protocolos de túneles admiten el cifrado.
Los routers de ambas redes que establecen el túnel requieren al menos dos interfaces:
- Una interfaz conectada a la red local
- Una interfaz que está conectada a la red a través de la cual se establece el túnel.
Para establecer el túnel, se crea una interfaz virtual en ambos routers con una dirección IP de la subred remota.
NetworkManager soporta los siguientes túneles IP:
- Encapsulación de enrutamiento genérico (GRE)
- Encapsulación de enrutamiento genérico sobre IPv6 (IP6GRE)
- Punto de acceso terminal de encapsulación de enrutamiento genérico (GRETAP)
- Punto de acceso terminal de encapsulación de enrutamiento genérico sobre IPv6 (IP6GRETAP)
- IPv4 sobre IPv4 (IPIP)
- IPv4 sobre IPv6 (IPIP6)
- IPv6 sobre IPv6 (IP6IP6)
- Transición simple a Internet (SIT)
Según el tipo, estos túneles actúan en la capa 2 o 3 del modelo de Interconexión de Sistemas Abiertos (OSI).
15.1. Configurar un túnel IPIP usando nmcli para encapsular el tráfico IPv4 en paquetes IPv4
Un túnel IP sobre IP (IPIP) funciona en la capa 3 de OSI y encapsula el tráfico IPv4 en paquetes IPv4, tal como se describe en el RFC 2003.
Los datos enviados a través de un túnel IPIP no están cifrados. Por razones de seguridad, utilice el túnel sólo para los datos que ya están cifrados, por ejemplo, por otros protocolos, como HTTPS.
Tenga en cuenta que los túneles IPIP sólo admiten paquetes unicast. Si necesita un túnel IPv4 que admita multidifusión, consulte Sección 15.2, “Configurar un túnel GRE usando nmcli para encapsular tráfico de capa 3 en paquetes IPv4”.
Este procedimiento describe cómo crear un túnel IPIP entre dos routers RHEL para conectar dos subredes internas a través de Internet, como se muestra en el siguiente diagrama:

Requisitos previos
- Cada router RHEL tiene una interfaz de red que se conecta a su subred local.
- Cada router RHEL tiene una interfaz de red que se conecta a Internet.
- El tráfico que quiere enviar a través del túnel es IPv4 unicast.
Procedimiento
En el router RHEL de la red A:
Cree una interfaz de túnel IPIP llamada
tun0
:#
nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 remote 198.51.100.5 local 203.0.113.10
Los parámetros
remote
ylocal
establecen las direcciones IP públicas de los routers remoto y local.Establezca la dirección IPv4 del dispositivo
tun0
:#
nmcli connection modify tun0 ipv4.addresses '10.0.1.1/30'
Tenga en cuenta que una subred
/30
con dos direcciones IP utilizables es suficiente para el túnel.Configure la conexión
tun0
para utilizar una configuración manual de IPv4:#
nmcli connection modify tun0 ipv4.method manual
Añada una ruta estática que dirija el tráfico a la red
172.16.0.0/24
a la IP del túnel en el router B:#
nmcli connection modify tun0 ipv4.routes "172.16.0.0/24 10.0.1.2"
Habilite la conexión
tun0
.#
nmcli connection up tun0
Activar el reenvío de paquetes:
#
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
#sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
En el router RHEL de la red B:
Cree una interfaz de túnel IPIP llamada
tun0
:#
nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 remote 203.0.113.10 local 198.51.100.5
Los parámetros
remote
ylocal
establecen las direcciones IP públicas de los routers remotos y locales.Establezca la dirección IPv4 del dispositivo
tun0
:#
nmcli connection modify tun0 ipv4.addresses '10.0.1.2/30'
Configure la conexión
tun0
para utilizar una configuración manual de IPv4:#
nmcli connection modify tun0 ipv4.method manual
Añade una ruta estática que dirija el tráfico a la red
192.0.2.0/24
a la IP del túnel en el router A:#
nmcli connection modify tun0 ipv4.routes "192.0.2.0/24 10.0.1.1"
Habilite la conexión
tun0
.#
nmcli connection up tun0
Activar el reenvío de paquetes:
#
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
#sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
Pasos de verificación
Desde cada router RHEL, haz un ping a la dirección IP de la interfaz interna del otro router:
En el router A, haga un ping a
172.16.0.1
:#
ping 172.16.0.1
En el router B, haga ping a
192.0.2.1
:#
ping 192.0.2.1
Recursos adicionales
-
Para más detalles sobre el uso de
nmcli
, consulte la página de manualnmcli
. -
Para más detalles sobre la configuración del túnel que puede establecer con
nmcli
, consulte la secciónip-tunnel settings
en la página de manualnm-settings(5)
.
15.2. Configurar un túnel GRE usando nmcli para encapsular tráfico de capa 3 en paquetes IPv4
Un túnel de encapsulación de enrutamiento genérico (GRE) encapsula el tráfico de capa 3 en paquetes IPv4 como se describe en el RFC 2784. Un túnel GRE puede encapsular cualquier protocolo de capa 3 con un tipo de Ethernet válido.
Los datos enviados a través de un túnel GRE no están cifrados. Por razones de seguridad, utilice el túnel sólo para los datos que ya están cifrados, por ejemplo, por otros protocolos, como HTTPS.
Este procedimiento describe cómo crear un túnel GRE entre dos routers RHEL para conectar dos subredes internas a través de Internet, como se muestra en el siguiente diagrama:

El nombre del dispositivo gre0
está reservado. Utilice gre1
o un nombre diferente para el dispositivo.
Requisitos previos
- Cada router RHEL tiene una interfaz de red que se conecta a su subred local.
- Cada router RHEL tiene una interfaz de red que se conecta a Internet.
Procedimiento
En el router RHEL de la red A:
Cree una interfaz de túnel GRE llamada
gre1
:#
nmcli connection add type ip-tunnel ip-tunnel.mode gre con-name gre1 ifname gre1 remote 198.51.100.5 local 203.0.113.10
Los parámetros
remote
ylocal
establecen las direcciones IP públicas de los routers remoto y local.Establezca la dirección IPv4 del dispositivo
gre1
:#
nmcli connection modify gre1 ipv4.addresses '10.0.1.1/30'
Tenga en cuenta que una subred
/30
con dos direcciones IP utilizables es suficiente para el túnel.Configure la conexión
gre1
para utilizar una configuración manual de IPv4:#
nmcli connection modify gre1 ipv4.method manual
Añada una ruta estática que dirija el tráfico a la red
172.16.0.0/24
a la IP del túnel en el router B:#
nmcli connection modify tun0 ipv4.routes "172.16.0.0/24 10.0.1.2"
Habilite la conexión
gre1
.#
nmcli connection up gre1
Activar el reenvío de paquetes:
#
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
#sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
En el router RHEL de la red B:
Cree una interfaz de túnel GRE llamada
gre1
:#
nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name gre1 ifname gre1 remote 203.0.113.10 local 198.51.100.5
Los parámetros
remote
ylocal
establecen las direcciones IP públicas de los routers remoto y local.Establezca la dirección IPv4 del dispositivo
gre1
:#
nmcli connection modify gre1 ipv4.addresses '10.0.1.2/30'
Configure la conexión
gre1
para utilizar una configuración manual de IPv4:#
nmcli connection modify gre1 ipv4.method manual
Añade una ruta estática que dirija el tráfico a la red
192.0.2.0/24
a la IP del túnel en el router A:#
nmcli connection modify tun0 ipv4.routes "192.0.2.0/24 10.0.1.1"
Habilite la conexión
gre1
.#
nmcli connection up gre1
Activar el reenvío de paquetes:
#
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
#sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
Pasos de verificación
Desde cada router RHEL, haz un ping a la dirección IP de la interfaz interna del otro router:
En el router A, haga un ping a
172.16.0.1
:#
ping 172.16.0.1
En el router B, haga ping a
192.0.2.1
:#
ping 192.0.2.1
Recursos adicionales
-
Para más detalles sobre el uso de
nmcli
, consulte la página de manualnmcli
. -
Para más detalles sobre la configuración del túnel que puede establecer con
nmcli
, consulte la secciónip-tunnel settings
en la página de manualnm-settings(5)
.
15.3. Configuración de un túnel GRETAP para transferir tramas Ethernet sobre IPv4
Un túnel GRETAP (Generic Routing Encapsulation Terminal Access Point) funciona en el nivel 2 de OSI y encapsula el tráfico Ethernet en paquetes IPv4, tal como se describe en el RFC 2784.
Los datos enviados a través de un túnel GRETAP no están cifrados. Por razones de seguridad, establezca el túnel a través de una VPN o una conexión cifrada diferente.
Este procedimiento describe cómo crear un túnel GRETAP entre dos routers RHEL para conectar dos redes utilizando un puente como se muestra en el siguiente diagrama:

El nombre del dispositivo gretap0
está reservado. Utilice gretap1
o un nombre diferente para el dispositivo.
Requisitos previos
- Cada router RHEL tiene una interfaz de red que está conectada a su red local, y la interfaz no tiene asignada ninguna configuración IP.
- Cada router RHEL tiene una interfaz de red que se conecta a Internet.
Procedimiento
En el router RHEL de la red A:
Cree una interfaz de puente llamada
bridge0
:#
nmcli connection add type bridge con-name bridge0 ifname bridge0
Configure los ajustes IP del puente:
#
nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24'
#nmcli connection modify bridge0 ipv4.method manual
Añade un nuevo perfil de conexión para la interfaz que está conectada a la red local al puente:
#
nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0
Añade un nuevo perfil de conexión para la interfaz del túnel GRETAP al puente:
#
nmcli connection add type ip-tunnel ip-tunnel.mode gretap slave-type bridge con-name bridge0-port2 ifname gretap1 remote 198.51.100.5 local 203.0.113.10 master bridge0
Los parámetros
remote
ylocal
establecen las direcciones IP públicas de los routers remoto y local.Opcional: Desactive el protocolo de árbol de expansión (STP) si no lo necesita:
#
nmcli connection modify bridge0 bridge.stp no
Por defecto, el STP está activado y provoca un retraso antes de poder utilizar la conexión.
Configure que al activar la conexión
bridge0
se activen automáticamente los puertos del puente:#
nmcli connection modify bridge0 connection.autoconnect-slaves 1
Activa la conexión
bridge0
:#
nmcli connection up bridge0
En el router RHEL de la red B:
Cree una interfaz de puente llamada
bridge0
:#
nmcli connection add type bridge con-name bridge0 ifname bridge0
Configure los ajustes IP del puente:
#
nmcli connection modify bridge0 ipv4.addresses '192.0.2.2/24'
#nmcli connection modify bridge0 ipv4.method manual
Añade un nuevo perfil de conexión para la interfaz que está conectada a la red local al puente:
#
nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0
Añade un nuevo perfil de conexión para la interfaz del túnel GRETAP al puente:
#
nmcli connection add type ip-tunnel ip-tunnel.mode gretap slave-type bridge con-name bridge0-port2 ifname gretap1 remote 203.0.113.10 local 198.51.100.5 master bridge0
Los parámetros
remote
ylocal
establecen las direcciones IP públicas de los routers remoto y local.Opcional: Desactive el protocolo de árbol de expansión (STP) si no lo necesita:
#
nmcli connection modify bridge0 bridge.stp no
Configure que al activar la conexión
bridge0
se activen automáticamente los puertos del puente:#
nmcli connection modify bridge0 connection.autoconnect-slaves 1
Activa la conexión
bridge0
:#
nmcli connection up bridge0
Pasos de verificación
En ambos routers, compruebe que las conexiones
enp1s0
ygretap1
están conectadas y que la columnaCONNECTION
muestra el nombre de la conexión del puerto:#
nmcli device
nmcli device DEVICE TYPE STATE CONNECTION ... bridge0 bridge connected bridge0 enp1s0 ethernet connected bridge0-port1 gretap1 iptunnel connected bridge0-port2Desde cada router RHEL, haz un ping a la dirección IP de la interfaz interna del otro router:
En el router A, haga un ping a
192.0.2.2
:#
ping 192.0.2.2
En el router B, haga ping a
192.0.2.1
:#
ping 192.0.2.1
Recursos adicionales
-
Para más detalles sobre el uso de
nmcli
, consulte la página de manualnmcli
. -
Para más detalles sobre la configuración del túnel que puede establecer con
nmcli
, consulte la secciónip-tunnel settings
en la página de manualnm-settings(5)
.
15.4. Recursos adicionales
-
Para ver una lista de interfaces de túnel y sobre la configuración temporal de túneles mediante la utilidad
ip
, consulte la página de manualip-link(8)
.
Capítulo 16. Configuración del canal de fibra sobre Ethernet
Basado en el estándar IEEE T11 FC-BB-5, Fibre Channel over Ethernet (FCoE) es un protocolo para transmitir tramas de Fibre Channel a través de redes Ethernet. Normalmente, los centros de datos tienen una LAN y una red de área de almacenamiento (SAN) dedicadas y separadas entre sí con su propia configuración específica. FCoE combina estas redes en una estructura de red única y convergente. Las ventajas de FCoE son, por ejemplo, menores costes de hardware y energía.
16.1. Uso de HBAs FCoE por hardware en RHEL
En Red Hat Enterprise Linux se puede utilizar el adaptador de bus de host (HBA) FCoE por hardware con el apoyo de los siguientes controladores:
-
qedf
-
bnx2fc
-
fnic
Si utiliza un HBA de este tipo, configure los ajustes de FCoE en la configuración del HBA. Para más detalles, consulte la documentación del adaptador.
Después de configurar el HBA en su configuración, los números de unidad lógica (LUN) exportados desde la red de área de almacenamiento (SAN) están automáticamente disponibles para RHEL como dispositivos /dev/sd*
. Puede utilizar estos dispositivos de forma similar a los dispositivos de almacenamiento local.
16.2. Configuración de un dispositivo FCoE por software
Un dispositivo FCoE por software permite acceder a Números de Unidad Lógica (LUN) a través de FCoE utilizando un adaptador Ethernet que soporta parcialmente la descarga de FCoE.
RHEL no admite dispositivos FCoE por software que requieran el módulo del kernel fcoe.ko
. Para más detalles, consulte la eliminación del software FCoE en la documentación de Considerations in adopting RHEL 8
.
Después de completar este procedimiento, los LUNs exportados de la Red de Área de Almacenamiento (SAN) están automáticamente disponibles para RHEL como dispositivos /dev/sd*
. Puede utilizar estos dispositivos de forma similar a los dispositivos de almacenamiento local.
Requisitos previos
-
El adaptador de bus de host (HBA) utiliza el controlador
qedf
,bnx2fc
, ofnic
y no requiere el módulo del kernelfcoe.ko
. - La SAN utiliza una VLAN para separar el tráfico de almacenamiento del tráfico Ethernet normal.
- El conmutador de red ha sido configurado para soportar la VLAN.
- El HBA del servidor se configura en su BIOS. Para más detalles, consulte la documentación de su HBA.
- El HBA está conectado a la red y el enlace está activo.
Procedimiento
Instale el paquete
fcoe-utils
:#
yum install fcoe-utils
Copie el archivo de plantilla
/etc/fcoe/cfg-ethx
en/etc/fcoe/cfg-interface_name
. Por ejemplo, si desea configurar la interfazenp1s0
para utilizar FCoE, introduzca#
cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-enp1s0
Habilite e inicie el servicio
fcoe
:#
systemctl enable --now fcoe
Descubra el ID de la VLAN FCoE, inicie el iniciador y cree un dispositivo de red para la VLAN descubierta:
#
fipvlan -s -c enp1s0
Created VLAN device enp1s0.200 Starting FCoE on interface enp1s0.200 Fibre Channel Forwarders Discovered interface | VLAN | FCF MAC ------------------------------------------ enp1s0 | 200 | 00:53:00:a7:e7:1bOpcional: Para mostrar detalles sobre los objetivos descubiertos, los LUNs y los dispositivos asociados a los LUNs, introduzca:
#
fcoeadm -t
Interface: enp1s0.200 Roles: FCP Target Node Name: 0x500a0980824acd15 Port Name: 0x500a0982824acd15 Target ID: 0 MaxFrameSize: 2048 bytes OS Device Name: rport-11:0-1 FC-ID (Port ID): 0xba00a0 State: Online LUN ID Device Name Capacity Block Size Description ------ ----------- ---------- ---------- --------------------- 0 sdb 28.38 GiB 512 NETAPP LUN (rev 820a) ...Este ejemplo muestra que el LUN 0 de la SAN se ha conectado al host como dispositivo
/dev/sdb
.
Pasos de verificación
Utilice el comando
fcoeadm -i
para mostrar información sobre todas las interfaces FCoE activas:#
fcoeadm -i
Description: BCM57840 NetXtreme II 10 Gigabit Ethernet Revision: 11 Manufacturer: Broadcom Inc. and subsidiaries Serial Number: 000AG703A9B7 Driver: bnx2x Unknown Number of Ports: 1 Symbolic Name: bnx2fc (QLogic BCM57840) v2.12.13 over enp1s0.200 OS Device Name: host11 Node Name: 0x2000000af70ae935 Port Name: 0x2001000af70ae935 Fabric Name: 0x20c8002a6aa7e701 Speed: 10 Gbit Supported Speed: 1 Gbit, 10 Gbit MaxFrameSize: 2048 bytes FC-ID (Port ID): 0xba02c0 State: Online
Recursos adicionales
-
Para más detalles sobre la utilidad
fcoeadm
, consulte la página de manualfcoeadm(8)
. -
Para obtener detalles sobre cómo montar el almacenamiento conectado a través de un software FCoE cuando el sistema arranca, consulte el archivo
/usr/share/doc/fcoe-utils/README
.
16.3. Recursos adicionales
-
Para obtener detalles sobre el uso de dispositivos de canal de fibra, consulte la sección Uso de dispositivos de canal de fibra en la guía
Managing storage devices
.
Capítulo 17. Autenticación de un cliente RHEL en la red mediante el estándar 802.1X
Los administradores utilizan con frecuencia el Control de Acceso a la Red (NAC) basado en el estándar IEEE 802.1X para proteger una red de clientes LAN y Wi-Fi no autorizados. Los procedimientos de esta sección describen diferentes opciones para configurar la autenticación de la red.
17.1. Configuración de la autenticación de red 802.1X en una conexión Ethernet existente mediante nmcli
Utilizando la utilidad nmcli
, puede configurar el cliente para que se autentique en la red. Este procedimiento describe cómo configurar la autenticación del Protocolo de Autenticación Extensible Protegido (PEAP) con el Protocolo de Autenticación Microsoft Challenge-Handshake versión 2 (MSCHAPv2) en un perfil de conexión Ethernet existente de NetworkManager llamado enp1s0
.
Requisitos previos
- La red debe tener autenticación de red 802.1X.
- El perfil de conexión Ethernet existe en NetworkManager y tiene una configuración IP válida.
-
Si el cliente debe verificar el certificado del autentificador, el certificado de la Autoridad de Certificación (CA) debe estar almacenado en el directorio
/etc/pki/ca-trust/source/anchors/
. -
El paquete
wpa_supplicant
está instalado.
Procedimiento
Establezca el Protocolo de Autenticación Extensible (EAP) en
peap
, el protocolo de autenticación interna enmschapv2
, y el nombre de usuario:#
nmcli connection modify enp1s0 802-1x.eap peap 802-1x.phase2-auth mschapv2 802-1x.identity user_name
Tenga en cuenta que debe establecer los parámetros
802-1x.eap
,802-1x.phase2-auth
, y802-1x.identity
en un solo comando.Opcionalmente, guarde la contraseña en la configuración:
#
nmcli connection modify enp1s0 802-1x.password password
ImportantePor defecto, NetworkManager almacena la contraseña en texto claro en el archivo
/etc/sysconfig/network-scripts/keys-connection_name
que sólo puede leer el usuario deroot
. Sin embargo, las contraseñas en texto claro en un archivo de configuración pueden ser un riesgo para la seguridad.Para aumentar la seguridad, establezca el parámetro
802-1x.password-flags
a0x1
. Con esta configuración, en los servidores con el entorno de escritorio GNOME o elnm-applet
en ejecución, NetworkManager recupera la contraseña de estos servicios. En otros casos, NetworkManager solicita la contraseña.Si se requiere que el cliente verifique el certificado del autentificador, establezca el parámetro
802-1x.ca-cert
en el perfil de conexión a la ruta del certificado de la CA:#
nmcli connection modify enp1s0 802-1x.ca-cert /etc/pki/ca-trust/source/anchors/ca.crt
NotaPor razones de seguridad, Red Hat recomienda utilizar el certificado del autentificador para permitir a los clientes validar la identidad del autentificador.
Activar el perfil de conexión:
#
nmcli connection up enp1s0
Pasos de verificación
- Acceder a los recursos de la red que requieren autenticación de red.
Recursos adicionales
- Para más detalles sobre cómo añadir un perfil de conexión Ethernet de NetworkManager, consulte Capítulo 8, Configurar una conexión Ethernet.
-
Para otros parámetros relacionados con 802.1X y sus descripciones, consulte la sección
802-1x settings
en la página de manualnm-settings(5)
. -
Para más detalles sobre la utilidad
nmcli
, consulte la página de manualnmcli(1)
.
17.2. Configuración de una conexión Ethernet estática con autenticación de red 802.1X mediante RHEL System Roles
Utilizando RHEL System Roles, puede automatizar la creación de una conexión Ethernet que utilice el estándar 802.1X para autenticar al cliente. Este procedimiento describe cómo añadir remotamente una conexión Ethernet para la interfaz enp1s0
con la siguiente configuración mediante la ejecución de un playbook de Ansible:
-
Una dirección IPv4 estática -
192.0.2.1
con una máscara de subred/24
-
Una dirección IPv6 estática -
2001:db8:1::1
con una máscara de subred/64
-
Una pasarela por defecto IPv4 -
192.0.2.254
-
Una pasarela por defecto IPv6 -
2001:db8:1::fffe
-
Un servidor DNS IPv4 -
192.0.2.200
-
Un servidor DNS IPv6 -
2001:db8:1::ffbb
-
Un dominio de búsqueda DNS -
example.com
-
802.Autenticación de red 1X mediante el protocolo de autenticación extensible (EAP)
TLS
Ejecute este procedimiento en el nodo de control de Ansible.
Requisitos previos
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si utiliza un usuario remoto diferente a
root
cuando ejecuta el libro de jugadas, debe tener los permisos apropiados desudo
en el nodo gestionado. - La red es compatible con la autenticación de red 802.1X.
- El nodo gestionado utiliza NetworkManager.
Los siguientes archivos necesarios para la autenticación TLS existen en el nodo de control:
-
La clave del cliente almacenada en el archivo
/srv/data/client.key
. -
El certificado del cliente almacenado en el archivo
/srv/data/client.crt
. -
El certificado de la Autoridad de Certificación (CA) almacenado en el archivo
/srv/data/ca.crt
.
-
La clave del cliente almacenada en el archivo
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:node.example.com
Cree el libro de jugadas
~/enable-802.1x.yml
con el siguiente contenido:--- - name: Configure an Ethernet connection with 802.1X authentication hosts: node.example.com become: true tasks: - name: Copy client key for 802.1X authentication copy: src: "/srv/data/client.key" dest: "/etc/pki/tls/private/client.key" mode: 0600 - name: Copy client certificate for 802.1X authentication copy: src: "/srv/data/client.crt" dest: "/etc/pki/tls/certs/client.crt" - name: Copy CA certificate for 802.1X authentication copy: src: "/srv/data/ca.crt" dest: "/etc/pki/ca-trust/source/anchors/ca.crt" - include_role: name: linux-system-roles.network vars: network_connections: - name: enp1s0 type: ethernet autoconnect: yes ip: address: - 192.0.2.1/24 - 2001:db8:1::1/64 gateway4: 192.0.2.254 gateway6: 2001:db8:1::fffe dns: - 192.0.2.200 - 2001:db8:1::ffbb dns_search: - example.com ieee802_1x: identity: user_name eap: tls private_key: "/etc/pki/tls/private/client.key" private_key_password: "password" client_cert: "/etc/pki/tls/certs/client.crt" ca_cert: "/etc/pki/ca-trust/source/anchors/ca.crt" domain_suffix_match: example.com state: up
Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/enable-802.1x.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/ethernet-static-IP.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
solicite la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Recursos adicionales
-
Para obtener detalles sobre los parámetros utilizados en
network_connections
y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para más detalles sobre los parámetros 802.1X, consulte la sección
ieee802_1x
en el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
17.3. Configuración de la autenticación de red 802.1X en una conexión Wi-Fi existente mediante nmcli
Utilizando la utilidad nmcli
, puede configurar el cliente para que se autentique en la red. Este procedimiento describe cómo configurar la autenticación del Protocolo de Autenticación Extensible Protegido (PEAP) con el Protocolo de Autenticación Microsoft Challenge-Handshake versión 2 (MSCHAPv2) en un perfil de conexión Wi-Fi existente de NetworkManager llamado wlp1s0
.
Requisitos previos
- La red debe tener autenticación de red 802.1X.
- El perfil de conexión Wi-Fi existe en NetworkManager y tiene una configuración IP válida.
-
Si el cliente debe verificar el certificado del autentificador, el certificado de la Autoridad de Certificación (CA) debe estar almacenado en el directorio
/etc/pki/ca-trust/source/anchors/
. -
El paquete
wpa_supplicant
está instalado.
Procedimiento
Establezca el modo de seguridad Wi-Fi en
wpa-eap
, el protocolo de autenticación extensible (EAP) enpeap
, el protocolo de autenticación interna enmschapv2
, y el nombre de usuario:#
nmcli connection modify wpl1s0 802-11-wireless-security.key-mgmt wpa-eap 802-1x.eap peap 802-1x.phase2-auth mschapv2 802-1x.identity user_name
Tenga en cuenta que debe establecer los parámetros
802-11-wireless-security.key-mgmt
,802-1x.eap
,802-1x.phase2-auth
, y802-1x.identity
en un solo comando.Opcionalmente, guarde la contraseña en la configuración:
#
nmcli connection modify wpl1s0 802-1x.password password
ImportantePor defecto, NetworkManager almacena la contraseña en texto claro en el archivo
/etc/sysconfig/network-scripts/keys-connection_name
que sólo puede leer el usuario deroot
. Sin embargo, las contraseñas en texto claro en un archivo de configuración pueden ser un riesgo para la seguridad.Para aumentar la seguridad, establezca el parámetro
802-1x.password-flags
a0x1
. Con esta configuración, en los servidores con el entorno de escritorio GNOME o elnm-applet
en ejecución, NetworkManager recupera la contraseña de estos servicios. En otros casos, NetworkManager solicita la contraseña.Si se requiere que el cliente verifique el certificado del autentificador, establezca el parámetro
802-1x.ca-cert
en el perfil de conexión a la ruta del certificado de la CA:#
nmcli connection modify wpl1s0 802-1x.ca-cert /etc/pki/ca-trust/source/anchors/ca.crt
NotaPor razones de seguridad, Red Hat recomienda utilizar el certificado del autentificador para permitir a los clientes validar la identidad del autentificador.
Activar el perfil de conexión:
#
nmcli connection up wpl1s0
Pasos de verificación
- Acceder a los recursos de la red que requieren autenticación de red.
Recursos adicionales
- Para más detalles sobre cómo añadir un perfil de conexión Ethernet de NetworkManager, consulte Capítulo 9, Gestión de las conexiones Wi-Fi.
-
Para otros parámetros relacionados con 802.1X y sus descripciones, consulte la sección
802-1x settings
en la página de manualnm-settings(5)
. -
Para más detalles sobre la utilidad
nmcli
, consulte la página de manualnmcli(1)
.
Capítulo 18. Gestión de la configuración de la pasarela por defecto
La pasarela por defecto es un router que reenvía los paquetes de red cuando ninguna otra ruta coincide con el destino de un paquete. En una red local, la pasarela por defecto suele ser el host que está un salto más cerca de Internet.
18.1. Configuración de la puerta de enlace predeterminada en una conexión existente mediante nmcli
En la mayoría de las situaciones, los administradores establecen la puerta de enlace predeterminada cuando crean una conexión, como se explica, por ejemplo, en Sección 8.1, “Configuración de una conexión Ethernet estática mediante nmcli”.
Esta sección describe cómo establecer o actualizar la puerta de enlace predeterminada en una conexión previamente creada utilizando la utilidad nmcli
.
Requisitos previos
- Debe configurarse al menos una dirección IP estática en la conexión en la que se establecerá la puerta de enlace predeterminada.
-
Si el usuario está conectado en una consola física, los permisos de usuario son suficientes. En caso contrario, el usuario debe tener permisos de
root
.
Procedimiento
Establezca la dirección IP de la pasarela por defecto.
Por ejemplo, para establecer la dirección IPv4 de la pasarela por defecto en la
example
conexión a192.0.2.1
:$
sudo nmcli connection modify example ipv4.gateway "192.0.2.1"
Por ejemplo, para establecer la dirección IPv6 de la pasarela por defecto en la
example
conexión a2001:db8:1::1
:$
sudo nmcli connection modify example ipv6.gateway "2001:db8:1::1"
Reinicie la conexión de red para que los cambios surtan efecto. Por ejemplo, para reiniciar la
example
conexión mediante la línea de comandos:$
sudo nmcli connection up example
AvisoTodas las conexiones que actualmente utilizan esta conexión de red se interrumpen temporalmente durante el reinicio.
Opcionalmente, verifique que la ruta esté activa.
Para mostrar la puerta de enlace por defecto IPv4:
$
ip -4 route
default via 192.0.2.1 dev example proto static metric 100Para mostrar la puerta de enlace predeterminada IPv6:
$
ip -6 route
default via 2001:db8:1::1 dev example proto static metric 100 pref medium
Recursos adicionales
18.2. Configuración de la puerta de enlace por defecto en una conexión existente utilizando el modo interactivo nmcli
En la mayoría de las situaciones, los administradores establecen la puerta de enlace predeterminada cuando crean una conexión, como se explica, por ejemplo, en Sección 8.5, “Configuración de una conexión Ethernet dinámica mediante el editor interactivo nmcli”.
Esta sección describe cómo establecer o actualizar la puerta de enlace predeterminada en una conexión previamente creada utilizando el modo interactivo de la utilidad nmcli
.
Requisitos previos
- Debe configurarse al menos una dirección IP estática en la conexión en la que se establecerá la puerta de enlace predeterminada.
-
Si el usuario está conectado en una consola física, los permisos de usuario son suficientes. En caso contrario, el usuario debe tener permisos de
root
.
Procedimiento
Abra el modo interactivo
nmcli
para la conexión requerida. Por ejemplo, para abrir el modo interactivonmcli
para la conexión example:$
sudo nmcli connection edit example
Establezca la puerta de enlace por defecto.
Por ejemplo, para establecer la dirección IPv4 de la pasarela por defecto en la
example
conexión a192.0.2.1
:nmcli>
set ipv4.gateway 192.0.2.1
Por ejemplo, para establecer la dirección IPv6 de la pasarela por defecto en la
example
conexión a2001:db8:1::1
:nmcli>
set ipv6.gateway 2001:db8:1::1
Opcionalmente, verifique que la puerta de enlace por defecto se ha configurado correctamente:
nmcli>
print
... ipv4.gateway: 192.0.2.1 ... ipv6.gateway: 2001:db8:1::1 ...Guarde la configuración:
nmcli>
save persistent
Reinicie la conexión de red para que los cambios surtan efecto:
nmcli>
activate example
AvisoTodas las conexiones que actualmente utilizan esta conexión de red se interrumpen temporalmente durante el reinicio.
Salga del modo interactivo de
nmcli
:nmcli>
quit
Opcionalmente, verifique que la ruta esté activa.
Para mostrar la puerta de enlace por defecto IPv4:
$
ip -4 route
default via 192.0.2.1 dev example proto static metric 100Para mostrar la puerta de enlace predeterminada IPv6:
$
ip -6 route
default via 2001:db8:1::1 dev example proto static metric 100 pref medium
18.3. Configuración de la pasarela por defecto en una conexión existente mediante nm-connection-editor
En la mayoría de las situaciones, los administradores establecen la puerta de enlace por defecto cuando crean una conexión. Esta sección describe cómo establecer o actualizar la puerta de enlace predeterminada en una conexión previamente creada utilizando la aplicación nm-connection-editor
.
Requisitos previos
- Debe configurarse al menos una dirección IP estática en la conexión en la que se establecerá la puerta de enlace predeterminada.
Procedimiento
Abra un terminal e introduzca
nm-connection-editor
:$
nm-connection-editor
- Seleccione la conexión que desea modificar y haga clic en el icono de la rueda dentada para editar la conexión existente.
Establezca la puerta de enlace por defecto IPv4. Por ejemplo, para establecer la dirección IPv4 de la pasarela por defecto en la conexión a
192.0.2.1
:-
Abra la pestaña
IPv4 Settings
. Introduzca la dirección en el campo
gateway
junto al rango de IP en el que se encuentra la dirección de la pasarela:
-
Abra la pestaña
Establezca la puerta de enlace por defecto IPv6. Por ejemplo, para establecer la dirección IPv6 de la pasarela por defecto en la conexión a
2001:db8:1::1
:-
Abra la pestaña
IPv6
. Introduzca la dirección en el campo
gateway
junto al rango de IP en el que se encuentra la dirección de la pasarela:
-
Abra la pestaña
- Haga clic en Aceptar.
- Haga clic en Guardar.
Reinicie la conexión de red para que los cambios surtan efecto. Por ejemplo, para reiniciar la
example
conexión mediante la línea de comandos:$
sudo nmcli connection up example
AvisoTodas las conexiones que actualmente utilizan esta conexión de red se interrumpen temporalmente durante el reinicio.
Opcionalmente, verifique que la ruta esté activa.
Para mostrar la puerta de enlace por defecto IPv4:
$
ip -4 route
default via 192.0.2.1 dev example proto static metric 100Para mostrar la puerta de enlace predeterminada IPv6:
$
ip -6 route
default via 2001:db8:1::1 dev example proto static metric 100 pref medium
Recursos adicionales
18.4. Configuración de la puerta de enlace predeterminada en una conexión existente mediante el centro de control
En la mayoría de las situaciones, los administradores establecen la puerta de enlace por defecto cuando crean una conexión. Esta sección describe cómo establecer o actualizar la puerta de enlace predeterminada en una conexión previamente creada utilizando la aplicación control-center
.
Requisitos previos
- Debe configurarse al menos una dirección IP estática en la conexión en la que se establecerá la puerta de enlace predeterminada.
-
La configuración de red de la conexión está abierta en la aplicación
control-center
.
Procedimiento
Establezca la puerta de enlace por defecto IPv4. Por ejemplo, para establecer la dirección IPv4 de la pasarela por defecto en la conexión a
192.0.2.1
:-
Abra la pestaña
IPv4
. Introduzca la dirección en el campo
gateway
junto al rango de IP en el que se encuentra la dirección de la pasarela:
-
Abra la pestaña
Establezca la puerta de enlace por defecto IPv6. Por ejemplo, para establecer la dirección IPv6 de la pasarela por defecto en la conexión a
2001:db8:1::1
:-
Abra la pestaña
IPv6
. Introduzca la dirección en el campo
gateway
junto al rango de IP en el que se encuentra la dirección de la pasarela:
-
Abra la pestaña
- Haga clic en Aplicar.
De vuelta en la ventana
Network
, desactive y vuelva a activar la conexión cambiando el botón de la conexión a Off y de nuevo a On para que los cambios surtan efecto.AvisoTodas las conexiones que actualmente utilizan esta conexión de red se interrumpen temporalmente durante el reinicio.
Opcionalmente, verifique que la ruta esté activa.
Para mostrar la puerta de enlace por defecto IPv4:
$
ip -4 route
default via 192.0.2.1 dev example proto static metric 100Para mostrar la puerta de enlace predeterminada IPv6:
$
ip -6 route
default via 2001:db8:1::1 dev example proto static metric 100 pref medium
Recursos adicionales
18.5. Configuración de la puerta de enlace predeterminada en una conexión existente mediante las funciones del sistema
Puede utilizar la función del sistema networking
RHEL para establecer la puerta de enlace predeterminada.
Cuando se ejecuta una obra que utiliza el rol de sistema networking
RHEL, el rol de sistema anula un perfil de conexión existente con el mismo nombre si la configuración no coincide con la especificada en la obra. Por lo tanto, especifique siempre toda la configuración del perfil de conexión de red en la obra, incluso si, por ejemplo, la configuración de IP ya existe. De lo contrario, la función restablece estos valores a sus valores por defecto.
Dependiendo de si ya existe, el procedimiento crea o actualiza el perfil de conexión enp1s0
con la siguiente configuración:
-
Una dirección IPv4 estática -
198.51.100.20
con una máscara de subred/24
-
Una dirección IPv6 estática -
2001:db8:1::1
con una máscara de subred/64
-
Una pasarela por defecto IPv4 -
198.51.100.254
-
Una pasarela por defecto IPv6 -
2001:db8:1::fffe
-
Un servidor DNS IPv4 -
198.51.100.200
-
Un servidor DNS IPv6 -
2001:db8:1::ffbb
-
Un dominio de búsqueda DNS -
example.com
Requisitos previos
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si utiliza un usuario remoto diferente a
root
cuando ejecuta el libro de jugadas, este usuario tiene los permisos apropiados desudo
en el nodo gestionado.
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:nodo.ejemplo.com
Cree el libro de jugadas
~/ethernet-connection.yml
con el siguiente contenido:--- - name: Configure an Ethernet connection with static IP and default gateway hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp1s0 type: ethernet autoconnect: yes ip: address: - 198.51.100.20/24 - 2001:db8:1::1/64 gateway4: 198.51.100.254 gateway6: 2001:db8:1::fffe dns: - 198.51.100.200 - 2001:db8:1::ffbb dns_search: - example.com state: up
Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/ethernet-connection.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/ethernet-connection.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
solicite la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Recursos adicionales
-
Para obtener detalles sobre los parámetros utilizados en
network_connections
y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
18.6. Configuración de la puerta de enlace por defecto en una conexión existente cuando se utilizan los scripts de red heredados
Este procedimiento describe cómo configurar una puerta de enlace por defecto cuando se utilizan los scripts de red heredados. El ejemplo establece la pasarela por defecto en 192.0.2.1
que es accesible a través de la interfaz enp1s0
.
Requisitos previos
-
El paquete
NetworkManager
no está instalado o el servicioNetworkManager
está desactivado. -
El paquete
network-scripts
está instalado.
Procedimiento
Ajuste el parámetro
GATEWAY
en el archivo/etc/sysconfig/network-scripts/ifcfg-enp1s0
a192.0.2.1
:GATEWAY=192.0.2.1
Añada la entrada
default
en el archivo/etc/sysconfig/network-scripts/route-enp0s1
:por defecto vía 192.0.2.1
Reinicia la red:
# systemctl restart network
18.7. Cómo gestiona NetworkManager varias pasarelas por defecto
En ciertas situaciones, por ejemplo por razones de fallback, se establecen múltiples puertas de enlace por defecto en un host. Sin embargo, para evitar problemas de enrutamiento asíncrono, cada pasarela por defecto del mismo protocolo requiere un valor métrico separado. Tenga en cuenta que RHEL sólo utiliza la conexión a la pasarela por defecto que tenga la métrica más baja establecida.
Puede establecer la métrica tanto para la puerta de enlace IPv4 como para la IPv6 de una conexión utilizando el siguiente comando:
# nmcli connection modify connection-name ipv4.route-metric value ipv6.route-metric value
No establezca el mismo valor de métrica para el mismo protocolo en varios perfiles de conexión para evitar problemas de enrutamiento.
Si se establece una puerta de enlace por defecto sin valor de métrica, NetworkManager establece automáticamente el valor de la métrica en función del tipo de interfaz. Para ello, NetworkManager asigna el valor por defecto de este tipo de red a la primera conexión que se activa, y establece un valor incrementado a cada una de las demás conexiones del mismo tipo en el orden en que se activan. Por ejemplo, si existen dos conexiones Ethernet con una pasarela por defecto, NetworkManager establece una métrica de 100
en la ruta a la pasarela por defecto de la conexión que se activa primero. Para la segunda conexión, NetworkManager establece 101
.
A continuación se presenta un resumen de los tipos de red más utilizados y sus métricas por defecto:
Tipo de conexión | Valor métrico por defecto |
---|---|
VPN | 50 |
Ethernet | 100 |
MACsec | 125 |
InfiniBand | 150 |
Bono | 300 |
Equipo | 350 |
VLAN | 400 |
Puente | 425 |
TUN | 450 |
Wi-Fi | 600 |
Túnel IP | 675 |
Recursos adicionales
- Para más detalles sobre el enrutamiento basado en políticas, consulte Capítulo 20, Configuración del enrutamiento basado en políticas para definir rutas alternativas.
- Para más detalles sobre el TCP multirruta, consulte Capítulo 25, Introducción al TCP multirruta.
18.8. Configuración de NetworkManager para evitar el uso de un perfil específico para proporcionar una puerta de enlace predeterminada
Puede configurar que NetworkManager no utilice nunca un perfil específico para proporcionar la puerta de enlace predeterminada. Siga este procedimiento para los perfiles de conexión que no están conectados a la puerta de enlace predeterminada.
Requisitos previos
- El perfil de conexión de NetworkManager para la conexión que no está conectada a la pasarela por defecto existe.
Procedimiento
Si la conexión utiliza una configuración IP dinámica, configure que NetworkManager no utilice la conexión como ruta por defecto para las conexiones IPv4 e IPv6:
#
nmcli connection modify connection_name ipv4.never-default yes ipv6.never-default yes
Tenga en cuenta que al configurar
ipv4.never-default
yipv6.never-default
enyes
, se elimina automáticamente la dirección IP de la pasarela por defecto para el protocolo correspondiente del perfil de conexión.Activa la conexión:
#
nmcli connection up connection_name
Pasos de verificación
-
Utilice los comandos
ip -4 route
yip -6 route
para verificar que RHEL no utiliza la interfaz de red para la ruta por defecto para el protocolo IPv4 e IPv6.
18.9. Corrección de un comportamiento de enrutamiento inesperado debido a múltiples puertas de enlace por defecto
Sólo hay unos pocos escenarios, como cuando se utiliza TCP multirruta, en los que se requieren múltiples pasarelas por defecto en un host. En la mayoría de los casos, sólo se configura una única puerta de enlace por defecto para evitar comportamientos de enrutamiento inesperados o problemas de enrutamiento asíncrono.
Para enrutar el tráfico a diferentes proveedores de Internet, utilice el enrutamiento basado en políticas en lugar de múltiples puertas de enlace predeterminadas.
Requisitos previos
- El host utiliza NetworkManager para gestionar las conexiones de red, que es el valor por defecto.
- El host tiene múltiples interfaces de red.
- El host tiene configuradas varias pasarelas por defecto.
Procedimiento
Muestra la tabla de enrutamiento:
Para IPv4, introduzca:
#
ip -4 route
default via 192.0.2.1 dev enp1s0 proto static metric 101 default via 198.51.100.1 dev enp7s0 proto static metric 102 ...Para IPv6, introduzca:
#
ip -6 route
default via 2001:db8:1::1 dev enp1s0 proto static metric 101 pref medium default via 2001:db8:2::1 dev enp7s0 proto static metric 102 pref medium ...
Las entradas que comienzan con
default
indican una ruta por defecto. Observe los nombres de las interfaces de estas entradas que aparecen junto adev
.Utilice los siguientes comandos para mostrar las conexiones de NetworkManager que utilizan las interfaces que identificó en el paso anterior:
#
nmcli -f GENERAL.CONNECTION,IP4.GATEWAY,IP6.GATEWAY device show enp1s0
GENERAL.CONNECTION: Corporate-LAN IP4.GATEWAY: 192.168.122.1 IP6.GATEWAY: 2001:db8:1::1 #nmcli -f GENERAL.CONNECTION,IP4.GATEWAY,IP6.GATEWAY device show enp7s0
GENERAL.CONNECTION: Internet-Provider IP4.GATEWAY: 198.51.100.1 IP6.GATEWAY: 2001:db8:2::1En estos ejemplos, los perfiles llamados
Corporate-LAN
yInternet-Provider
tienen las puertas de enlace por defecto establecidas. Dado que, en una red local, la puerta de enlace por defecto suele ser el host que está un salto más cerca de Internet, el resto de este procedimiento asume que las puertas de enlace por defecto enCorporate-LAN
son incorrectas.Configure que NetworkManager no utilice la conexión
Corporate-LAN
como ruta por defecto para las conexiones IPv4 e IPv6:#
nmcli connection modify Corporate-LAN ipv4.never-default yes ipv6.never-default yes
Tenga en cuenta que al configurar
ipv4.never-default
yipv6.never-default
enyes
, se elimina automáticamente la dirección IP de la pasarela por defecto para el protocolo correspondiente del perfil de conexión.Active la conexión
Corporate-LAN
:#
nmcli connection up Corporate-LAN
Pasos de verificación
Visualice las tablas de enrutamiento IPv4 e IPv6 y verifique que sólo hay una puerta de enlace predeterminada para cada protocolo:
Para IPv4, introduzca:
#
ip -4 route
default via 192.0.2.1 dev enp1s0 proto static metric 101 ...Para IPv6, introduzca:
#
ip -6 route
default via 2001:db8:1::1 dev enp1s0 proto static metric 101 pref medium ...
Recursos adicionales
- Para más detalles sobre el enrutamiento basado en políticas, consulte Capítulo 20, Configuración del enrutamiento basado en políticas para definir rutas alternativas.
- Para más detalles sobre el TCP multirruta, consulte Capítulo 25, Introducción al TCP multirruta.
Capítulo 19. Configuración de rutas estáticas
Por defecto, y si se configura una puerta de enlace por defecto, Red Hat Enterprise Linux reenvía el tráfico para las redes que no están directamente conectadas al host a la puerta de enlace por defecto. Usando una ruta estática, puede configurar que Red Hat Enterprise Linux reenvíe el tráfico para un host o red específica a un enrutador diferente a la puerta de enlace por defecto. Esta sección describe diferentes opciones de cómo configurar rutas estáticas.
19.1. Cómo utilizar el comando nmcli para configurar una ruta estática
Para configurar una ruta estática, utilice la utilidad nmcli
con la siguiente sintaxis:
$ nmcli connection modify connection_name ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."
El comando admite los siguientes atributos de ruta:
-
table=n
-
src=address
-
tos=n
-
onlink=true|false
-
window=n
-
cwnd=n
-
mtu=n
-
lock-window=true|false
-
lock-cwdn=true|false
-
lock-mtu=true|false
Si utiliza el subcomando ipv4.routes
, nmcli
anula todos los ajustes actuales de este parámetro. Para añadir una ruta adicional, utilice el comando nmcli connection modify connection_name ipv4.routes "…"
para añadir una ruta adicional. De forma similar, puede utilizar nmcli connection modify connection_name -ipv4.routes "…"
para eliminar una ruta específica.
19.2. Configuración de una ruta estática mediante un comando nmcli
Puede añadir una ruta estática a la configuración de una conexión de red mediante el comando nmcli connection modify
.
El procedimiento de esta sección describe cómo añadir una ruta a la red 192.0.2.0/24
que utiliza la pasarela que se ejecuta en 198.51.100.1
, a la que se puede acceder a través de la conexión example
.
Requisitos previos
- La red está configurada
- La puerta de enlace para la ruta estática debe ser directamente alcanzable en la interfaz.
-
Si el usuario está conectado en una consola física, los permisos de usuario son suficientes. En caso contrario, el comando requiere permisos de
root
.
Procedimiento
Añade la ruta estática a la conexión
example
:$
sudo nmcli connection modify example ipv4.routes "192.0.2.0/24 198.51.100.1"
Para establecer varias rutas en un solo paso, pase las rutas individuales separadas por comas al comando. Por ejemplo, para añadir una ruta a las redes
192.0.2.0/24
y203.0.113.0/24
, ambas enrutadas a través de la pasarela198.51.100.1
, introduzca:$
sudo nmcli connection modify example ipv4.routes "192.0.2.0/24 198.51.100.1, 203.0.113.0/24 198.51.100.1"
Opcionalmente, verifique que las rutas se han añadido correctamente a la configuración:
$
nmcli connection show example
... ipv4.routes: { ip = 192.0.2.1/24, nh = 198.51.100.1 } ...Reinicie la conexión de red:
$
sudo nmcli connection up example
AvisoEl reinicio de la conexión interrumpe brevemente la conectividad en esa interfaz.
Opcionalmente, verifique que la ruta esté activa:
$
ip route
... 192.0.2.0/24 via 198.51.100.1 dev example proto static metric 100
Recursos adicionales
-
Para más detalles sobre
nmcli
, consulte la página de manualnmcli(1)
.
19.3. Configuración de una ruta estática mediante el centro de control
Puede utilizar control-center
en GNOME para añadir una ruta estática a la configuración de una conexión de red.
El procedimiento de esta sección describe cómo añadir una ruta a la red 192.0.2.0/24
que utiliza la pasarela que se ejecuta en 198.51.100.1
.
Requisitos previos
- La red está configurada.
- La puerta de enlace para la ruta estática debe ser directamente alcanzable en la interfaz.
-
La configuración de red de la conexión se abre en la aplicación
control-center
. Véase Sección 8.8, “Configuración de una conexión Ethernet mediante nm-connection-editor”.
Procedimiento
-
Abra la pestaña
IPv4
. -
Opcionalmente, desactive las rutas automáticas haciendo clic en el botón On en la sección
Routes
de la pestañaIPv4
para utilizar sólo rutas estáticas. Si las rutas automáticas están habilitadas, Red Hat Enterprise Linux utiliza rutas estáticas y rutas recibidas de un servidor DHCP. Introduzca la dirección, la máscara de red, la puerta de enlace y, opcionalmente, un valor métrico:
- Haga clic en Aplicar.
De vuelta en la ventana
Network
, desactive y vuelva a activar la conexión cambiando el botón de la conexión a Off y de nuevo a On para que los cambios surtan efecto.AvisoEl reinicio de la conexión interrumpe brevemente la conectividad en esa interfaz.
Opcionalmente, verifique que la ruta esté activa:
$
ip route
... 192.0.2.0/24 via 198.51.100.1 dev example proto static metric 100
19.4. Configuración de una ruta estática mediante nm-connection-editor
Puede utilizar la aplicación nm-connection-editor
para añadir una ruta estática a la configuración de una conexión de red.
El procedimiento de esta sección describe cómo añadir una ruta a la red 192.0.2.0/24
que utiliza la pasarela que se ejecuta en 198.51.100.1
, a la que se puede acceder a través de la conexión example
.
Requisitos previos
- La red está configurada.
- La puerta de enlace para la ruta estática debe ser directamente alcanzable en la interfaz.
Procedimiento
Abra un terminal e introduzca
nm-connection-editor
:$
nm-connection-editor
-
Seleccione la conexión
example
y haga clic en el icono de la rueda dentada para editar la conexión existente. -
Abra la pestaña
IPv4
. - Haga clic en el botón Rutas.
Haga clic en el botón Añadir e introduzca la dirección, la máscara de red, la puerta de enlace y, opcionalmente, un valor métrico.
- Haga clic en Aceptar.
- Haga clic en Guardar.
Reinicie la conexión de red para que los cambios surtan efecto. Por ejemplo, para reiniciar la conexión
example
utilizando la línea de comandos:$
sudo nmcli connection up example
Opcionalmente, verifique que la ruta esté activa:
$
ip route
... 192.0.2.0/24 via 198.51.100.1 dev example proto static metric 100
19.5. Configurar una ruta estática utilizando el modo interactivo nmcli
Puede utilizar el modo interactivo de la utilidad nmcli
para añadir una ruta estática a la configuración de una conexión de red.
El procedimiento de esta sección describe cómo añadir una ruta a la red 192.0.2.0/24
que utiliza la pasarela que se ejecuta en 198.51.100.1
, a la que se puede acceder a través de la conexión example
.
Requisitos previos
- La red está configurada
- La puerta de enlace para la ruta estática debe ser directamente alcanzable en la interfaz.
-
Si el usuario está conectado en una consola física, los permisos de usuario son suficientes. En caso contrario, el comando requiere permisos de
root
.
Procedimiento
Abra el modo interactivo
nmcli
para la conexiónexample
:$
sudo nmcli connection edit example
Añade la ruta estática:
nmcli>
set ipv4.routes 192.0.2.0/24 198.51.100.1
Opcionalmente, verifique que las rutas se han añadido correctamente a la configuración:
nmcli>
print
... ipv4.routes: { ip = 192.0.2.1/24, nh = 198.51.100.1 } ...El atributo
ip
muestra la red a enrutar y el atributonh
la puerta de enlace (siguiente salto).Guarde la configuración:
nmcli>
save persistent
Reinicie la conexión de red:
nmcli>
activate example
AvisoCuando se reinicie la conexión, todas las conexiones que estén utilizando esta conexión se interrumpirán temporalmente.
Salga del modo interactivo de
nmcli
:nmcli>
quit
Opcionalmente, verifique que la ruta esté activa:
$
ip route
... 192.0.2.0/24 via 198.51.100.1 dev example proto static metric 100
Recursos adicionales
-
Para ver la lista de comandos disponibles en el modo interactivo, introduzca
help
en el shell interactivo.
19.6. Configuración de una ruta estática mediante RHEL System Roles
Puede utilizar el rol de sistema networking
RHEL para configurar rutas estáticas.
Cuando se ejecuta una obra que utiliza el rol de sistema networking
RHEL, el rol de sistema anula un perfil de conexión existente con el mismo nombre si la configuración no coincide con la especificada en la obra. Por lo tanto, especifique siempre toda la configuración del perfil de conexión de red en la obra, incluso si, por ejemplo, la configuración de IP ya existe. De lo contrario, la función restablece estos valores a sus valores por defecto.
Dependiendo de si ya existe, el procedimiento crea o actualiza el perfil de conexión enp7s0
con la siguiente configuración:
-
Una dirección IPv4 estática -
198.51.100.20
con una máscara de subred/24
-
Una dirección IPv6 estática -
2001:db8:1::1
con una máscara de subred/64
-
Una pasarela por defecto IPv4 -
198.51.100.254
-
Una pasarela por defecto IPv6 -
2001:db8:1::fffe
-
Un servidor DNS IPv4 -
198.51.100.200
-
Un servidor DNS IPv6 -
2001:db8:1::ffbb
-
Un dominio de búsqueda DNS -
example.com
Rutas estáticas:
-
192.0.2.0/24
con puerta de enlace198.51.100.1
-
203.0.113.0/24
con puerta de enlace198.51.100.2
-
Requisitos previos
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si utiliza un usuario remoto diferente a
root
cuando ejecuta el libro de jugadas, este usuario tiene los permisos apropiados desudo
en el nodo gestionado.
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:nodo.ejemplo.com
Cree el libro de jugadas
~/add-static-routes.yml
con el siguiente contenido:--- - name: Configure an Ethernet connection with static IP and additional routes hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp7s0 type: ethernet autoconnect: yes ip: address: - 198.51.100.20/24 - 2001:db8:1::1/64 gateway4: 198.51.100.254 gateway6: 2001:db8:1::fffe dns: - 198.51.100.200 - 2001:db8:1::ffbb dns_search: - example.com route: - network: 192.0.2.0 prefix: 24 gateway: 198.51.100.1 - network: 203.0.113.0 prefix: 24 gateway: 198.51.100.2 state: up
Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/add-static-routes.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/add-static-routes.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
solicite la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Pasos de verificación
Muestra la tabla de enrutamiento:
#
ip -4 route
default via 198.51.100.254 dev enp7s0 proto static metric 100 192.0.2.0/24 via 198.51.100.1 dev enp7s0 proto static metric 100 203.0.113.0/24 via 198.51.100.2 dev enp7s0 proto static metric 100 ...
Recursos adicionales
-
Para obtener detalles sobre los parámetros utilizados en
network_connections
y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
19.7. Creación de archivos de configuración de rutas estáticas en formato clave-valor cuando se utilizan los scripts de red heredados
Este procedimiento describe cómo crear manualmente un archivo de configuración de enrutamiento para una ruta IPv4 a la red 192.0.2.0/24
cuando se utilizan los scripts de red heredados en lugar de NetworkManager. En este ejemplo, la puerta de enlace correspondiente con la dirección IP 198.51.100.1
es accesible a través de la interfaz enp1s0
.
El ejemplo de este procedimiento utiliza entradas de configuración en formato clave-valor.
Los scripts de red heredados sólo admiten el formato clave-valor para las rutas estáticas IPv4. Para las rutas IPv6, utilice el formato ip
-command-. Véase Sección 19.8, “Creación de archivos de configuración de rutas estáticas en formato ip-command cuando se utilizan los scripts de red heredados”.
Requisitos previos
- La puerta de enlace para la ruta estática debe ser directamente alcanzable en la interfaz.
-
El paquete
NetworkManager
no está instalado o el servicioNetworkManager
está desactivado. -
El paquete
network-scripts
está instalado.
Procedimiento
Añade la ruta estática IPv4 al archivo
/etc/sysconfig/network-scripts/route-enp0s1
:ADDRESS0=192.0.2.0 NETMASK0=255.255.255.0 GATEWAY0=198.51.100.1
-
La variable
ADDRESS0
define la red de la primera entrada de enrutamiento. -
La variable
NETMASK0
define la máscara de red de la primera entrada de enrutamiento. La variable
GATEWAY0
define la dirección IP de la puerta de enlace a la red o al host remoto para la primera entrada de enrutamiento.Si añade varias rutas estáticas, aumente el número en los nombres de las variables. Tenga en cuenta que las variables de cada ruta deben estar numeradas secuencialmente. Por ejemplo,
ADDRESS0
,ADDRESS1
,ADDRESS3
, y así sucesivamente.
-
La variable
Reinicia la red:
# systemctl restart network
Recursos adicionales
-
Para más detalles sobre la configuración de los scripts de red heredados, consulte el archivo
/usr/share/doc/network-scripts/sysconfig.txt
.
19.8. Creación de archivos de configuración de rutas estáticas en formato ip-command cuando se utilizan los scripts de red heredados
Este procedimiento describe cómo crear manualmente un archivo de configuración de enrutamiento para las siguientes rutas estáticas cuando se utilizan scripts de red heredados:
-
Una ruta IPv4 hacia la red
192.0.2.0/24
. La pasarela correspondiente con la dirección IP198.51.100.1
es accesible a través de la interfazenp1s0
. -
Una ruta IPv6 hacia la red
2001:db8:1::/64
. La pasarela correspondiente con la dirección IP2001:db8:2::1
es accesible a través de la interfazenp1s0
.
El ejemplo de este procedimiento utiliza las entradas de configuración en ip
-command-format.
Requisitos previos
- La puerta de enlace para la ruta estática debe ser directamente alcanzable en la interfaz.
-
El paquete
NetworkManager
no está instalado o el servicioNetworkManager
está desactivado. -
El paquete
network-scripts
está instalado.
Procedimiento
Añade la ruta estática IPv4 al archivo
/etc/sysconfig/network-scripts/route-enp0s1
:192.0.2.0/24 vía 198.51.100.1 dev enp0s1
Añade la ruta estática IPv6 al archivo
/etc/sysconfig/network-scripts/route6-enp0s1
:2001:db8:1::/64 vía 2001:db8:2::1 dev enp0s1
Reinicia la red:
# systemctl restart network
Recursos adicionales
-
Para más detalles sobre la configuración de los scripts de red heredados, consulte el archivo
/usr/share/doc/network-scripts/sysconfig.txt
.
Capítulo 20. Configuración del enrutamiento basado en políticas para definir rutas alternativas
Por defecto, el kernel de RHEL decide dónde reenviar los paquetes de red en función de la dirección de destino utilizando una tabla de enrutamiento. El enrutamiento basado en políticas le permite configurar escenarios de enrutamiento complejos. Por ejemplo, puede enrutar los paquetes basándose en varios criterios, como la dirección de origen, los metadatos del paquete o el protocolo.
Esta sección describe cómo configurar el enrutamiento basado en políticas utilizando NetworkManager.
En los sistemas que utilizan NetworkManager, sólo la utilidad nmcli
permite establecer reglas de enrutamiento y asignar rutas a tablas específicas.
20.1. Enrutamiento del tráfico de una subred específica a una puerta de enlace predeterminada diferente utilizando NetworkManager
Esta sección describe cómo configurar RHEL como un enrutador que, por defecto, enruta todo el tráfico al proveedor de Internet A utilizando la ruta por defecto. Utilizando el enrutamiento basado en políticas, RHEL enruta el tráfico recibido desde la subred de las estaciones de trabajo internas hacia el proveedor B.
El procedimiento supone la siguiente topología de red:
Requisitos previos
-
El sistema utiliza
NetworkManager
para configurar la red, que es la predeterminada en RHEL 8. El router RHEL que se quiere configurar en el procedimiento tiene cuatro interfaces de red:
-
La interfaz
enp7s0
está conectada a la red del proveedor A. La IP de la pasarela en la red del proveedor es198.51.100.2
, y la red utiliza una máscara de red/30
. -
La interfaz
enp1s0
está conectada a la red del proveedor B. La IP de la pasarela en la red del proveedor es192.0.2.2
, y la red utiliza una máscara de red/30
. -
La interfaz
enp8s0
está conectada a la subred10.0.0.0/24
con estaciones de trabajo internas. -
La interfaz
enp9s0
está conectada a la subred203.0.113.0/24
con los servidores de la empresa.
-
La interfaz
-
Los hosts de la subred de las estaciones de trabajo internas utilizan
10.0.0.1
como pasarela por defecto. En el procedimiento, se asigna esta dirección IP a la interfaz de redenp8s0
del router. -
Los hosts de la subred del servidor utilizan
203.0.113.1
como pasarela por defecto. En el procedimiento, se asigna esta dirección IP a la interfaz de redenp9s0
del router. -
El servicio
firewalld
está habilitado y activo.
Procedimiento
Configure la interfaz de red para el proveedor A:
#
nmcli connection add type ethernet con-name Provider-A ifname enp7s0 ipv4.method manual ipv4.addresses 198.51.100.1/30 ipv4.gateway 198.51.100.2 ipv4.dns 198.51.100.200 connection.zone external
El comando
nmcli connection add
crea un perfil de conexión de NetworkManager. La siguiente lista describe las opciones del comando:-
type
ethernet
: Define que el tipo de conexión es Ethernet. -
con-name
connection_name
: Establece el nombre del perfil. Utilice un nombre significativo para evitar confusiones. -
ifname
network_device
: Establece la interfaz de red. -
ipv4.method
manual
: Permite configurar una dirección IP estática. -
ipv4.addresses
IP_address/subnet_mask
: Establece las direcciones IPv4 y la máscara de subred. -
ipv4.gateway
IP_address
: Establece la dirección de la puerta de enlace por defecto. -
ipv4.dns
IP_of_DNS_server
: Establece la dirección IPv4 del servidor DNS. -
connection.zone
firewalld_zone
: Asigna la interfaz de red a la zonafirewalld
definida. Tenga en cuenta quefirewalld
activa automáticamente el enmascaramiento para las interfaces asignadas a la zonaexternal
.
-
Configure la interfaz de red para el proveedor B:
#
nmcli connection add type ethernet con-name Provider-B ifname enp1s0 ipv4.method manual ipv4.addresses 192.0.2.1/30 ipv4.routes "0.0.0.0/0 192.0.2.2 table=5000" connection.zone external
Este comando utiliza el parámetro
ipv4.routes
en lugar deipv4.gateway
para establecer la puerta de enlace predeterminada. Esto es necesario para asignar la puerta de enlace por defecto para esta conexión a una tabla de enrutamiento diferente (5000
) a la predeterminada. NetworkManager crea automáticamente esta nueva tabla de enrutamiento cuando se activa la conexión.Configure la interfaz de red a la subred de las estaciones de trabajo internas:
#
nmcli connection add type ethernet con-name Internal-Workstations ifname enp8s0 ipv4.method manual ipv4.addresses 10.0.0.1/24 ipv4.routes "10.0.0.0/24 src=192.0.2.1 table=5000" ipv4.routing-rules "priority 5 from 10.0.0.0/24 table 5000" connection.zone internal
Este comando utiliza el parámetro
ipv4.routes
para añadir una ruta estática a la tabla de enrutamiento con el ID5000
. Esta ruta estática para la subred10.0.0.0/24
utiliza la IP de la interfaz de la red local al proveedor B (192.0.2.1
) como siguiente salto.Además, el comando utiliza el parámetro
ipv4.routing-rules
para añadir una regla de enrutamiento con prioridad5
que dirige el tráfico de la subred10.0.0.0/24
a la tabla5000
. Los valores bajos tienen una prioridad alta.Tenga en cuenta que la sintaxis del parámetro
ipv4.routing-rules
es la misma que la de un comandoip route add
, excepto queipv4.routing-rules
siempre requiere especificar una prioridad.Configure la interfaz de red a la subred del servidor:
#
nmcli connection add type ethernet con-name Servers ifname enp9s0 ipv4.method manual ipv4.addresses 203.0.113.1/24 connection.zone internal
Pasos de verificación
En un host RHEL en la subred interna de la estación de trabajo:
Instale el paquete
traceroute
:#
yum install traceroute
Utilice la utilidad
traceroute
para mostrar la ruta a un host en Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 10.0.0.1 (10.0.0.1) 0.337 ms 0.260 ms 0.223 ms 2 192.0.2.1 (192.0.2.1) 0.884 ms 1.066 ms 1.248 ms ...La salida del comando muestra que el router envía paquetes a través de
192.0.2.1
, que es la red del proveedor B.
En un host RHEL en la subred del servidor:
Instale el paquete
traceroute
:#
yum install traceroute
Utilice la utilidad
traceroute
para mostrar la ruta a un host en Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 203.0.113.1 (203.0.113.1) 2.179 ms 2.073 ms 1.944 ms 2 198.51.100.2 (198.51.100.2) 1.868 ms 1.798 ms 1.549 ms ...La salida del comando muestra que el router envía paquetes a través de
198.51.100.2
, que es la red del proveedor A.
Pasos para la resolución de problemas
En el router RHEL:
Muestra la lista de reglas:
#
ip rule list
0: from all lookup local 5: from 10.0.0.0/24 lookup 5000 32766: from all lookup main 32767: from all lookup defaultPor defecto, RHEL contiene reglas para las tablas
local
,main
, ydefault
.Muestra las rutas en la tabla
5000
:#
ip route list table 5000
0.0.0.0/0 via 192.0.2.2 dev enp1s0 proto static metric 100 10.0.0.0/24 dev enp8s0 proto static scope link src 192.0.2.1 metric 102Muestra las interfaces y las zonas del cortafuegos:
#
firewall-cmd --get-active-zones
external interfaces: enp1s0 enp7s0 internal interfaces: enp8s0 enp9s0Compruebe que la zona
external
tiene activado el enmascaramiento:#
firewall-cmd --info-zone=external
external (active) target: default icmp-block-inversion: no interfaces: enp1s0 enp7s0 sources: services: ssh ports: protocols: masquerade: yes ...
Recursos adicionales
-
Para más detalles sobre los parámetros de
ipv4.*
que puede establecer en el comandonmcli connection add
, consulte la secciónIPv4 settings
en la página de manualnm-settings(5)
. -
Para más detalles sobre los parámetros de
connection.*
que puede establecer en el comandonmcli connection add
, consulte la secciónConnection settings
en la página de manualnm-settings(5)
. -
Para más detalles sobre la gestión de las conexiones de NetworkManager utilizando
nmcli
, consulte la secciónConnection management commands
en la página mannmcli(1)
.
20.2. Visión general de los archivos de configuración implicados en el enrutamiento basado en políticas cuando se utilizan los scripts de red heredados
Si utiliza los scripts de red heredados en lugar de NetworkManager para configurar su red, también puede configurar el enrutamiento basado en políticas.
La configuración de la red utilizando los scripts de red heredados proporcionados por el paquete network-scripts
está obsoleta en RHEL 8. Red Hat recomienda que utilice NetworkManager para configurar el enrutamiento basado en políticas. Para un ejemplo, vea Sección 20.1, “Enrutamiento del tráfico de una subred específica a una puerta de enlace predeterminada diferente utilizando NetworkManager”.
Los siguientes archivos de configuración intervienen en el enrutamiento basado en políticas cuando se utilizan los scripts de red heredados:
/etc/sysconfig/network-scripts/route-interface
: Este archivo define las rutas IPv4. Utilice la opcióntable
para especificar la tabla de enrutamiento. Por ejemplo:192.0.2.0/24 via 198.51.100.1 table 1 203.0.113.0/24 via 198.51.100.2 table 2
-
/etc/sysconfig/network-scripts/route6-interface
: Este archivo define las rutas IPv6. /etc/sysconfig/network-scripts/rule-interface
: Este archivo define las reglas para las redes de origen IPv4 para las cuales el kernel enruta el tráfico a tablas de enrutamiento específicas. Por ejemplo:from 192.0.2.0/24 lookup 1 from 203.0.113.0/24 lookup 2
-
/etc/sysconfig/network-scripts/rule6-interface
: Este archivo define las reglas para las redes de origen IPv6 para las cuales el kernel enruta el tráfico a tablas de enrutamiento específicas. /etc/iproute2/rt_tables
: Este archivo define los mapeos si desea utilizar nombres en lugar de números para referirse a tablas de enrutamiento específicas. Por ejemplo:1 Provider_A 2 Provider_B
Recursos adicionales
-
Para más detalles sobre el enrutamiento IP, consulte la página de manual
ip-route(8)
. -
Para más detalles sobre las reglas de enrutamiento, consulte la página man
ip-rule(8)
.
20.3. Enrutamiento del tráfico de una subred específica a una puerta de enlace predeterminada diferente utilizando los scripts de red heredados
Esta sección describe cómo configurar RHEL como un enrutador que, por defecto, enruta todo el tráfico al proveedor de Internet A utilizando la ruta por defecto. Utilizando el enrutamiento basado en políticas, RHEL enruta el tráfico recibido desde la subred de las estaciones de trabajo internas hacia el proveedor B.
La configuración de la red mediante los scripts de red heredados proporcionados por el paquete network-scripts
está obsoleta en RHEL 8. Siga el procedimiento de esta sección sólo si utiliza los scripts de red heredados en lugar de NetworkManager en su host. Si utiliza NetworkManager para gestionar la configuración de la red, consulte Sección 20.1, “Enrutamiento del tráfico de una subred específica a una puerta de enlace predeterminada diferente utilizando NetworkManager”.
El procedimiento supone la siguiente topología de red:
Los scripts de red heredados procesan los archivos de configuración en orden alfabético. Por lo tanto, debe nombrar los archivos de configuración de manera que se garantice que una interfaz, que se utiliza en las reglas y rutas de otras interfaces, esté lista cuando una interfaz dependiente la requiera. Para lograr el orden correcto, este procedimiento utiliza números en los archivos ifcfg-*
, route-*
, y rules-*
.
Requisitos previos
-
El paquete
NetworkManager
no está instalado o el servicioNetworkManager
está desactivado. -
El paquete
network-scripts
está instalado. El router RHEL que se quiere configurar en el procedimiento tiene cuatro interfaces de red:
-
La interfaz
enp7s0
está conectada a la red del proveedor A. La IP de la pasarela en la red del proveedor es198.51.100.2
, y la red utiliza una máscara de red/30
. -
La interfaz
enp1s0
está conectada a la red del proveedor B. La IP de la pasarela en la red del proveedor es192.0.2.2
, y la red utiliza una máscara de red/30
. -
La interfaz
enp8s0
está conectada a la subred10.0.0.0/24
con estaciones de trabajo internas. -
La interfaz
enp9s0
está conectada a la subred203.0.113.0/24
con los servidores de la empresa.
-
La interfaz
-
Los hosts de la subred de las estaciones de trabajo internas utilizan
10.0.0.1
como pasarela por defecto. En el procedimiento, se asigna esta dirección IP a la interfaz de redenp8s0
del router. -
Los hosts de la subred del servidor utilizan
203.0.113.1
como pasarela por defecto. En el procedimiento, se asigna esta dirección IP a la interfaz de redenp9s0
del router. -
El servicio
firewalld
está habilitado y activo.
Procedimiento
Añade la configuración de la interfaz de red al proveedor A creando el archivo
/etc/sysconfig/network-scripts/ifcfg-1_Provider-A
con el siguiente contenido:TYPE=Ethernet IPADDR=198.51.100.1 PREFIX=30 GATEWAY=198.51.100.2 DNS1=198.51.100.200 DEFROUTE=yes NAME=1_Provider-A DEVICE=enp7s0 ONBOOT=yes ZONE=external
La siguiente lista describe los parámetros utilizados en el archivo de configuración:
-
TYPE
=Ethernet
: Define que el tipo de conexión es Ethernet. -
IPADDR
=IP_address
: Establece la dirección IPv4. -
PREFIX
=subnet_mask
: Establece la máscara de subred. -
GATEWAY
=IP_address
: Establece la dirección de la puerta de enlace por defecto. -
DNS1
=IP_of_DNS_server
: Establece la dirección IPv4 del servidor DNS. -
DEFROUTE
=yes|no
: Define si la conexión es una ruta por defecto o no. -
NAME
=connection_name
: Establece el nombre del perfil de conexión. Utilice un nombre significativo para evitar confusiones. -
DEVICE
=network_device
: Establece la interfaz de red. -
ONBOOT
=yes
: Define que RHEL inicie esta conexión al arrancar el sistema. -
ZONE
=firewalld_zone
: Asigna la interfaz de red a la zonafirewalld
definida. Tenga en cuenta quefirewalld
activa automáticamente el enmascaramiento para las interfaces asignadas a la zonaexternal
.
-
Añade la configuración de la interfaz de red al proveedor B:
Cree el archivo
/etc/sysconfig/network-scripts/ifcfg-2_Provider-B
con el siguiente contenido:TYPE=Ethernet IPADDR=192.0.2.1 PREFIX=30 DEFROUTE=no NAME=2_Provider-B DEVICE=enp1s0 ONBOOT=yes ZONE=external
Tenga en cuenta que el archivo de configuración de esta interfaz no contiene una configuración de puerta de enlace predeterminada.
Asigne la pasarela para la conexión
2_Provider-B
a una tabla de enrutamiento separada. Por lo tanto, cree el archivo/etc/sysconfig/network-scripts/route-2_Provider-B
con el siguiente contenido:0.0.0.0/0 vía 192.0.2.2 tabla 5000
Esta entrada asigna la pasarela y el tráfico de todas las subredes enrutadas a través de esta pasarela a la tabla
5000.
Cree la configuración para la interfaz de red a la subred de las estaciones de trabajo internas:
Cree el archivo
/etc/sysconfig/network-scripts/ifcfg-3_Internal-Workstations
con el siguiente contenido:TYPE=Ethernet IPADDR=10.0.0.1 PREFIX=24 DEFROUTE=no NAME=3_Internal-Workstations DEVICE=enp8s0 ONBOOT=yes ZONE=internal
Añade la configuración de la regla de enrutamiento para la subred interna de la estación de trabajo. Por lo tanto, cree el archivo
/etc/sysconfig/network-scripts/rule-3_Internal-Workstations
con el siguiente contenido:pri 5 de 10.0.0.0/24 tabla 5000
Esta configuración define una regla de enrutamiento con prioridad
5
que enruta todo el tráfico de la subred10.0.0.0/24
a la tabla5000
. Los valores bajos tienen una prioridad alta.Cree el archivo
/etc/sysconfig/network-scripts/route-3_Internal-Workstations
con el siguiente contenido para añadir una ruta estática a la tabla de enrutamiento con el ID5000
:10.0.0.0/24 vía 192.0.2.1 tabla 5000
Esta ruta estática define que RHEL envía el tráfico de la subred
10.0.0.0/24
a la IP de la interfaz de red local al proveedor B (192.0.2.1
). Esta interfaz es a la tabla de enrutamiento5000
y se utiliza como el siguiente salto.
Añada la configuración de la interfaz de red a la subred del servidor creando el archivo
/etc/sysconfig/network-scripts/ifcfg-4_Servers
con el siguiente contenido:TYPE=Ethernet IPADDR=203.0.113.1 PREFIX=24 DEFROUTE=no NAME=4_Servers DEVICE=enp9s0 ONBOOT=yes ZONE=internal
Reinicia la red:
# systemctl restart network
Pasos de verificación
En un host RHEL en la subred interna de la estación de trabajo:
Instale el paquete
traceroute
:#
yum install traceroute
Utilice la utilidad
traceroute
para mostrar la ruta a un host en Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 10.0.0.1 (10.0.0.1) 0.337 ms 0.260 ms 0.223 ms 2 192.0.2.1 (192.0.2.1) 0.884 ms 1.066 ms 1.248 ms ...La salida del comando muestra que el router envía paquetes a través de
192.0.2.1
, que es la red del proveedor B.
En un host RHEL en la subred del servidor:
Instale el paquete
traceroute
:#
yum install traceroute
Utilice la utilidad
traceroute
para mostrar la ruta a un host en Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 203.0.113.1 (203.0.113.1) 2.179 ms 2.073 ms 1.944 ms 2 198.51.100.2 (198.51.100.2) 1.868 ms 1.798 ms 1.549 ms ...La salida del comando muestra que el router envía paquetes a través de
198.51.100.2
, que es la red del proveedor A.
Pasos para la resolución de problemas
En el router RHEL:
Muestra la lista de reglas:
#
ip rule list
0: from all lookup local 5: from 10.0.0.0/24 lookup 5000 32766: from all lookup main 32767: from all lookup defaultPor defecto, RHEL contiene reglas para las tablas
local
,main
, ydefault
.Muestra las rutas en la tabla
5000
:#
ip route list table 5000
default via 192.0.2.2 dev enp1s0 10.0.0.0/24 via 192.0.2.1 dev enp1s0Muestra las interfaces y las zonas del cortafuegos:
#
firewall-cmd --get-active-zones
external interfaces: enp1s0 enp7s0 internal interfaces: enp8s0 enp9s0Compruebe que la zona
external
tiene activado el enmascaramiento:#
firewall-cmd --info-zone=external
external (active) target: default icmp-block-inversion: no interfaces: enp1s0 enp7s0 sources: services: ssh ports: protocols: masquerade: yes ...
Recursos adicionales
- Sección 20.2, “Visión general de los archivos de configuración implicados en el enrutamiento basado en políticas cuando se utilizan los scripts de red heredados”
-
La página de manual
ip-route(8)
-
La página de manual
ip-rule(8)
-
Para más detalles sobre los scripts de red heredados, consulte el archivo
/usr/share/doc/network-scripts/sysconfig.txt
Capítulo 21. Creación de una interfaz ficticia
Como usuario de Red Hat Enterprise Linux, puede crear y utilizar interfaces de red ficticias para propósitos de depuración y pruebas. Una interfaz ficticia proporciona un dispositivo para enrutar paquetes sin transmitirlos realmente. Le permite crear dispositivos adicionales tipo loopback gestionados por NetworkManager y hace que una dirección SLIP (Serial Line Internet Protocol) inactiva parezca una dirección real para los programas locales.
21.1. Creación de una interfaz ficticia con una dirección IPv4 e IPv6 mediante nmcli
Puede crear una interfaz ficticia con varias configuraciones. Este procedimiento describe cómo crear una interfaz ficticia con una dirección IPv4 e IPv6. Después de crear la interfaz ficticia, NetworkManager la asigna automáticamente a la zona de firewall predeterminada public
.
Para configurar una interfaz ficticia sin dirección IPv4 o IPv6, establezca los parámetros ipv4.method
y ipv6.method
en disabled
. De lo contrario, la autoconfiguración de IP falla y NetworkManager desactiva la conexión y elimina el dispositivo ficticio.
Procedimiento
Para crear una interfaz ficticia llamada dummy0 con direcciones IPv4 e IPv6 estáticas, introduzca:
#
nmcli connection add type dummy ifname dummy0 ipv4.method manual ipv4.addresses 192.0.2.1/24 ipv6.method manual ipv6.addresses 2001:db8:2::1/64
Opcional: Para ver la interfaz ficticia, introduzca:
#
nmcli connection show
NAME UUID TYPE DEVICE enp1s0 db1060e9-c164-476f-b2b5-caec62dc1b05 ethernet ens3 dummy-dummy0 aaf6eb56-73e5-4746-9037-eed42caa8a65 dummy dummy0
Recursos adicionales
- La página man de nm-settings(5)
Capítulo 22. Uso de netconsole para registrar los mensajes del kernel a través de una red
Utilizando el módulo del kernel netconsole
y el servicio del mismo nombre, puede registrar los mensajes del kernel a través de una red para depurar el kernel cuando el registro en el disco falla o cuando no es posible utilizar una consola en serie.
22.1. Configurar el servicio netconsole para registrar los mensajes del kernel en un host remoto
Utilizando el módulo del kernel netconsole
, puede registrar los mensajes del kernel en un servicio de registro del sistema remoto.
Requisitos previos
-
Un servicio de registro del sistema, como
rsyslog
está instalado en el host remoto. - El servicio de registro del sistema remoto está configurado para recibir entradas de registro de este host.
Procedimiento
Instale el paquete
netconsole-service
:#
yum install netconsole-service
Edite el archivo
/etc/sysconfig/netconsole
y configure el parámetroSYSLOGADDR
con la dirección IP del host remoto:#
SYSLOGADDR=192.0.2.1
Habilite e inicie el servicio
netconsole
:#
systemctl enable --now netconsole
Pasos de verificación
-
Muestra el archivo
/var/log/messages
en el servidor de registro del sistema remoto.
Recursos adicionales
-
Para más detalles sobre cómo habilitar el host remoto para que reciba los mensajes de registro, consulte la sección Configuración de una solución de registro remoto en la documentación de
Configuring basic system settings
.
Capítulo 23. Objetivos y servicios de red Systemd
NetworkManager configura la red durante el proceso de arranque del sistema. Sin embargo, cuando se arranca con una raíz remota (/), como por ejemplo si el directorio raíz se almacena en un dispositivo iSCSI, la configuración de red se aplica en el disco RAM inicial (initrd
) antes de que se inicie RHEL. Por ejemplo, si la configuración de red se especifica en la línea de comandos del kernel utilizando rd.neednet=1
o se especifica una configuración para montar sistemas de archivos remotos, entonces la configuración de red se aplica en initrd
.
Esta sección describe diferentes objetivos como network
, network-online
, y el servicio NetworkManager-wait-online
que se utilizan mientras se aplican los ajustes de red, y cómo configurar el servicio systemd
para que se inicie después de que se inicie el servicio network-online
.
23.1. Diferencias entre el objetivo systemd en red y en línea
Systemd mantiene las unidades de destino network
y network-online
. Las unidades especiales como NetworkManager-wait-online.service
, tienen los parámetros WantedBy=network-online.target
y Before=network-online.target
. Si están habilitadas, estas unidades se inician con network-online.target
y retrasan el objetivo a alcanzar hasta que se establezca algún tipo de conectividad de red. Retrasan el objetivo network-online
hasta que la red esté conectada.
El objetivo network-online
inicia un servicio, que añade retrasos sustanciales a la ejecución posterior. Systemd agrega automáticamente dependencias con parámetros Wants
y After
para esta unidad de destino a todas las unidades de servicio de scripts System V (SysV) init
con un encabezado Linux Standard Base (LSB) que hace referencia a la instalación $network
. La cabecera LSB es un metadato para los scripts init
. Se puede utilizar para especificar las dependencias. Es similar al objetivo systemd
.
El objetivo network
no retrasa significativamente la ejecución del proceso de arranque. Alcanzar el objetivo network
significa que el servicio responsable de configurar la red se ha iniciado. Sin embargo, no significa que se haya configurado un dispositivo de red. Este objetivo es importante durante el apagado del sistema. Por ejemplo, si usted tiene un servicio que fue ordenado después del objetivo network
durante el arranque, entonces esta dependencia se invierte durante el apagado. La red no se desconecta hasta que su servicio se haya detenido. Todas las unidades de montaje para sistemas de archivos de red remotos inician automáticamente la unidad de destino network-online
y se ordenan después de ella.
La unidad de destino network-online
sólo es útil durante el arranque del sistema. Después de que el sistema haya terminado de arrancar, este objetivo no rastrea el estado en línea de la red. Por lo tanto, no se puede utilizar network-online
para supervisar la conexión de red. Este objetivo proporciona un concepto de arranque del sistema de una sola vez.
23.2. Resumen de NetworkManager-wait-online
Los scripts de red heredados sincrónicos iteran a través de todos los archivos de configuración para configurar los dispositivos. Aplican todas las configuraciones relacionadas con la red y se aseguran de que la red esté en línea.
El servicio NetworkManager-wait-online
espera con un tiempo de espera a que se configure la red. Esta configuración de la red implica conectar un dispositivo Ethernet, buscar un dispositivo Wi-Fi, etc. NetworkManager activa automáticamente los perfiles adecuados que están configurados para iniciarse automáticamente. El fallo del proceso de activación automática debido a un tiempo de espera de DHCP o un evento similar podría mantener a NetworkManager ocupado durante un largo periodo de tiempo. Dependiendo de la configuración, NetworkManager reintenta activar el mismo perfil o un perfil diferente.
Cuando la puesta en marcha se completa, todos los perfiles están en estado de desconexión o se activan con éxito. Puede configurar los perfiles para que se conecten automáticamente. A continuación se muestran algunos ejemplos de parámetros que establecen tiempos de espera o definen cuándo se considera que la conexión está activa:
-
connection.wait-device-timeout
- establece el tiempo de espera para que el controlador detecte el dispositivo -
ipv4.may-fail
yipv6.may-fail
- establece la activación con una familia de direcciones IP lista, o si una familia de direcciones particular debe haber completado la configuración. -
ipv4.gateway-ping-timeout
- retrasa la activación.
Recursos adicionales
-
La página de manual
nm-settings(5)
23.3. Configurar un servicio systemd para que se inicie después de que se haya iniciado la red
Red Hat Enterprise Linux instala los archivos de servicio systemd
en el directorio /usr/lib/systemd/system/
. Este procedimiento crea un fragmento para un archivo de servicio en /etc/systemd/system/service_name.service.d/
que se utiliza junto con el archivo de servicio en /usr/lib/systemd/system/
para iniciar un service particular después de que la red esté en línea. Tiene una mayor prioridad si los ajustes del fragmento drop-in se solapan con los del archivo de servicio en /usr/lib/systemd/system/
.
Procedimiento
Para abrir el archivo de servicio en el editor, introduzca:
#
systemctl edit service_name
Introduzca lo siguiente y guarde los cambios:
[Unit] After=network-online.target
Recargue el servicio
systemd
.#
systemctl daemon-reload
Capítulo 24. Control de tráfico de Linux
Linux ofrece herramientas para gestionar y manipular la transmisión de paquetes. El subsistema Linux Traffic Control (TC) ayuda a vigilar, clasificar, dar forma y programar el tráfico de la red. El TC también manipula el contenido de los paquetes durante la clasificación utilizando filtros y acciones. El subsistema TC logra esto utilizando disciplinas de colas (qdisc
), un elemento fundamental de la arquitectura TC.
El mecanismo de programación ordena o reordena los paquetes antes de que entren o salgan de las diferentes colas. El planificador más común es el planificador FIFO (First-In-First-Out). Puede realizar las operaciones de qdiscs
temporalmente utilizando la utilidad tc
o permanentemente utilizando NetworkManager.
En esta sección se explican las disciplinas de colas y se describe cómo actualizar la dirección qdiscs
por defecto en RHEL.
24.1. Visión general de las disciplinas de colas
Las disciplinas de colas (qdiscs
) ayudan a poner en cola y, posteriormente, a programar la transmisión del tráfico por una interfaz de red. Un qdisc
tiene dos operaciones;
- solicitudes de cola para que un paquete pueda ser puesto en cola para su posterior transmisión y
- las solicitudes de retirada de la cola para que uno de los paquetes en cola pueda ser elegido para su transmisión inmediata.
Cada qdisc
tiene un número de identificación hexadecimal de 16 bits llamado handle
, con dos puntos adjuntos, como 1:
o abcd:
. Este número se denomina número mayor de qdisc
. Si un qdisc
tiene clases, los identificadores se forman como un par de dos números con el número mayor antes del menor, <major>:<minor>
, por ejemplo abcd:1
. El esquema de numeración de los números menores depende del tipo de qdisc
. A veces la numeración es sistemática, donde la primera clase tiene el identificador <major>:1
, la segunda <major>:2
, y así sucesivamente. Algunos qdiscs
permiten al usuario establecer los números menores de las clases de forma arbitraria al crear la clase.
Clase qdiscs
Existen diferentes tipos de qdiscs
que ayudan en la transferencia de paquetes hacia y desde una interfaz de red. Se puede configurar qdiscs
con clases raíz, padre o hijo. El punto al que se pueden adjuntar los hijos se llaman clases. Las clases en qdisc
son flexibles y siempre pueden contener varias clases hijas o una sola hija, qdisc
. No existe ninguna prohibición de que una clase contenga a su vez una clase qdisc
, lo que facilita los escenarios complejos de control de tráfico. La clase qdiscs
no almacena ningún paquete. En su lugar, ponen en cola y decaen las peticiones hasta uno de sus hijos de acuerdo con los criterios específicos de qdisc
. Al final, este paso recursivo de paquetes termina en el lugar donde se almacenan los paquetes (o se recogen en el caso de dequeuing).
Sin clase qdiscs
Algunos qdiscs
no contienen clases hijas y se denominan qdiscs
sin clase. Los qdiscs
sin clase requieren menos personalización que los qdiscs
con clase. Por lo general, basta con adjuntarlas a una interfaz.
Recursos adicionales
-
Para obtener información detallada sobre las clases sin y con clase
qdiscs
, consulte la página de manualtc(8)
. -
Para obtener información detallada sobre las acciones, consulte las páginas de manual
actions
ytc-actions.8
.
24.2. Discos disponibles en RHEL
Cada qdisc
aborda problemas únicos relacionados con las redes. La siguiente es la lista de qdiscs
disponible en RHEL. Puede utilizar cualquiera de los siguientes qdisc
para dar forma al tráfico de red en función de sus necesidades de red.
Tabla 24.1. Programadores disponibles en RHEL
qdisc nombre | Incluido en | Apoyo a la descarga |
---|---|---|
Modo de transferencia asíncrona (ATM) |
| |
Colas de espera por clases |
| |
Formador basado en el crédito |
| Sí |
CHOose y Keep para flujos que responden, CHOose y Kill para flujos que no responden (CHOKE) |
| |
Retraso controlado (CoDel) |
| |
Deficit Round Robin (DRR) |
| |
Marcador de servicios diferenciados (DSMARK) |
| |
Selección de transmisión mejorada (ETS) |
| Sí |
Cola justa (FQ) |
| |
Retraso controlado de colas justas (FQ_CODel) |
| |
Detección temprana aleatoria generalizada (GRED) |
| |
Curva jerárquica de servicio justo (HSFC) |
| |
Filtro de alta intensidad (HHF) |
| |
Cubo de fichas de jerarquía (HTB) |
| |
INGRESS |
| Sí |
Prioridad de colas múltiples (MQPRIO) |
| Sí |
Cola múltiple (MULTIQ) |
| Sí |
Emulador de red (NETEM) |
| |
Controlador integral proporcional mejorado (PIE) |
| |
ENCHUFE |
| |
Cola justa rápida (QFQ) |
| |
Detección temprana aleatoria (RED) |
| Sí |
Azul justo estocástico (SFB) |
| |
Colas estocásticas equitativas (SFQ) |
| |
Filtro de cubo de fichas (TBF) |
| Sí |
Ecualizador de enlace trivial (TEQL) |
|
La descarga de qdisc
requiere soporte de hardware y controlador en la NIC.
Recursos adicionales
-
Para obtener información completa de los parámetros y filtros utilizados para configurar el
qdiscs
, consulte las páginas de manualtc(8)
,cbq
,cbs
,choke
,CoDel
,drr
,fq
,htb
,mqprio
,netem
,pie
,sfb
,pfifo
,tc-red
,sfq
,tbf
, yprio
.
24.3. Inspección de los discos de una interfaz de red mediante la utilidad tc
Por defecto, los sistemas Red Hat Enterprise Linux utilizan fq_codel
qdisc
. Este procedimiento describe cómo inspeccionar los contadores de qdisc
.
Procedimiento
Opcional: Ver su actual
qdisc
:#
tc qdisc show dev enp0s1
Inspeccione los contadores actuales de
qdisc
:#
tc -s qdisc show dev enp0s1
qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn Sent 1008193 bytes 5559 pkt (dropped 233, overlimits 55 requeues 77) backlog 0b 0p requeues 0 ....
-
dropped
- el número de veces que un paquete se abandona porque todas las colas están llenas -
overlimits
- el número de veces que se llena la capacidad de enlace configurada -
sent
- el número de colas
24.4. Actualización del qdisc por defecto
Si observa pérdidas de paquetes en la red con el actual qdisc
, puede cambiar el qdisc
en función de los requisitos de su red. Puede seleccionar el qdisc
, que cumpla con sus requerimientos de red. Este procedimiento describe cómo cambiar el valor por defecto qdisc
en Red Hat Enterprise Linux.
Procedimiento
Ver el valor por defecto actual
qdisc
:#
sysctl -a | grep qdisc
net.core.default_qdisc = fq_codelVer el
qdisc
de la conexión Ethernet actual:#
tc -s qdisc show dev enp0s1
qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0 new_flows_len 0 old_flows_len 0Actualice la página web
qdisc
existente:#
sysctl -w net.core.default_qdisc=pfifo_fast
Para aplicar los cambios, vuelva a cargar el controlador de red:
#
rmmod NETWORKDRIVERNAME
#
modprobe NETWORKDRIVERNAME
Inicie la interfaz de red:
#
ip link set enp0s1 up
Pasos de verificación
Ver el
qdisc
de la conexión Ethernet:#
tc -s qdisc show dev enp0s1
qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 373186 bytes 5333 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 ....
Recursos adicionales
-
Para más información sobre cómo hacer que estos cambios sean persistentes, consulte el artículo Cómo configurar las variables de
sysctl
en Red Hat Enterprise Linux.
24.5. Establecer temporalmente el qdisk actual de una interfaz de red mediante la utilidad tc
Puede actualizar el qdisc
actual sin cambiar el predeterminado. Este procedimiento describe cómo cambiar el qdisc
actual en Red Hat Enterprise Linux.
Procedimiento
Opcional: Ver la página web actual
qdisc
:#
tc -s qdisc show dev enp0s1
Actualice la actual
qdisc
:#
tc qdisc replace dev enp0s1 root htb
Paso de verificación
Vea la versión actualizada de
qdisc
:#
tc -s qdisc show dev enp0s1
qdisc htb 8001: root refcnt 2 r2q 10 default 0 direct_packets_stat 0 direct_qlen 1000 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0
24.6. Establecer permanentemente el qdisk actual de una interfaz de red utilizando NetworkManager
Puede actualizar el valor actual de qdisc
de una conexión NetworkManager.
Procedimiento
Opcional: Ver la página web actual
qdisc
:# tc qdisc show dev enp0s1 qdisc fq_codel 0: root refcnt 2
Actualice la actual
qdisc
:# nmcli connection modify enp0s1 tc.qdiscs ‘root pfifo_fast’
Opcional: Para añadir otro
qdisc
sobre el existenteqdisc
, utilice la opcióntc.qdisc
:# nmcli connection modify enp0s1 tc.qdisc ‘ingress handle ffff:’
Activa los cambios:
# nmcli connection up enp0s1
Pasos de verificación
Ver la corriente
qdisc
la interfaz de red:# tc qdisc show dev _enp0s1_ qdisc _pfifo_fast_ 8001: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 qdisc ingress ffff: parent ffff:fff1 ----------------
Recursos adicionales
-
Para más información, consulte la página de manual
nm-settings(5)
.
Capítulo 25. Introducción al TCP multirruta
El TCP multirruta se proporciona sólo como una Muestra de Tecnología. Las funciones de la Muestra de Tecnología no son compatibles con los Acuerdos de Nivel de Servicio (SLA) de producción de Red Hat, pueden no ser funcionalmente completas y Red Hat no recomienda su uso para la producción. Estas vistas previas proporcionan un acceso temprano a las próximas características del producto, permitiendo a los clientes probar la funcionalidad y proporcionar comentarios durante el proceso de desarrollo.
Consulte el alcance del soporte de las características de Technology Preview en el Portal del Cliente de Red Hat para obtener información sobre el alcance del soporte de las características de Technology Preview.
El TCP multirruta (MPTCP) es una extensión del Protocolo de Control de Transmisión (TCP). Mediante el Protocolo de Internet (IP), un host puede enviar paquetes a un destino. TCP garantiza la entrega fiable de los datos a través de Internet y ajusta automáticamente su ancho de banda en respuesta a la carga de la red.
Las ventajas de MPTCP son las siguientes:
- Permite el uso de TCP en dispositivos equipados con dos o más interfaces de red.
- Permite a los usuarios utilizar simultáneamente diferentes interfaces de red o cambiar sin problemas de una conexión a otra.
- Mejora el uso de los recursos dentro de la red y la resistencia a los fallos de la misma.
Esta sección describe cómo:
- crear una nueva conexión MPTCP,
-
utilizar
iproute2
para añadir nuevos subflujos y direcciones IP a las conexiones MPTCP, y - desactivar MPTCP en el kernel para evitar que las aplicaciones utilicen conexiones MPTCP.
25.1. Preparación de RHEL para habilitar el soporte de MPTCP
Pocas aplicaciones soportan nativamente MPTCP. En su mayoría, los sockets orientados a la conexión y al flujo solicitan el protocolo TCP en la llamada socket() al sistema operativo. Puede habilitar el soporte de MPTCP en RHEL utilizando la herramienta sysctl
para los programas que soportan MPTCP de forma nativa. La implementación de MPTCP también está diseñada para permitir el uso del protocolo MPTCP para las aplicaciones que solicitan la llamada IPPROTO_TCP
al kernel.
Este procedimiento describe cómo habilitar el soporte de MPTCP y preparar a RHEL para habilitar MPTCP en todo el sistema utilizando un script de SystemTap.
Requisitos previos
Los siguientes paquetes están instalados:
-
kernel-debuginfo
-
kernel-debuginfo-common
-
systemtap
-
systemtap-devel
-
kernel-devel
-
nmap-ncat
Procedimiento
Habilitar los sockets MPTCP en el kernel:
#
echo "net.mptcp.enabled=1" > /etc/sysctl.d/90-enable-MPTCP.conf
#sysctl -p /etc/sysctl.d/90-enable-MPTCP.conf
Cree un archivo
mptcp.stap
con el siguiente contenido:#! /usr/bin/env stap %{ #include <linux/in.h> #include <linux/ip.h> %} /* according to [1], RSI contains 'type' and RDX * contains 'protocol'. * [1] https://github.com/torvalds/linux/blob/master/arch/x86/entry/entry_64.S#L79 */ function mptcpify () %{ if (CONTEXT->kregs->si == SOCK_STREAM && (CONTEXT->kregs->dx == IPPROTO_TCP || CONTEXT->kregs->dx == 0)) { CONTEXT->kregs->dx = IPPROTO_MPTCP; STAP_RETVALUE = 1; } else { STAP_RETVALUE = 0; } %} probe kernel.function("__sys_socket") { if (mptcpify() == 1) { printf("command %16s mptcpified\n", execname()); } }
Sustituye el socket TCP por MPTCP:
#
stap -vg mptcp.stap
Nota: Utilice Ctrl+C para volver a convertir la conexión a TCP desde MPTCP.
Inicie un servidor que escuche el puerto TCP 4321:
#
ncat -4 -l 4321
Conectar con el servidor e intercambiar tráfico. Por ejemplo, aquí el cliente escribe "Hola mundo" al servidor 5 veces, luego termina la conexión.
#
ncat -4 192.0.2.1 4321
Hello world 1
Hello world 2
Hello world 3
Hello world 4
Hello world 5
Pulse Ctrl+D para salir.
Pasos de verificación
Verifique que MPTCP está habilitado en el kernel:
#
sysctl -a | grep mptcp.enabled
net.mptcp.enabled = 1Después de que el script
mptcp.stap
instale la sonda del kernel, aparecen las siguientes advertencias en la salida del kerneldmesg
#
dmesg
... [ 1752.694072] Kprobes globally unoptimized [ 1752.730147] stap_1ade3b3356f3e68765322e26dec00c3d_1476: module_layout: kernel tainted. [ 1752.732162] Disabling lock debugging due to kernel taint [ 1752.733468] stap_1ade3b3356f3e68765322e26dec00c3d_1476: loading out-of-tree module taints kernel. [ 1752.737219] stap_1ade3b3356f3e68765322e26dec00c3d_1476: module verification failed: signature and/or required key missing - tainting kernelUna vez establecida la conexión, verifique la salida de
ss
para ver el estado específico del subflujo:#
ss -nti '( dport :4321 )' dst 192.0.2.1
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process ESTAB 0 0 192.0.2.2:60874 192.0.2.1:4321 cubic wscale:7,7 rto:201 rtt:0.042/0.017 mss:1448 pmtu:1500 rcvmss:536 advmss:1448 cwnd:10 bytes_sent:64 bytes_$cked:65 segs_out:6 segs_in:5 data_segs_out:4 send 2758095238bps lastsnd:57 lastrcv:3054 lastack:57 pacing_rate 540361516$bps delivery_rate 413714280bps delivered:5 rcv_space:29200 rcv_ssthresh:29200 minrtt:0.009 tcp-ulp-mptcp flags:Mmec token:0000(id:0)/4bffe73d(id:0) seq:c11f40d6c5337463 sfseq:1 ssnoff:f7455705 maplen:0Capturar el tráfico mediante
tcpdump
y comprobar el uso de la subopción MPTCP:#
tcpdump -tnni interface tcp port 4321
client Out IP 192.0.2.2.60802 > 192.0.2.1.4321: Flags [S], seq 3420255622, win 29200, options [mss 1460,sackOK,TS val 411 4539945 ecr 0,nop,wscale 7,mptcp capable v1], length 0 client In IP 192.0.2.1.4321 > 192.0.2.2.60802: Flags [S.], seq 2619315374, ack 3420255623, win 28960, options [mss 1460 sackOK,TS val 3241564233 ecr 4114539945,nop,wscale 7,mptcp capable v1 {0xb6f8dc721aee7f64}], length 0 client Out IP 192.0.2.2.60802 > 192.0.2.1.4321: Flags [.], ack 1, win 229, options [nop,nop,TS val 4114539945 ecr 3241564 233,mptcp capable v1 {0xcc58d5d632a32d13,0xb6f8dc721aee7f64}], length 0 client Out IP 192.0.2.2.60802 > 192.0.2.1.4321: Flags [P.], seq 1:17, ack 1, win 229, options [nop,nop,TS val 4114539945 ecr 3241564233,mptcp capable v1 {0xcc58d5d632a32d13,0xb6f8dc721aee7f64},nop,nop], length 16 client In IP 192.0.2.1.4321 > 192.0.2.2.60802: Flags [.], ack 17, win 227, options [nop,nop,TS val 3241564233 ecr 411459945,mptcp dss ack 1105509586894558345], length 0 client Out IP 192.0.2.2.60802 > 192.0.2.1.4321: Flags [P.], seq 17:33, ack 1, win 229, options [nop,nop,TS val 4114540939 ecr 3241564233,mptcp dss ack 13265586846326199424 seq 105509586894558345 subseq 17 len 16,nop,nop], length 16El paquete
tcpdump
es necesario para ejecutar este comando.
Recursos adicionales
- Para más información, consulte el artículo ¿Cómo puedo descargar o instalar paquetes debuginfo para sistemas RHEL?
-
Para más información sobre
IPPROTO_TCP
, consulte las páginas de manual detcp(7)
.
25.2. Uso de iproute2 para notificar a las aplicaciones sobre múltiples rutas disponibles
Por defecto, el socket MPTCP se inicia con un único subflujo, pero puede añadir nuevos subflujos y direcciones IP a la conexión una vez que la cree por primera vez. Este procedimiento describe cómo actualizar los límites por conexión para los subflujos y las direcciones IP, y añadir nuevas direcciones IP (puntos finales) a la conexión MPTCP.
Tenga en cuenta que MPTCP todavía no admite puntos finales mixtos IPv6 e IPv4 para el mismo socket. Utilice puntos finales que pertenezcan a la misma familia de direcciones.
Procedimiento
Establezca los límites por conexión y por dirección IP en 1 en el servidor:
#
ip mptcp limits set subflow 1
Establezca los límites por conexión y por dirección IP en 1 en el cliente:
#
ip mptcp limits set subflow 1 add_addr_accepted 1
Añade la dirección IP 198.51.100.1 como nuevo punto final MPTCP en el servidor:
#
ip mptcp endpoint add 198.51.100.1 dev enp1s0 signal
ImportantePuede establecer los siguientes valores para las banderas:
subflow
,backup
,signal
. Fijar la bandera en;-
signal
, envía un paqueteADD_ADDR
después de que se haya completado el apretón de manos a tres bandas -
subflow
, envía unMP_JOIN SYN
por el cliente -
backup
, establece el punto final como dirección de reserva
-
Inicie el servidor vinculado a 0.0.0.0 con el argumento
-k
para evitar que [systemitem]'ncat' cierre el socket de escucha después de aceptar la primera conexión y hacer que el servidor rechaceMP_JOIN SYN
hecho por el cliente.#
ncat -4 0.0.0.0 -k -l 4321
Inicie el cliente y conéctese al servidor para intercambiar tráfico. Por ejemplo, aquí el cliente escribe "Hola mundo" al servidor 5 veces, y luego termina la conexión.
#
ncat -4 192.0.2.1 4321
Hello world 1
Hello world 2
Hello world 3
Hello world 4
Hello world 5
Pulse Ctrl+D para salir.
Pasos de verificación
Verifique la conexión y el límite de la dirección IP:
#
ip mptcp limit show
Verifique el nuevo punto final añadido:
#
ip mptcp endpoint show
Capturar el tráfico mediante
tcpdump
y comprobar el uso de la subopción MPTCP:#
tcpdump -tnni interface tcp port 4321
client Out IP 192.0.2.2.56868 > 192.0.2.1.4321: Flags [S], seq 3107783947, win 29200, options [mss 1460,sackOK,TS val 2568752336 ecr 0,nop,wscale 7,mptcp capable v1], length 0 client In IP 192.0.2.1.4321 > 192.0.2.2.56868: Flags [S.], seq 4222339923, ack 3107783948, win 28960, options [mss 1460,sackOK,TS val 1713130246 ecr 2568752336,nop,wscale 7,mptcp capable v1 {0xf51c07a47cc2ba75}], length 0 client Out IP 192.0.2.2.56868 > 192.0.2.1.4321: Flags [.], ack 1, win 229, options [nop,nop,TS val 2568752336 ecr 1713130246,mptcp capable v1 {0xb243376cc5af60bd,0xf51c07a47cc2ba75}], length 0 client Out IP 192.0.2.2.56868 > 192.0.2.1.4321: Flags [P.], seq 1:17, ack 1, win 229, options [nop,nop,TS val 2568752336 ecr 1713130246,mptcp capable v1 {0xb243376cc5af60bd,0xf51c07a47cc2ba75},nop,nop], length 16 client In IP 192.0.2.1.4321 > 192.0.2.2.56868: Flags [.], ack 17, win 227, options [nop,nop,TS val 1713130246 ecr 2568752336,mptcp add-addr id 1 198.51.100.1 hmac 0xe445335073818837,mptcp dss ack 5562689076006296132], length 0 client Out IP 198.51.100.2.42403 > 198.51.100.1.4321: Flags [S], seq 3356992178, win 29200, options [mss 1460,sackOK,TS val 4038525523 ecr 0,nop,wscale 7,mptcp join backup id 0 token 0xad58df1 nonce 0x74a8137f], length 0 client In IP 198.51.100.1.4321 > 198.51.100.2.42403: Flags [S.], seq 1680863152, ack 3356992179, win 28960, options [mss 1460,sackOK,TS val 4213669942 ecr 4038525523,nop,wscale 7,mptcp join backup id 0 hmac 0x9eff7a1bf4e65937 nonce 0x77303fd8], length 0 client Out IP 198.51.100.2.42403 > 198.51.100.1.4321: Flags [.], ack 1, win 229, options [nop,nop,TS val 4038525523 ecr 4213669942,mptcp join hmac 0xdfdc0129424f627ea774c094461328ce49d195bc], length 0 client In IP 198.51.100.1.4321 > 198.51.100.2.42403: Flags [.], ack 1, win 227, options [nop,nop,TS val 4213669942 ecr 4038525523,mptcp dss ack 5562689076006296132], length 0El paquete
tcpdump
es necesario para ejecutar este comando.
Recursos adicionales
-
Para más información sobre las banderas disponibles para los puntos finales, consulte la página man
ip-mptcp(8)
.
25.3. Desactivación de Multipath TCP en el kernel
Este procedimiento describe cómo desactivar la opción MPTCP en el kernel.
Procedimiento
Desactive la opción
mptcp.enabled
.#
echo "net.mptcp.enabled=0" > /etc/sysctl.d/90-enable-MPTCP.conf
#sysctl -p /etc/sysctl.d/90-enable-MPTCP.conf
Pasos de verificación
Verifique si el
mptcp.enabled
está desactivado en el kernel.#
sysctl -a | grep mptcp.enabled
net.mptcp.enabled = 0
Capítulo 26. Configurar el orden de los servidores DNS
La mayoría de las aplicaciones utilizan la función getaddrinfo()
de la biblioteca glibc
para resolver las peticiones DNS. Por defecto, glibc
envía todas las solicitudes DNS al primer servidor DNS especificado en el archivo /etc/resolv.conf
. Si este servidor no responde, Red Hat Enterprise Linux utiliza el siguiente servidor en este archivo.
Esta sección describe cómo personalizar el orden de los servidores DNS.
26.1. Cómo NetworkManager ordena los servidores DNS en /etc/resolv.conf
NetworkManager ordena los servidores DNS en el archivo /etc/resolv.conf
basándose en las siguientes reglas:
- Si sólo existe un perfil de conexión, NetworkManager utiliza el orden del servidor DNS IPv4 e IPv6 especificado en esa conexión.
Si se activan varios perfiles de conexión, NetworkManager ordena los servidores DNS basándose en un valor de prioridad DNS. Si establece prioridades DNS, el comportamiento de NetworkManager depende del valor establecido en el parámetro
dns
. Puede establecer este parámetro en la sección[main]
del archivo/etc/NetworkManager/NetworkManager.conf
:dns=default
o si el parámetrodns
no está configurado:NetworkManager ordena los servidores DNS de las diferentes conexiones basándose en los parámetros
ipv4.dns-priority
yipv6.dns-priority
de cada conexión.Si no establece ningún valor o establece
ipv4.dns-priority
yipv6.dns-priority
a0
, NetworkManager utiliza el valor global por defecto. Véase “Valores por defecto de los parámetros de prioridad DNS”.dns=dnsmasq
odns=systemd-resolved
:Cuando se utiliza una de estas configuraciones, NetworkManager establece
127.0.0.1
paradnsmasq
o127.0.0.53
como entradanameserver
en el archivo/etc/resolv.conf
.Tanto los servicios
dnsmasq
comosystemd-resolved
reenvían las consultas para el dominio de búsqueda establecido en una conexión de NetworkManager al servidor DNS especificado en esa conexión, y reenvían las consultas a otros dominios a la conexión con la ruta por defecto. Cuando varias conexiones tienen el mismo dominio de búsqueda establecido,dnsmasq
ysystemd-resolved
reenvían las consultas para este dominio al servidor DNS establecido en la conexión con el valor de prioridad más bajo.
Valores por defecto de los parámetros de prioridad DNS
NetworkManager utiliza los siguientes valores por defecto para las conexiones:
-
50
para conexiones VPN -
100
para otras conexiones
Valores de prioridad DNS válidos:
Puede establecer tanto los parámetros globales por defecto como los específicos de la conexión ipv4.dns-priority
y ipv6.dns-priority
a un valor entre -2147483647
y 2147483647
.
- Un valor más bajo tiene mayor prioridad.
- Los valores negativos tienen el efecto especial de excluir otras configuraciones con un valor mayor. Por ejemplo, si existe al menos una conexión con un valor de prioridad negativo, NetworkManager utiliza sólo los servidores DNS especificados en el perfil de conexión con la prioridad más baja.
Si varias conexiones tienen la misma prioridad de DNS, NetworkManager prioriza los DNS en el siguiente orden:
- Conexiones VPN
- Conexión con una ruta por defecto activa. La ruta por defecto activa es la ruta por defecto la métrica más baja.
Recursos adicionales
-
Para más detalles sobre cómo NetworkManager ordena las entradas del servidor DNS en el archivo
/etc/resolv.conf
, consulte la descripción del parámetrodns-priority
en las seccionesipv4
yipv6
en la página de manualnm-settings(5)
. -
Para más detalles sobre el uso de
systemd-resolved
para utilizar diferentes servidores DNS para diferentes dominios, consulte Capítulo 34, Uso de diferentes servidores DNS para diferentes dominios.
26.2. Establecer un valor de prioridad del servidor DNS por defecto en todo NetworkManager
NetworkManager utiliza los siguientes valores por defecto de prioridad DNS para las conexiones:
-
50
para conexiones VPN -
100
para otras conexiones
Esta sección describe cómo anular estos valores predeterminados de todo el sistema con un valor predeterminado personalizado para las conexiones IPv4 e IPv6.
Procedimiento
Edite el archivo
/etc/NetworkManager/NetworkManager.conf
:Añada la sección
[connection]
, si no existe:[conexión]
Añada los valores predeterminados personalizados a la sección
[connection]
. Por ejemplo, para establecer el nuevo valor por defecto tanto para IPv4 como para IPv6 en200
, añada:ipv4.dns-priority=200 ipv6.dns-priority=200
Puede ajustar los parámetros a un valor entre
-2147483647
y2147483647
. Tenga en cuenta que al establecer los parámetros en0
se activan los valores predeterminados incorporados (50
para conexiones VPN y100
para otras conexiones).
Recargue el servicio
NetworkManager
:#
systemctl reload NetworkManager
Recursos adicionales
-
Para más detalles sobre cómo establecer los valores por defecto para todas las conexiones de NetworkManager, consulte
Connection Section
en la página de manualNetworkManager.conf(5)
.
26.3. Establecer la prioridad DNS de una conexión de NetworkManager
Esta sección describe cómo definir el orden de los servidores DNS cuando NetworkManager crea o actualiza el archivo /etc/resolv.conf
.
Tenga en cuenta que el establecimiento de prioridades DNS sólo tiene sentido si tiene varias conexiones con diferentes servidores DNS configurados. Si sólo tiene una conexión con varios servidores DNS configurados, establezca manualmente los servidores DNS en el orden preferido en el perfil de conexión.
Requisitos previos
- El sistema tiene configuradas varias conexiones de NetworkManager.
-
El sistema no tiene configurado el parámetro
dns
en el archivo/etc/NetworkManager/NetworkManager.conf
o el parámetro está configurado endefault
.
Procedimiento
Opcionalmente, mostrar las conexiones disponibles:
#
nmcli connection show
NAME UUID TYPE DEVICE Example_con_1 d17ee488-4665-4de2-b28a-48befab0cd43 ethernet enp1s0 Example_con_2 916e4f67-7145-3ffa-9f7b-e7cada8f6bf7 ethernet enp7s0 ...Establezca los parámetros
ipv4.dns-priority
yipv6.dns-priority
. Por ejemplo, para establecer ambos parámetros en10
para la conexiónExample_con_1
:#
nmcli connection modify Example_con_1 ipv4.dns-priority 10 ipv6.dns-priority 10
- Opcionalmente, repita el paso anterior para otras conexiones.
Vuelva a activar la conexión que actualizó:
#
nmcli connection up Example_con_1
Pasos de verificación
Visualice el contenido del archivo
/etc/resolv.conf
para verificar que el orden de los servidores DNS es correcto:#
cat /etc/resolv.conf
Capítulo 27. Configuración de redes ip con archivos ifcfg
Esta sección describe cómo configurar una interfaz de red manualmente mediante la edición de los archivos ifcfg
.
Los archivos de configuración de interfaz (ifcfg) controlan las interfaces de software para los dispositivos de red individuales. Cuando el sistema arranca, utiliza estos archivos para determinar qué interfaces deben aparecer y cómo configurarlas. Estos archivos suelen llamarse ifcfg-name
donde el sufijo name se refiere al nombre del dispositivo que controla el archivo de configuración. Por convención, el sufijo del archivo ifcfg
es el mismo que la cadena dada por la directiva DEVICE
en el propio archivo de configuración.
27.1. Configuración de una interfaz con ajustes de red estáticos mediante archivos ifcfg
Este procedimiento describe cómo configurar una interfaz de red utilizando los archivos ifcfg
.
Procedimiento
Para configurar una interfaz con ajustes de red estáticos utilizando archivos
ifcfg
, para una interfaz con el nombreenp1s0
, cree un archivo con el nombreifcfg-enp1s0
en el directorio/etc/sysconfig/network-scripts/
que contenga:Para la configuración de
IPv4
:DEVICE=enp1s0 BOOTPROTO=none ONBOOT=yes PREFIX=24 IPADDR=10.0.1.27 GATEWAY=10.0.1.1
Para la configuración de
IPv6
:DEVICE=enp1s0 BOOTPROTO=none ONBOOT=yes IPV6INIT=yes IPV6ADDR=2001:db8:1::2/64
Recursos adicionales
- Para más información sobre la comprobación de las conexiones, consulte Capítulo 39, Probar la configuración básica de la red.
-
Para obtener más información sobre las opciones de configuración de
IPv6
ifcfg, consulte nm-settings-ifcfg-rh(5) página man.
27.2. Configuración de una interfaz con ajustes de red dinámicos mediante archivos ifcfg
Este procedimiento describe cómo configurar una interfaz de red con ajustes de red dinámicos utilizando los archivos ifcfg
.
Procedimiento
Para configurar una interfaz denominada em1 con ajustes de red dinámicos mediante archivos
ifcfg
, cree un archivo con el nombreifcfg-em1
en el directorio/etc/sysconfig/network-scripts/
que contenga:DEVICE=em1 BOOTPROTO=dhcp ONBOOT=yes
Para configurar una interfaz para que envíe un nombre de host diferente al servidor
DHCP
, añada la siguiente línea al archivoifcfg
:DHCP_HOSTNAME=hostname
Para configurar una interfaz para que envíe un nombre de dominio completamente cualificado (FQDN) diferente al servidor
DHCP
, añada la siguiente línea al archivoifcfg
:DHCP_FQDN=fully.qualified.domain.name
NotaSólo debe utilizarse una directiva, ya sea
DHCP_HOSTNAME
oDHCP_FQDN
, en un determinado archivoifcfg
. En caso de que se especifique tantoDHCP_HOSTNAME
comoDHCP_FQDN
, sólo se utilizará esta última.Para configurar una interfaz para que utilice determinados servidores
DNS
, añada las siguientes líneas al archivoifcfg
:PEERDNS=no DNS1=ip-address DNS2=ip-address
donde ip-address es la dirección de un servidor
DNS
. Esto hará que el servicio de red actualice/etc/resolv.conf
con los servidoresDNS
especificados. Sólo es necesaria una dirección de servidorDNS
, la otra es opcional.
27.3. Gestión de perfiles de conexión privados y para todo el sistema con archivos ifcfg
Este procedimiento describe cómo configurar los archivos ifcfg
para gestionar los perfiles de conexión privados y de todo el sistema.
Procedimiento
Los permisos corresponden a la directiva USERS
en los archivos ifcfg
. Si la directiva USERS
no está presente, el perfil de red estará disponible para todos los usuarios.
Como ejemplo, modifique el archivo
ifcfg
con la siguiente fila, que hará que la conexión esté disponible sólo para los usuarios indicados:USERS="joe bob alice"
Capítulo 28. Uso de NetworkManager para desactivar IPv6 para una conexión específica
Esta sección describe cómo desactivar el protocolo IPv6 en un sistema que utiliza NetworkManager para gestionar las interfaces de red. Si desactiva IPv6, NetworkManager establece automáticamente los valores correspondientes de sysctl
en el Kernel.
El servicio NetworkManager establece ciertos valores de sysctl
cuando inicia una conexión. Para evitar comportamientos inesperados, no establezca manualmente los valores de sysctl
para desactivar IPv6.
Requisitos previos
- El sistema utiliza NetworkManager para gestionar las interfaces de red, que es el valor por defecto en Red Hat Enterprise Linux 8.
- El sistema ejecuta Red Hat Enterprise Linux 8.1 o posterior.
28.1. Desactivación de IPv6 en una conexión mediante nmcli
Utilice esta sección para desactivar el protocolo IPv6 mediante la utilidad nmcli
.
Procedimiento
Opcionalmente, mostrar la lista de conexiones de red:
# nmcli connection show NAME UUID TYPE DEVICE Example 7a7e0151-9c18-4e6f-89ee-65bb2d64d365 ethernet enp1s0 ...
Ajuste el parámetro
ipv6.method
de la conexión adisabled
:# nmcli connection modify Example ipv6.method \ ~ disabled"
Reinicie la conexión de red:
# nmcli connection up Example
Pasos de verificación
Introduzca el comando
ip address show
para mostrar la configuración IP del dispositivo:# ip address show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:6b:74:be brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.10.2.255 scope global noprefixroute enp1s0 valid_lft forever preferred_lft forever
Si no se muestra ninguna entrada en
inet6
, IPv6 está desactivado en el dispositivo.Compruebe que el archivo
/proc/sys/net/ipv6/conf/enp1s0/disable_ipv6
contiene ahora el valor1
:# cat /proc/sys/net/ipv6/conf/enp1s0/disable_ipv6 1
El valor
1
significa que IPv6 está desactivado para el dispositivo.
Capítulo 29. Configuración manual del archivo /etc/resolv.conf
Por defecto, NetworkManager en Red Hat Enterprise Linux (RHEL) 8 actualiza dinámicamente el archivo /etc/resolv.conf
con la configuración DNS de los perfiles de conexión activos de NetworkManager. Esta sección describe diferentes opciones sobre cómo desactivar esta característica para configurar manualmente los ajustes DNS en /etc/resolv.conf
.
29.1. Desactivación del procesamiento de DNS en la configuración de NetworkManager
Esta sección describe cómo desactivar el procesamiento de DNS en la configuración de NetworkManager para configurar manualmente el archivo /etc/resolv.conf
.
Procedimiento
Como usuario root, cree el archivo
/etc/NetworkManager/conf.d/90-dns-none.conf
con el siguiente contenido utilizando un editor de texto:[main] dns=none
Recargue el servicio
NetworkManager
:# systemctl reload NetworkManager
NotaDespués de recargar el servicio, NetworkManager ya no actualiza el archivo
/etc/resolv.conf
. Sin embargo, se conserva el último contenido del archivo.-
Opcionalmente, elimine el comentario
Generated by NetworkManager
de/etc/resolv.conf
para evitar confusiones.
Pasos de verificación
-
Edite el archivo
/etc/resolv.conf
y actualice manualmente la configuración. Recargue el servicio
NetworkManager
:# systemctl reload NetworkManager
Muestra el archivo
/etc/resolv.conf
:# cat /etc/resolv.conf
Si ha desactivado correctamente el procesamiento de DNS, NetworkManager no ha anulado los ajustes configurados manualmente.
Recursos adicionales
-
Para más detalles, consulte la descripción del parámetro
dns
en la página de manualNetworkManager.conf(5)
.
29.2. Sustitución de /etc/resolv.conf por un enlace simbólico para configurar manualmente los ajustes de DNS
NetworkManager no actualiza automáticamente la configuración de DNS si /etc/resolv.conf
es un enlace simbólico. Esta sección describe cómo reemplazar /etc/resolv.conf
con un enlace simbólico a un archivo alternativo con la configuración DNS.
Requisitos previos
-
La opción
rc-manager
no está configurada comofile
. Para comprobarlo, utilice el comandoNetworkManager --print-config
.
Procedimiento
-
Cree un archivo, como
/etc/resolv.conf.manually-configured
, y añada en él la configuración de DNS para su entorno. Utilice los mismos parámetros y sintaxis que en el original/etc/resolv.conf
. Elimine el archivo
/etc/resolv.conf
:# rm /etc/resolv.conf
Cree un enlace simbólico llamado
/etc/resolv.conf
que haga referencia a/etc/resolv.conf.manually-configured
:# ln -s /etc/resolv.conf.manually-configured /etc/resolv.conf
Recursos adicionales
-
Para conocer los detalles de los parámetros que puede establecer en
/etc/resolv.conf
, consulte la página de manualresolv.conf(5)
. -
Para más detalles sobre por qué NetworkManager no procesa las configuraciones DNS si
/etc/resolv.conf
es un enlace simbólico, vea la descripción del parámetrorc-manager
en la página manNetworkManager.conf(5)
.
Capítulo 30. Configuración de los ajustes de enlace 802.3
Puede configurar los ajustes de enlace 802.3 de una conexión Ethernet modificando los siguientes parámetros de configuración:
-
802-3-ethernet.auto-negotiate
-
802-3-ethernet.speed
-
802-3-ethernet.duplex
Puede configurar los ajustes del enlace 802.3 en los siguientes modos principales:
- Ignorar la negociación del enlace
- Hacer efectiva la activación de la autonegociación
-
Establezca manualmente la configuración de los enlaces
speed
yduplex
30.1. Configuración de enlaces 802.3 con la herramienta nmcli
Este procedimiento describe cómo configurar los ajustes del enlace 802.3 utilizando la herramienta nmcli
.
Requisitos previos
- El sitio web NetworkManager debe estar instalado y funcionando.
Procedimiento
Para ignorar la negociación del enlace, configure los siguientes parámetros:
~]# nmcli connection modify connection_name 802-3-ethernet.auto-negotiate no 802-3-ethernet.speed 0 802-3-ethernet.duplex ""
Tenga en cuenta que el parámetro de autonegociación no se desactiva aunque los parámetros de velocidad y dúplex no estén configurados y el parámetro de autonegociación esté configurado como no.
Para reforzar la activación de la autonegociación, introduzca el siguiente comando:
~]# nmcli connection modify connection_name 802-3-ethernet.auto-negotiate yes 802-3-ethernet.speed 0 802-3-ethernet.duplex ""
Eso permite negociar todos los modos de velocidad y dúplex disponibles soportados por la NIC.
También puede habilitar la autonegociación mientras anuncia y permite un solo modo de velocidad/dúplex. Esto puede ser útil si quiere imponer la configuración de enlaces Ethernet
1000BASE-T
y10GBASE-T
, ya que estos estándares exigen la autonegociación habilitada. Para aplicar el estándar1000BASE-T
:~]# nmcli connection modify connection_name 802-3-ethernet.auto-negotiate yes 802-3-ethernet.speed 1000 802-3-ethernet.duplex full
Para configurar manualmente la velocidad y el enlace dúplex, introduzca el siguiente comando:
~]# nmcli connection modify connection_name 802-3-ethernet.auto-negotiate no 802-3-ethernet.speed [velocidad en Mbit/s] 802-3-ethernet.duplex [full|half]
Capítulo 31. Configuración de las funciones de descarga de ethtool
Las tarjetas de interfaz de red pueden utilizar el motor de descarga TCP (TOE) para descargar el procesamiento de ciertas operaciones al controlador de red para mejorar el rendimiento de la red.
Esta sección describe cómo configurar las funciones de descarga.
31.1. Funciones de descarga soportadas por NetworkManager
Puede configurar las siguientes funciones de descarga de ethtool
mediante NetworkManager:
- ethtool.feature-esp-hw-offload
- ethtool.feature-esp-tx-csum-hw-offload
- ethtool.feature-fcoe-mtu
- ethtool.feature-gro
- ethtool.feature-gso
- ethtool.feature-highdma
- ethtool.feature-hw-tc-offload
- ethtool.feature-l2-fwd-offload
- ethtool.feature-loopback
- ethtool.feature-lro
- ethtool.feature-ntuple
- ethtool.feature-rx
- ethtool.feature-rx-all
- ethtool.feature-rx-fcs
- ethtool.feature-rx-gro-hw
- ethtool.feature-rx-udp_tunnel-port-offload
- ethtool.feature-rx-vlan-filter
- ethtool.feature-rx-vlan-stag-filter
- ethtool.feature-rx-vlan-stag-hw-parse
- ethtool.feature-rxhash
- ethtool.feature-rxvlan
- ethtool.feature-sg
- ethtool.feature-tls-hw-record
- ethtool.feature-tls-hw-tx-offload
- ethtool.feature-tso
- ethtool.feature-tx
- ethtool.feature-tx-checksum-fcoe-crc
- ethtool.feature-tx-checksum-ip-generic
- ethtool.feature-tx-checksum-ipv4
- ethtool.feature-tx-checksum-ipv6
- ethtool.feature-tx-checksum-sctp
- ethtool.feature-tx-esp-segmentation
- ethtool.feature-tx-fcoe-segmentation
- ethtool.feature-tx-gre-csum-segmentation
- ethtool.feature-tx-gre-segmentation
- ethtool.feature-tx-gso-partial
- ethtool.feature-tx-gso-robust
- ethtool.feature-tx-ipxip4-segmentation
- ethtool.feature-tx-ipxip6-segmentation
- ethtool.feature-tx-nocache-copy
- ethtool.feature-tx-scatter-gather
- ethtool.feature-tx-scatter-gather-fraglist
- ethtool.feature-tx-sctp-segmentation
- ethtool.feature-tx-tcp-ecn-segmentation
- ethtool.feature-tx-tcp-mangleid-segmentation
- ethtool.feature-tx-tcp-segmentation
- ethtool.feature-tx-tcp6-segmentation
- ethtool.feature-tx-udp-segmentation
- ethtool.feature-tx-udp_tnl-csum-segmentation
- ethtool.feature-tx-udp_tnl-segmentation
- ethtool.feature-tx-vlan-stag-hw-insert
- ethtool.feature-txvlan
Para más detalles sobre las funciones individuales de descarga, consulte la documentación de la utilidad ethtool
y la documentación del kernel.
31.2. Configuración de una función de descarga de ethtool mediante NetworkManager
Esta sección describe cómo activar y desactivar las funciones de descarga de ethtool
mediante NetworkManager, así como cómo eliminar la configuración de una función de un perfil de conexión de NetworkManager.
Procedimiento
Por ejemplo, para activar la función de descarga de recepción y desactivar la descarga de transmisión en el perfil de conexión
enp1s0
, introduzca:# nmcli con modify enp1s0 ethtool.feature-rx on ethtool.feature-tx off
Este comando activa explícitamente la descarga de recepción y desactiva la descarga de transmisión.
Para eliminar la configuración de una función de descarga que haya activado o desactivado previamente, establezca el parámetro de la función en
ignore
. Por ejemplo, para eliminar la configuración de la descarga de TX, introduzca:# nmcli con modify enp1s0 ethtool.feature-tx ignore
Reactivar el perfil de red:
# nmcli connection up enp1s0
Pasos de verificación
Utilice el comando
ethtool -k
para mostrar las características actuales de descarga de un dispositivo de red:# ethtool -k network_device
Recursos adicionales
-
Para ver una lista de las funciones de descarga de
ethtool
que admite NetworkManager, consulte Sección 31.1, “Funciones de descarga soportadas por NetworkManager”.
31.3. Uso de los roles del sistema para establecer las características de ethtool
Puede utilizar el rol de sistema networking
RHEL para configurar las características de ethtool
de una conexión NetworkManager.
Cuando se ejecuta una obra que utiliza el rol de sistema networking
RHEL, el rol de sistema anula un perfil de conexión existente con el mismo nombre si la configuración no coincide con la especificada en la obra. Por lo tanto, especifique siempre toda la configuración del perfil de conexión de red en la obra, incluso si, por ejemplo, la configuración de IP, ya existe. De lo contrario, el rol restablece estos valores a sus valores por defecto.
Dependiendo de si ya existe, el procedimiento crea o actualiza el perfil de conexión enp1s0
con la siguiente configuración:
-
Una dirección IPv4 estática -
198.51.100.20
con una máscara de subred/24
-
Una dirección IPv6 estática -
2001:db8:1::1
con una máscara de subred/64
-
Una pasarela por defecto IPv4 -
198.51.100.254
-
Una pasarela por defecto IPv6 -
2001:db8:1::fffe
-
Un servidor DNS IPv4 -
198.51.100.200
-
Un servidor DNS IPv6 -
2001:db8:1::ffbb
-
Un dominio de búsqueda DNS -
example.com
ethtool
características:- Descarga de recepción genérica (GRO): desactivada
- Descarga de segmentación genérica (GSO): activada
- Segmentación del protocolo de control de transmisión de flujos (SCTP): desactivada
Requisitos previos
-
Los paquetes
ansible
yrhel-system-roles
se instalan en el nodo de control. -
Si se utiliza un usuario remoto diferente a root cuando se ejecuta el libro de jugadas, este usuario tiene los permisos apropiados de
sudo
en el nodo gestionado.
Procedimiento
Si el host en el que desea ejecutar las instrucciones del libro de jugadas aún no está inventariado, añada la IP o el nombre de este host al archivo de inventario de Ansible
/etc/ansible/hosts
:nodo.ejemplo.com
Cree el libro de jugadas
~/configure-ethernet-device-with-ethtool-features.yml
con el siguiente contenido:--- - name. Configure an Ethernet connection with ethtool features hosts: node.example.com become: true tasks: - include_role: name: linux-system-roles.network vars: network_connections: - name: enp1s0 type: ethernet autoconnect: yes ip: address: - 198.51.100.20/24 - 2001:db8:1::1/64 gateway4: 198.51.100.254 gateway6: 2001:db8:1::fffe dns: - 198.51.100.200 - 2001:db8:1::ffbb dns_search: - example.com ethtool: feature: gro: "no" gso: "yes" tx_sctp_segmentation: "no" state: up
Ejecuta el libro de jugadas:
Para conectarse como usuario de
root
al host gestionado, introduzca:#
ansible-playbook -u root ~/configure-ethernet-device-with-ethtool-features.yml
Para conectarse como usuario al host gestionado, introduzca:
#
ansible-playbook -u user_name --ask-become-pass ~/configure-ethernet-device-with-ethtool-features.yml
La opción
--ask-become-pass
asegura que el comandoansible-playbook
solicite la contraseñasudo
del usuario definido en la opción-u user_name
opción.
Si no se especifica la opción
-u user_name
ansible-playbook
se conecta al host gestionado como el usuario que ha iniciado la sesión en el nodo de control.
Recursos adicionales
-
Para obtener una lista completa de las características de
ethtool
y detalles sobre los parámetros utilizados ennetwork_connections
, y para obtener información adicional sobre el rol del sistemanetwork
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.network/README.md
. -
Para obtener más información sobre el comando
ansible-playbook
, consulte la página de manualansible-playbook(1)
.
Capítulo 32. Configuración de los ajustes de ethtool coalesce
Utilizando la coalescencia de interrupciones, el sistema recoge los paquetes de red y genera una única interrupción para varios paquetes. Esto aumenta la cantidad de datos enviados al núcleo con una sola interrupción de hardware, lo que reduce la carga de interrupciones y maximiza el rendimiento.
Esta sección proporciona diferentes opciones para establecer los ajustes de coalescencia de ethtool
.
32.1. Ajustes de coalescencia soportados por NetworkManager
Puede establecer los siguientes ajustes de coalescencia de ethtool
utilizando NetworkManager:
- [parámetro]`coalesce-adaptive-rx'
- [parámetro]`coalesce-adaptive-tx'
- [parámetro]`coalesce-pkt-rate-high'
- [parámetro]`coalesce-pkt-rate-low'
- [parámetro]`coalesce-rx-frames'
- [parámetro]`coalesce-rx-frames-high'
- [parámetro]`coalesce-rx-frames-irq'
- [parámetro]`coalesce-rx-frames-low'
- [parámetro]`coalesce-rx-usecs'
- [parámetro]`coalesce-rx-usecs-high'
- [parámetro]`coalesce-rx-usecs-irq'
- [parámetro]`coalesce-rx-usecs-low'
- [parámetro]`intervalo de coalescencia de la muestra'
- [parámetro]`coalesce-stats-block-usecs'
- [parámetro]`coalesce-tx-frames'
- [parámetro]`coalesce-tx-frames-high'
- [parámetro]`coalesce-tx-frames-irq'
- [parámetro]`coalesce-tx-frames-low'
- [parámetro]`coalesce-tx-usecs'
- [parámetro]`coalesce-tx-usecs-high'
- [parámetro]`coalesce-tx-usecs-irq'
- [parámetro]`coalesce-tx-usecs-low'
32.2. Configuración de los ajustes de ethtool coalesce mediante NetworkManager
Esta sección describe cómo establecer la configuración de coalescencia de ethtool
utilizando NetworkManager, así como cómo eliminar la configuración de un perfil de conexión de NetworkManager.
Procedimiento
Por ejemplo, para establecer el número máximo de paquetes recibidos para retrasar a
128
en el perfil de conexiónenp1s0
, introduzca:# nmcli connection modify enp1s0 ethtool.coalesce-rx-frames 128
Para eliminar una configuración de coalescencia, establezca la configuración en
ignore
. Por ejemplo, para eliminar la configuración deethtool.coalesce-rx-frames
, introduzca:# nmcli connection modify enp1s0 ethtool.coalesce-rx-frames ignore
Para reactivar el perfil de red:
# nmcli connection up enp1s0
Pasos de verificación
Utilice el comando
ethtool -c
para mostrar las características actuales de descarga de un dispositivo de red:# ethtool -c network_device
Recursos adicionales
-
Para ver una lista de los ajustes de coalescencia de
ethtool
que admite NetworkManager, consulte Sección 32.1, “Ajustes de coalescencia soportados por NetworkManager”
Capítulo 33. Configuración de MACsec
La siguiente sección proporciona información sobre cómo configurar Media Control Access Security
(MACsec
), que es una tecnología de seguridad estándar 802.1AE IEEE para la comunicación segura en todo el tráfico de los enlaces Ethernet.
33.1. Introducción a MACsec
Media Access Control Security
(MACsec
, IEEE 802.1AE) cifra y autentifica todo el tráfico en las redes LAN con el algoritmo GCM-AES-128. MACsec
puede proteger no sólo IP
sino también el Protocolo de Resolución de Direcciones (ARP), el Descubrimiento de Vecinos (ND) o DHCP
. Mientras que IPsec
opera en la capa de red (capa 3) y SSL
o TLS
en la capa de aplicación (capa 7), MACsec
opera en la capa de enlace de datos (capa 2). Combina MACsec
con protocolos de seguridad para otras capas de red para aprovechar las diferentes características de seguridad que ofrecen estos estándares.
33.2. Uso de MACsec con la herramienta nmcli
Este procedimiento muestra cómo configurar MACsec
con la herramienta nmcli
.
Requisitos previos
- El NetworkManager debe estar en funcionamiento.
-
Ya tiene un CAK hexadecimal de 16 bytes (
$MKA_CAK
) y un CKN hexadecimal de 32 bytes ($MKA_CKN
).
Procedimiento
Para añadir una nueva conexión utilizando
nmcli
, introduzca:~]# nmcli connection add type macsec \ con-name test-macsec+ ifname macsec0 \ connection.autoconnect no \ macsec.parent enp1s0 macsec.mode psk \ macsec.mka-cak $MKA_CAK \ macsec.mka-ckn $MKA_CKN
Sustituya macsec0 por el nombre del dispositivo que desea configurar.
Para activar la conexión, introduzca:
~]# nmcli connection up test-macsec
Después de este paso, el dispositivo macsec0 está configurado y puede utilizarse para la conexión en red.
33.3. Uso de MACsec con wpa_supplicant
Este procedimiento muestra cómo habilitar MACsec
con un conmutador que realiza la autenticación utilizando un par precompartido de clave de asociación de conectividad/nombre CAK (CAK/CKN).
Procedimiento
Crea un par CAK/CKN. Por ejemplo, el siguiente comando genera una clave de 16 bytes en notación hexadecimal:
~]$
dd if=/dev/urandom count=16 bs=1 2> /dev/null | hexdump -e '1/2 "%02x"'
Cree el archivo de configuración
wpa_supplicant.conf
y añada las siguientes líneas:ctrl_interface=/var/run/wpa_supplicant eapol_version=3 ap_scan=0 fast_reauth=1 network={ key_mgmt=NONE eapol_flags=0 macsec_policy=1 mka_cak=0011... # 16 bytes hexadecimal mka_ckn=2233... # 32 bytes hexadecimal }
Utilice los valores del paso anterior para completar las líneas
mka_cak
ymka_ckn
en el archivo de configuraciónwpa_supplicant.conf
.Para más información, consulte la página de manual
wpa_supplicant.conf(5)
.Asumiendo que está usando wlp61s0 para conectarse a su red, inicie wpa_supplicant utilizando el siguiente comando:
~]# wpa_supplicant -i wlp61s0 -Dmacsec_linux -c wpa_supplicant.conf
33.4. Información relacionada
Para más detalles, consulte el artículo Novedades de MACsec: configuración de MACsec mediante wpa_supplicant y (opcionalmente) NetworkManager. Además, consulte el artículo MACsec: una solución diferente para cifrar el tráfico de red para obtener más información sobre la arquitectura de una red MACsec
, escenarios de uso y ejemplos de configuración.
Capítulo 34. Uso de diferentes servidores DNS para diferentes dominios
Por defecto, Red Hat Enterprise Linux (RHEL) envía todas las peticiones DNS al primer servidor DNS especificado en el archivo /etc/resolv.conf
. Si este servidor no responde, RHEL utiliza el siguiente servidor en este archivo.
En entornos en los que un servidor DNS no puede resolver todos los dominios, los administradores pueden configurar RHEL para que envíe las peticiones DNS de un dominio específico a un servidor DNS seleccionado. Por ejemplo, puede configurar un servidor DNS para resolver las consultas de example.com
y otro servidor DNS para resolver las consultas de example.net
. Para el resto de peticiones DNS, RHEL utiliza el servidor DNS configurado en la conexión con la pasarela por defecto.
En RHEL 8, Red Hat proporciona systemd-resolved
como una Muestra de Tecnología no soportada.
34.1. Envío de solicitudes DNS para un dominio específico a un servidor DNS seleccionado
Esta sección configura el servicio systemd-resolved
y NetworkManager para enviar consultas DNS para un dominio específico a un servidor DNS seleccionado.
Si completa el procedimiento de esta sección, RHEL utiliza el servicio DNS proporcionado por systemd-resolved
en el archivo /etc/resolv.conf
. El servicio systemd-resolved
inicia un servicio DNS que escucha en el puerto 53
dirección IP 127.0.0.53
. El servicio enruta dinámicamente las peticiones DNS a los correspondientes servidores DNS especificados en NetworkManager.
La dirección 127.0.0.53
sólo es accesible desde el sistema local y no desde la red.
Requisitos previos
- El sistema tiene configuradas varias conexiones de NetworkManager.
En las conexiones de NetworkManager se configuran un servidor DNS y un dominio de búsqueda que se encargan de resolver un dominio específico
Por ejemplo, si el servidor DNS especificado en una conexión VPN debe resolver consultas para el dominio
example.com
, el perfil de conexión VPN debe tener:-
Configurado un servidor DNS que puede resolver
example.com
-
Configurado el dominio de búsqueda a
example.com
en los parámetrosipv4.dns-search
yipv6.dns-search
-
Configurado un servidor DNS que puede resolver
Procedimiento
Inicie y active el servicio
systemd-resolved
:# systemctl --now enable systemd-resolved
Edite el archivo
/etc/NetworkManager/NetworkManager.conf
, y establezca la siguiente entrada en la sección[main]
:dns=sistema resuelto
Recargue el servicio
NetworkManager
:# systemctl reload NetworkManager
Pasos de verificación
Compruebe que la entrada
nameserver
del archivo/etc/resolv.conf
hace referencia a127.0.0.53
:# cat /etc/resolv.conf nameserver 127.0.0.53
Compruebe que el servicio
systemd-resolved
escucha en el puerto53
en la dirección IP local127.0.0.53
:# netstat -tulpn | grep "127.0.0.53:53" tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 1050/systemd-resolv udp 0 0 127.0.0.53:53 0.0.0.0:* 1050/systemd-resolv
Recursos adicionales
-
Para más detalles, consulte la descripción del parámetro
dns
en la página de manualNetworkManager.conf(5)
.
Capítulo 35. Introducción a la IPVLAN
Este documento describe el controlador IPVLAN.
35.1. Resumen de IPVLAN
IPVLAN es un controlador para un dispositivo de red virtual que puede utilizarse en un entorno de contenedor para acceder a la red del host. IPVLAN expone una única dirección MAC a la red externa independientemente del número de dispositivos IPVLAN creados dentro de la red host. Esto significa que un usuario puede tener varios dispositivos IPVLAN en varios contenedores y el switch correspondiente lee una única dirección MAC. El controlador IPVLAN es útil cuando el conmutador local impone restricciones al número total de direcciones MAC que puede gestionar.
35.2. Modos de IPVLAN
Los siguientes modos están disponibles para IPVLAN:
L2 mode
En IPVLAN L2 mode, los dispositivos virtuales reciben y responden a las solicitudes del Protocolo de Resolución de Direcciones (ARP). El marco
netfilter
se ejecuta únicamente dentro del contenedor que posee el dispositivo virtual. No se ejecutan cadenas denetfilter
en el espacio de nombres por defecto en el tráfico del contenedor. El uso de L2 mode proporciona un buen rendimiento, pero menos control sobre el tráfico de red.L3 mode
En L3 mode, los dispositivos virtuales sólo procesan el tráfico de L3 y superior. Los dispositivos virtuales no responden a las solicitudes ARP y los usuarios deben configurar manualmente las entradas de vecinos para las direcciones IPVLAN en los pares correspondientes. El tráfico de salida de un contenedor relevante es aterrizado en las cadenas
netfilter
POSTROUTING y OUTPUT en el espacio de nombres por defecto mientras que el tráfico de entrada es enhebrado de la misma manera que L2 mode. El uso de L3 mode proporciona un buen control pero disminuye el rendimiento del tráfico de red.L3S mode
En L3S mode, los dispositivos virtuales se procesan de la misma manera que en L3 mode, excepto que tanto el tráfico de salida como el de entrada de un contenedor relevante se aterrizan en la cadena
netfilter
en el espacio de nombres por defecto. L3S mode se comporta de manera similar a L3 mode pero proporciona un mayor control de la red.
El dispositivo virtual IPVLAN no recibe tráfico de difusión y multidifusión en el caso de L3 y L3S modes.
35.3. Resumen de MACVLAN
El controlador MACVLAN permite crear múltiples dispositivos de red virtuales sobre una única NIC, cada uno de ellos identificado por su propia y única dirección MAC. Los paquetes que aterrizan en la NIC física se demultiplexan hacia el dispositivo MACVLAN correspondiente a través de la dirección MAC del destino. Los dispositivos MACVLAN no añaden ningún nivel de encapsulación.
35.4. Comparación de IPVLAN y MACVLAN
La siguiente tabla muestra las principales diferencias entre MACVLAN e IPVLAN.
MACVLAN | IPVLAN |
---|---|
Utiliza la dirección MAC para cada dispositivo MACVLAN. El exceso de direcciones MAC en la tabla MAC del conmutador puede hacer que se pierda la conectividad. | Utiliza una única dirección MAC que no limita el número de dispositivos IPVLAN. |
Las reglas de Netfilter para el espacio de nombres global no pueden afectar al tráfico hacia o desde el dispositivo MACVLAN en un espacio de nombres hijo. | Es posible controlar el tráfico hacia o desde el dispositivo IPVLAN en L3 mode y L3S mode. |
Tenga en cuenta que tanto la IPVLAN como la MACVLAN no requieren ningún nivel de encapsulación.
35.5. Creación y configuración del dispositivo IPVLAN mediante iproute2
Este procedimiento muestra cómo configurar el dispositivo IPVLAN utilizando iproute2.
Procedimiento
Para crear un dispositivo IPVLAN, introduzca el siguiente comando:
~]# ip link add link real_NIC_device name IPVLAN_device type ipvlan mode l2
Tenga en cuenta que el controlador de interfaz de red (NIC) es un componente de hardware que conecta un ordenador a una red.
Ejemplo 35.1. Creación de un dispositivo IPVLAN
~]# ip link add link enp0s31f6 name my_ipvlan type ipvlan mode l2 ~]# ip link 47: my_ipvlan@enp0s31f6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether e8:6a:6e:8a:a2:44 brd ff:ff:ff:ff:ff:ff
Para asignar una dirección
IPv4
oIPv6
a la interfaz, introduzca el siguiente comando:~]# ip addr add dev IPVLAN_device IP_address/subnet_mask_prefix
En caso de configurar un dispositivo IPVLAN en L3 mode o L3S mode, realice las siguientes configuraciones:
Configura la configuración de vecinos para el peer remoto en el host remoto:
~]# ip neigh add dev peer_device IPVLAN_device_IP_address lladdr MAC_address
donde MAC_address es la dirección MAC de la NIC real en la que se basa un dispositivo IPVLAN.
Configure un dispositivo IPVLAN para L3 mode con el siguiente comando:
~]# ip neigh add dev real_NIC_device peer_IP_address lladdr peer_MAC_address
Para L3S mode:
~]# ip route dev add real_NIC_device peer_IP_address/32
donde la dirección IP representa la dirección del peer remoto.
Para activar un dispositivo IPVLAN, introduzca el siguiente comando:
~]# ip link set dev IPVLAN_device up
Para comprobar si el dispositivo IPVLAN está activo, ejecute el siguiente comando en el host remoto:
~]# ping IP_address
donde el IP_address utiliza la dirección IP del dispositivo IPVLAN.
Capítulo 36. Configuración del enrutamiento y reenvío virtual (VRF)
Con el enrutamiento y reenvío virtual (VRF), los administradores pueden utilizar varias tablas de enrutamiento simultáneamente en el mismo host. Para ello, VRF particiona una red en la capa 3. Esto permite al administrador aislar el tráfico utilizando tablas de rutas separadas e independientes por dominio VRF. Esta técnica es similar a las LAN virtuales (VLAN), que particionan una red en la capa 2, donde el sistema operativo utiliza diferentes etiquetas VLAN para aislar el tráfico que comparte el mismo medio físico.
Una de las ventajas de la VRF sobre la partición en la capa 2 es que el enrutamiento se escala mejor teniendo en cuenta el número de pares involucrados.
Red Hat Enterprise Linux utiliza un dispositivo virtual vrt
para cada dominio VRF y añade rutas a un dominio VRF añadiendo dispositivos de red existentes a un dispositivo VRF. Las direcciones y rutas previamente adjuntadas al dispositivo original serán movidas dentro del dominio VRF.
Tenga en cuenta que cada dominio VRF está aislado de los demás.
36.1. Reutilización permanente de la misma dirección IP en diferentes interfaces
Este procedimiento describe cómo utilizar permanentemente la misma dirección IP en diferentes interfaces en un servidor utilizando la función VRF.
Para que los peers remotos puedan contactar con ambas interfaces VRF reutilizando la misma dirección IP, las interfaces de red deben pertenecer a diferentes dominios de difusión. Un dominio de difusión en una red es un conjunto de nodos que reciben el tráfico de difusión enviado por cualquiera de ellos. En la mayoría de las configuraciones, todos los nodos conectados al mismo switch pertenecen al mismo dominio de difusión.
Requisitos previos
-
Ha iniciado la sesión como usuario de
root
. - Las interfaces de red no están configuradas.
Procedimiento
Cree y configure el primer dispositivo VRF:
Cree una conexión para el dispositivo VRF y asígnelo a una tabla de enrutamiento. Por ejemplo, para crear un dispositivo VRF llamado
vrf0
que se asigna a la tabla de enrutamiento1001
:# nmcli connection add type vrf ifname vrf0 con-name vrf0 table 1001 ipv4.method disabled ipv6.method disabled
Habilite el dispositivo
vrf0
:# nmcli connection up vrf0
Asigne un dispositivo de red al VRF que acaba de crear. Por ejemplo, para añadir el dispositivo Ethernet
enp1s0
al dispositivo VRFvrf0
y asignar una dirección IP y la máscara de subred aenp1s0
, introduzca:# nmcli connection add type ethernet con-name vrf.enp1s0 ifname enp1s0 master vrf0 ipv4.method manual ipv4.address 192.0.2.1/24
Active la conexión
vrf.enp1s0
:# nmcli connection up vrf.enp1s0
Cree y configure el siguiente dispositivo VRF:
Cree el dispositivo VRF y asígnelo a una tabla de enrutamiento. Por ejemplo, para crear un dispositivo VRF llamado
vrf1
que se asigna a la tabla de enrutamiento1002
, introduzca:# nmcli connection add type vrf ifname vrf1 con-name vrf1 table 1002 ipv4.method disabled ipv6.method disabled
Active el dispositivo
vrf1
:# nmcli connection up vrf1
Asigne un dispositivo de red al VRF que acaba de crear. Por ejemplo, para añadir el dispositivo Ethernet
enp7s0
al dispositivo VRFvrf1
y asignar una dirección IP y la máscara de subred aenp7s0
, introduzca:# nmcli connection add type ethernet con-name vrf.enp7s0 ifname enp7s0 master vrf1 ipv4.method manual ipv4.address 192.0.2.1/24
Active el dispositivo
vrf.enp7s0
:# nmcli connection up vrf.enp7s0
36.2. Reutilización temporal de la misma dirección IP en diferentes interfaces
El procedimiento en esta sección describe cómo utilizar temporalmente la misma dirección IP en diferentes interfaces en un servidor utilizando la función de enrutamiento y reenvío virtual (VRF). Utilice este procedimiento sólo con fines de prueba, ya que la configuración es temporal y se pierde después de reiniciar el sistema.
Para que los peers remotos puedan contactar con ambas interfaces VRF reutilizando la misma dirección IP, las interfaces de red deben pertenecer a diferentes dominios de difusión. Un dominio de difusión en una red es un conjunto de nodos que reciben el tráfico de difusión enviado por cualquiera de ellos. En la mayoría de las configuraciones, todos los nodos conectados al mismo switch pertenecen al mismo dominio de difusión.
Requisitos previos
-
Ha iniciado la sesión como usuario de
root
. - Las interfaces de red no están configuradas.
Procedimiento
Cree y configure el primer dispositivo VRF:
Cree el dispositivo VRF y asígnelo a una tabla de enrutamiento. Por ejemplo, para crear un dispositivo VRF llamado
blue
que se asigna a la tabla de enrutamiento1001
:# ip link add dev blue type vrf table 1001
Habilite el dispositivo
blue
:# ip link set dev blue up
Asigne un dispositivo de red al dispositivo VRF. Por ejemplo, para añadir el dispositivo Ethernet
enp1s0
al dispositivo VRFblue
:# ip link set dev enp1s0 master blue
Habilite el dispositivo
enp1s0
:# ip link set dev enp1s0 up
Asigne una dirección IP y una máscara de subred al dispositivo
enp1s0
. Por ejemplo, para configurarlo en192.0.2.1/24
:# ip addr add dev enp1s0 192.0.2.1/24
Cree y configure el siguiente dispositivo VRF:
Cree el dispositivo VRF y asígnelo a una tabla de enrutamiento. Por ejemplo, para crear un dispositivo VRF llamado
red
que se asigna a la tabla de enrutamiento1002
:# ip link add dev red type vrf table 1002
Habilite el dispositivo
red
:# ip link set dev red up
Asigne un dispositivo de red al dispositivo VRF. Por ejemplo, para añadir el dispositivo Ethernet
enp7s0
al dispositivo VRFred
:# ip link set dev enp7s0 master red
Habilite el dispositivo
enp7s0
:# ip link set dev enp7s0 up
Asigne al dispositivo
enp7s0
la misma dirección IP y máscara de subred que utilizó paraenp1s0
en el dominioblue
VRF:# ip addr add dev enp7s0 192.0.2.1/24
- Opcionalmente, cree más dispositivos VRF como se ha descrito anteriormente.
36.3. Información relacionada
Capítulo 37. Configuración de los protocolos de enrutamiento para su sistema
Esta sección describe cómo utilizar la función Free Range Routing (FRRouting, o FRR) para activar y configurar los protocolos de enrutamiento necesarios para su sistema.
37.1. Introducción a FRRouting
Free Range Routing (FRRouting, o FRR) es una pila de protocolos de enrutamiento, que es proporcionada por el paquete frr
disponible en el repositorio AppStream.
FRR sustituye a Quagga que se utilizaba en versiones anteriores de RHEL. Como tal, FRR proporciona servicios de enrutamiento basados en TCP/IP con soporte para múltiples protocolos de enrutamiento IPv4 e IPv6.
Los protocolos admitidos son:
- Protocolo de Pasarela Fronteriza (BGP)
- Sistema intermedio a sistema intermedio (IS-IS)
- Abrir el camino más corto primero (OSPF)
- Multidifusión independiente del protocolo (PIM)
- Protocolo de Información de Enrutamiento (RIP)
- Protocolo de Información de Enrutamiento de próxima generación (RIPng)
- Protocolo de Enrutamiento de Pasarela Interior Mejorado (EIGRP)
- Protocolo de resolución del siguiente salto (NHRP)
- Detección de reenvío bidireccional (BFD)
- Enrutamiento basado en políticas (PBR)
FRR es un conjunto de los siguientes servicios:
- cebra
- bgpd
- isisd
- ospfd
- ospf6d
- pimd
- ripd
- ripngd
- eigrpd
- nhrpd
- bfdd
- pbrd
- estáticod
- fabricado
Si se instala frr
, el sistema puede actuar como un router dedicado, que intercambia información de enrutamiento con otros routers de la red interna o externa utilizando los protocolos de enrutamiento.
37.2. Configuración de FRRouting
Requisitos previos
-
Asegúrese de que el paquete
frr
está instalado en su sistema:
# yum install frr
Procedimiento
Edite el archivo de configuración
/etc/frr/daemons
y habilite los demonios necesarios para su sistema.Por ejemplo, para activar el demonio
ripd
, incluya la siguiente línea:ripd=sí
AvisoEl demonio
zebra
debe estar siempre habilitado, por lo que hay que configurarzebra=yes
para poder utilizar FRR.ImportantePor defecto,
/etc/frr/daemons
contiene entradas de[daemon_name]=no
para todos los demonios. Por lo tanto, todos los demonios están deshabilitados, y el arranque FRR después de una nueva instalación del sistema no tiene ningún efecto.Inicie el servicio
frr
:# systemctl start frr
Opcionalmente, también puede configurar FRR para que se inicie automáticamente al arrancar:
# systemctl enable frr
37.3. Modificación de la configuración de FRR
Esta sección describe:
- Cómo habilitar un demonio adicional después de configurar FRR
- Cómo deshabilitar un demonio después de configurar FRR
Activación de un demonio adicional
Requisitos previos
- FRR se configura como se describe en Sección 37.2, “Configuración de FRRouting”.
Procedimiento
Para habilitar uno o más demonios adicionales:
Edite el archivo de configuración de
/etc/frr/daemons
y modifique la línea de los demonios requeridos para que digayes
en lugar deno
.Por ejemplo, para activar el demonio
ripd
:ripd=sí
Recargue el servicio
frr
:# systemctl reload frr
Desactivar un demonio
Requisitos previos
- FRR se configura como se describe en Sección 37.2, “Configuración de FRRouting”.
Procedimiento
Para desactivar uno o varios demonios:
Edite el archivo de configuración de
/etc/frr/daemons
y modifique la línea de los demonios requeridos para que digano
en lugar deyes
.Por ejemplo, para desactivar el demonio
ripd
:ripd=no
Recargue el servicio
frr
:# systemctl reload frr
37.4. Modificación de la configuración de un demonio concreto
Con la configuración por defecto, cada demonio de enrutamiento en FRR sólo puede actuar como un enrutador simple.
Para cualquier configuración adicional de un demonio, utilice el siguiente procedimiento.
Procedimiento
Dentro del directorio
/etc/frr/
, cree un archivo de configuración para el demonio requerido, y nombre el archivo como sigue:[nombre_del_demonio].conf
Por ejemplo, para configurar el demonio
eigrpd
, cree el archivoeigrpd.conf
en el directorio mencionado.Rellene el nuevo archivo con el contenido requerido.
Para ver ejemplos de configuración de determinados FRR daemons, consulte el directorio
/usr/share/doc/frr/
.Recargue el servicio
frr
:# systemctl reload frr
Capítulo 38. Supervisión y ajuste de la memoria intermedia de recepción
Los búferes de anillo de recepción (RX) son búferes compartidos entre el controlador del dispositivo y la tarjeta de interfaz de red (NIC), y almacenan los paquetes entrantes hasta que el controlador del dispositivo pueda procesarlos.
Puede aumentar el tamaño del búfer de anillo RX del dispositivo Ethernet si la tasa de caída de paquetes hace que las aplicaciones informen:
- una pérdida de datos,
- vallado de la agrupación,
- rendimiento lento,
- tiempos de espera, y
- copias de seguridad fallidas.
Esta sección describe cómo identificar el número de paquetes perdidos y aumentar el búfer de anillo RX para reducir una alta tasa de caída de paquetes.
38.1. Visualización del número de paquetes perdidos
La utilidad ethtool
permite a los administradores consultar, configurar o controlar los ajustes del controlador de red.
El agotamiento del búfer de anillo RX provoca un incremento en los contadores, como \ "descarte" o \ "caída" en la salida de ethtool -S interface_name
. Los paquetes descartados indican que el buffer disponible se está llenando más rápido de lo que el kernel puede procesar los paquetes.
Este procedimiento describe cómo mostrar los contadores de caída utilizando ethtool
.
Procedimiento
Para mostrar los contadores de caída de la
enp1s0
interfaz, introduzca:$ ethtool -S enp1s0
38.2. Aumentar el búfer del anillo de recepción para reducir una alta tasa de caída de paquetes
La utilidad ethtool
ayuda a aumentar el búfer de recepción para reducir una alta tasa de caída de paquetes.
Procedimiento
Para ver el tamaño máximo de la memoria intermedia de RX:
# ethtool -g enp1s0 Ring parameters for enp1s0: Pre-set maximums: RX: 4080 RX Mini: 0 RX Jumbo: 16320 TX: 255 Current hardware settings: RX: 255 RX Mini: 0 RX Jumbo: 0 TX: 255
Si los valores de la sección
Pre-set maximums
son mayores que los de la secciónCurrent hardware settings
, aumente el buffer de anillo RX:Para cambiar temporalmente el buffer de anillo RX del dispositivo
enp1s0
a4080
, introduzca:# ethtool -G enp1s0 rx 4080
Para cambiar permanentemente el búfer del anillo RX, cree un script de despacho de NetworkManager.
Para más detalles, consulte el artículo Cómo hacer que la configuración de la NIC ethtool sea persistente (se aplique automáticamente en el arranque) y cree un script despachador.
Dependiendo del controlador que utilice su tarjeta de interfaz de red, los cambios en el búfer del anillo pueden interrumpir brevemente la conexión de red.
Recursos adicionales
- Para más información sobre las estadísticas que cubren más razones de los descartes de paquetes no deseados, consulte el ifconfig and ip commands report packet drops in RHEL7 artículo.
- Should I be concerned about a 0.05% packet drop rate?
-
La página de manual
ethtool(8)
.
Capítulo 39. Probar la configuración básica de la red
Esta sección describe cómo realizar las pruebas básicas de la red.
39.1. Uso de la utilidad ping para verificar la conexión IP con otros hosts
La utilidad ping
envía paquetes ICMP a un host remoto. Puede utilizar esta funcionalidad para probar si la conexión IP a un host diferente funciona.
Procedimiento
Haga ping a la dirección IP de un host en la misma subred, como su puerta de enlace predeterminada:
# ping 192.0.2.3
Si el comando falla, verifique la configuración de la puerta de enlace por defecto.
Hacer ping a una dirección IP de un host en una subred remota:
# ping 198.162.3.1
Si el comando falla, verifique la configuración de la puerta de enlace por defecto y asegúrese de que la puerta de enlace reenvía los paquetes entre las redes conectadas.
39.2. Uso de la utilidad de host para verificar la resolución de nombres
Este procedimiento describe cómo verificar la resolución de nombres en Red Hat Enterprise Linux 8.
Procedimiento
Utilice la utilidad
host
para verificar que la resolución de nombres funciona. Por ejemplo, para resolver el nombre de hostclient.example.com
a una dirección IP, introduzca:# host cliente.ejemplo.com
Si el comando devuelve un error, como
connection timed out
ono servers could be reached
, verifique su configuración de DNS.
Capítulo 40. Introducción a la depuración de NetworkManager
Aumentar los niveles de registro para todos o ciertos dominios ayuda a registrar más detalles de las operaciones que NetworkManager realiza. Los administradores pueden utilizar esta información para solucionar problemas. NetworkManager proporciona diferentes niveles y dominios para producir información de registro. El archivo /etc/NetworkManager/NetworkManager.conf
es el principal archivo de configuración de NetworkManager. Los registros se almacenan en el diario.
Esta sección proporciona información sobre la habilitación del registro de depuración para NetworkManager y el uso de diferentes niveles de registro y dominios para configurar la cantidad de detalles de registro.
40.1. Niveles y dominios de depuración
Puede utilizar los parámetros levels
y domains
para gestionar la depuración de NetworkManager. El nivel define el nivel de verbosidad, mientras que los dominios definen la categoría de los mensajes para registrar los registros con una gravedad determinada (level
).
Niveles de registro | Descripción |
---|---|
| No registra ningún mensaje sobre NetworkManager |
| Registra sólo los errores críticos |
| Registra los avisos que pueden reflejar la operación |
| Registra varios mensajes informativos que son útiles para el seguimiento del estado y las operaciones |
| Activa el registro detallado para fines de depuración |
|
Permite un registro más detallado que el nivel |
Tenga en cuenta que los niveles siguientes registran todos los mensajes de los niveles anteriores. Por ejemplo, al establecer el nivel de registro en INFO
también se registran los mensajes contenidos en los niveles de registro ERR
y WARN
.
Recursos adicionales
-
Para más detalles sobre
domains
, consulte la página de manualNetworkManager.conf(5)
.
40.2. Configuración del nivel de registro de NetworkManager
Por defecto, todos los dominios de registro están configurados para registrar el nivel de registro INFO
. Desactive la limitación de velocidad antes de recoger los registros de depuración. Con la limitación de velocidad, systemd-journald
elimina los mensajes si hay demasiados en poco tiempo. Esto puede ocurrir cuando el nivel de registro es TRACE
.
Este procedimiento deshabilita la limitación de velocidad y habilita la grabación de registros de depuración para todos los dominios (ALL).
Procedimiento
Para desactivar la limitación de velocidad, edite el archivo
/etc/systemd/journald.conf
, descomente el parámetroRateLimitBurst
en la sección[Journal]
y establezca su valor como0
:RateLimitBurst=0
Reinicie el servicio
systemd-journald
.#
systemctl restart systemd-journald
Cree el archivo
/etc/NetworkManager/conf.d/95-nm-debug.conf
con el siguiente contenido:[logging] domains=ALL:DEBUG
El parámetro
domains
puede contener varios pares dedomain:level
separados por comas.Reinicie el servicio NetworkManager.
#
systemctl restart NetworkManager
40.3. Establecer temporalmente los niveles de registro en tiempo de ejecución utilizando nmcli
Puede cambiar el nivel de registro en tiempo de ejecución usando nmcli
. Sin embargo, Red Hat recomienda habilitar la depuración utilizando los archivos de configuración y reiniciar NetworkManager. La actualización de la depuración levels
y domains
utilizando el archivo .conf
ayuda a depurar los problemas de arranque y captura todos los registros desde el estado inicial.
Procedimiento
Opcional: Muestra la configuración de registro actual:
#
nmcli general logging
LEVEL DOMAINS INFO PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,WIFI_SCAN,IP4,IP6,A UTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC, WIMAX,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,DBUS_PROPS,TEAM,CONCHECK,DC B,DISPATCHPara modificar el nivel de registro y los dominios, utilice las siguientes opciones:
Para establecer el nivel de registro para todos los dominios al mismo
LEVEL
, introduzca:#
nmcli general logging level LEVEL domains ALL
Para cambiar el nivel para dominios específicos, introduzca:
#
nmcli general logging level LEVEL domains DOMAINS
Tenga en cuenta que la actualización del nivel de registro mediante este comando desactiva el registro para todos los demás dominios.
Para cambiar el nivel de determinados dominios y conservar el de todos los demás, introduzca:
#
nmcli general logging level KEEP domains DOMAIN:LEVEL,DOMAIN:LEVEL
40.4. Ver los registros de NetworkManager
Puede ver los registros de NetworkManager para la resolución de problemas.
Procedimiento
Para ver los registros, introduzca:
#
journalctl -u NetworkManager -b
Recursos adicionales
-
La página de manual
NetworkManager.conf(5)
-
La página de manual
journalctl
Capítulo 41. Captura de paquetes de red
Para depurar problemas de red y comunicaciones, puede capturar paquetes de red. Las siguientes secciones proporcionan instrucciones e información adicional sobre la captura de paquetes de red.
41.1. Uso de xdpdump para capturar paquetes de red, incluidos los paquetes descartados por los programas XDP
La utilidad xdpdump
captura paquetes de red. A diferencia de la utilidad tcpdump
, xdpdump
utiliza un programa Berkeley Packet Filter(eBPF) extendido para esta tarea. Esto permite a xdpdump
capturar también los paquetes perdidos por los programas Express Data Path (XDP). Las utilidades de espacio de usuario, como tcpdump
, no son capaces de capturar estos paquetes caídos, así como los paquetes originales modificados por un programa XDP.
Puede utilizar xdpdump
para depurar programas XDP que ya están conectados a una interfaz. Por lo tanto, la utilidad puede capturar paquetes antes de que se inicie un programa XDP y después de que haya terminado. En este último caso, xdpdump
también captura la acción del XDP. Por defecto, xdpdump
captura los paquetes entrantes a la entrada del programa XDP.
Red Hat proporciona xdpdump
como una Muestra de Tecnología no soportada.
Tenga en cuenta que xdpdump
no tiene capacidades de filtrado o decodificación de paquetes. Sin embargo, puede utilizarlo en combinación con tcpdump
para la decodificación de paquetes.
El procedimiento describe cómo capturar todos los paquetes en la interfaz enp1s0
y escribirlos en el archivo /root/capture.pcap
.
Requisitos previos
- Un controlador de red que soporta programas XDP.
-
Se carga un programa XDP en la interfaz
enp1s0
. Si no se carga ningún programa,xdpdump
captura los paquetes de forma similar a como lo hacetcpdump
, por compatibilidad con versiones anteriores.
Procedimiento
Para capturar paquetes en la interfaz
enp1s0
y escribirlos en el archivo/root/capture.pcap
, introduzca:#
xdpdump -i enp1s0 -w /root/capture.pcap
- Para dejar de capturar paquetes, pulse Ctrl+C.
Recursos adicionales
-
Para más detalles sobre
xdpdump
, consulte la página de manualxdpdump(8)
. -
Si es un desarrollador y está interesado en el código fuente de
xdpdump
, descargue e instale el correspondiente RPM de origen (SRPM) desde el Portal del Cliente de Red Hat.
41.2. Recursos adicionales
- La solución de la base de conocimientos ¿Cómo capturar paquetes de red con tcpdump?
Capítulo 42. Uso de una versión específica del kernel en RHEL
El kernel es un componente central de un sistema operativo Linux que gestiona los recursos del sistema y proporciona la interfaz entre el hardware y las aplicaciones de software. En algunos casos, el kernel puede afectar a la funcionalidad de la red, por lo que siempre se recomienda utilizar la última versión del kernel. Si es necesario, también es posible rebajar la versión del kernel a una versión anterior del mismo x-stream kernel y seleccionar la versión específica durante el arranque del sistema para solucionar problemas.
Esta sección explica cómo seleccionar un kernel en el gestor de arranque GRUB en caso de que actualice o baje el kernel.
42.1. Iniciar RHEL con una versión anterior del kernel
Por defecto, después de actualizar, el sistema arranca la última versión del kernel. Red Hat Enterprise Linux permite tener tres versiones del kernel instaladas al mismo tiempo. Esto se define en el archivo /etc/dnf/dnf.conf
(installonly_limit=3
).
Si observa algún problema cuando el sistema se carga con el nuevo kernel, puede reiniciarlo con el kernel anterior y restaurar la máquina de producción. Póngase en contacto con el servicio de asistencia para solucionar el problema.
Procedimiento
- Poner en marcha el sistema.
- En el cargador de arranque GRUB, verá los kernels instalados. Utiliza las teclas ↑ y ↓ para seleccionar un kernel, y pulsa Enter para arrancarlo.
Recursos adicionales
-
Cambiar el kernel por defecto para arrancar usando la herramienta
grubby
. - Para más información sobre la instalación y actualización del Kernel, consulte la sección Actualización del Kernel con yum.
Capítulo 43. Proporcionar servicios DHCP
El protocolo de configuración dinámica de host (DHCP) es un protocolo de red que asigna automáticamente la información IP a los clientes.
Esta sección explica información general sobre el servicio dhcpd
, así como la forma de configurar un servidor DHCP y el relé DHCP.
Si un procedimiento requiere diferentes pasos para proporcionar DHCP en redes IPv4 e IPv6, las secciones de este capítulo contienen procedimientos para ambos protocolos.
43.1. Las diferencias al usar dhcpd para DHCPv4 y DHCPv6
El servicio dhcpd
permite proporcionar tanto DHCPv4 como DHCPv6 en un servidor. Sin embargo, se necesita una instancia separada de dhcpd
con archivos de configuración separados para proporcionar DHCP para cada protocolo.
- DHCPv4
-
Archivo de configuración
/etc/dhcp/dhcpd.conf
-
Nombre del servicio Systemd
dhcpd
-
Archivo de configuración
- DHCPv6
-
Archivo de configuración
/etc/dhcp/dhcpd6.conf
-
Nombre del servicio Systemd
dhcpd6
-
Archivo de configuración
43.2. La base de datos de arrendamiento del servicio dhcpd
Un contrato de arrendamiento DHCP es el periodo de tiempo por el que el servicio dhcpd
asigna una dirección de red a un cliente. El servicio dhcpd
almacena los arrendamientos DHCP en las siguientes bases de datos:
-
Para DHCPv4
/var/lib/dhcpd/dhcpd.leases
-
Para DHCPv6
/var/lib/dhcpd/dhcpd6.leases
La actualización manual de los archivos de la base de datos puede corromper las bases de datos.
Las bases de datos de arrendamiento contienen información sobre los arrendamientos asignados, como la dirección IP asignada a una dirección de control de acceso al medio (MAC) o la marca de tiempo cuando el arrendamiento expira. Tenga en cuenta que todas las marcas de tiempo en las bases de datos de arrendamiento están en Tiempo Universal Coordinado (UTC).
El servicio dhcpd
recrea las bases de datos periódicamente:
El servicio cambia el nombre de los archivos existentes:
-
/var/lib/dhcpd/dhcpd.leases
a/var/lib/dhcpd/dhcpd.leases~
-
/var/lib/dhcpd/dhcpd6.leases
a/var/lib/dhcpd/dhcpd6.leases~
-
-
El servicio escribe todos los arrendamientos conocidos en los archivos recién creados
/var/lib/dhcpd/dhcpd.leases
y/var/lib/dhcpd/dhcpd6.leases
.
Recursos adicionales
-
Para más detalles sobre lo que se almacena en la base de datos de arrendamientos, consulte la página man
dhcpd.leases(5)
. - Sección 43.10, “Restauración de una base de datos de arrendamiento corrupta”
43.3. Comparación de DHCPv6 con radvd
En una red IPv6, sólo los mensajes de anuncio de router proporcionan información sobre una puerta de enlace predeterminada IPv6. En consecuencia, si desea utilizar DHCPv6 en subredes que requieren una configuración de puerta de enlace predeterminada, debe configurar adicionalmente un servicio de publicidad de enrutadores, como Router Advertisement Daemon (radvd
).
El servicio radvd
utiliza banderas en los paquetes de publicidad del router para anunciar la disponibilidad de un servidor DHCPv6.
Esta sección compara DHCPv6 y radvd
, y proporciona información sobre la configuración de radvd
.
DHCPv6 | radvd | |
---|---|---|
Proporciona información sobre la pasarela por defecto | no | sí |
Garantiza direcciones aleatorias para proteger la privacidad | sí | no |
Envía más opciones de configuración de la red | sí | no |
Asigna direcciones de control de acceso al medio (MAC) a direcciones IPv6 | sí | no |
43.4. Configuración del servicio radvd para routers IPv6
El demonio de publicidad del enrutador (radvd
) envía mensajes de publicidad del enrutador que son necesarios para la autoconfiguración sin estado de IPv6. Esto permite a los usuarios configurar automáticamente sus direcciones, ajustes y rutas, y elegir un router por defecto basándose en estos anuncios.
El procedimiento de esta sección explica cómo configurar radvd
.
Requisitos previos
-
Ha iniciado la sesión como usuario de
root
.
Procedimiento
Instale el paquete
radvd
:# yum install radvd
Edite el archivo
/etc/radvd.conf
y añada la siguiente configuración:interface enp1s0 { AdvSendAdvert on; AdvManagedFlag on; AdvOtherConfigFlag on; prefix 2001:db8:0:1::/64 { }; };
Estos ajustes configuran
radvd
para enviar mensajes de publicidad de enrutamiento en el dispositivoenp1s0
para la subred2001:db8:0:1::/64
. El parámetroAdvManagedFlag on
define que el cliente debe recibir la dirección IP de un servidor DHCP, y el parámetroAdvOtherConfigFlag
ajustado aon
define que los clientes deben recibir también información no relacionada con la dirección del servidor DHCP.Opcionalmente, configure que
radvd
se inicie automáticamente al arrancar el sistema:# systemctl enable radvd
Inicie el servicio
radvd
:# systemctl start radvd
Opcionalmente, mostrar el contenido de los paquetes de publicidad del router y los valores configurados que envía
radvd
:# radvdump
Recursos adicionales
-
Para más detalles sobre la configuración de
radvd
, consulte la página de manualradvd.conf(5)
. -
Para ver un ejemplo de configuración de
radvd
, consulte el archivo/usr/share/doc/radvd/radvd.conf.example
.
43.5. Configuración de las interfaces de red para los servidores DHCP
Por defecto, el servicio dhcpd
procesa las solicitudes sólo en las interfaces de red que tienen una dirección IP en la subred definida en el archivo de configuración del servicio.
Por ejemplo, en el siguiente escenario, dhcpd
sólo escucha en la interfaz de red enp0s1
:
-
Sólo tiene una definición de
subnet
para la red 192.0.2.0/24 en el archivo/etc/dhcp/dhcpd.conf
. -
La interfaz de red
enp0s1
está conectada a la subred 192.0.2.0/24. -
La interfaz
enp7s0
está conectada a una subred diferente.
Sólo siga el procedimiento de esta sección si el servidor DHCP contiene varias interfaces de red conectadas a la misma red pero el servicio debe escuchar sólo en interfaces específicas.
Dependiendo de si desea proporcionar DHCP para IPv4, IPv6, o ambos protocolos, consulte el procedimiento para:
Requisitos previos
-
Ha iniciado la sesión como usuario de
root
. -
El paquete
dhcp-server
está instalado.
Procedimiento
Para redes IPv4:
Copie el archivo
/usr/lib/systemd/system/dhcpd.service
en el directorio/etc/systemd/system/
:# cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/
No edite el archivo
/usr/lib/systemd/system/dhcpd.service
. Las futuras actualizaciones del paquetedhcp-server
pueden anular los cambios.Edite el archivo
/etc/systemd/system/dhcpd.service
, y añada los nombres de la interfaz, quedhcpd
debe escuchar al comando en el parámetroExecStart
:ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS enp0s1 enp7s0
Este ejemplo configura que
dhcpd
escuche sólo en las interfacesenp0s1
yenp7s0
.Recarga la configuración del gestor
systemd
:# systemctl daemon-reload
Reinicie el servicio
dhcpd
:# systemctl restart dhcpd.service
Para redes IPv6:
Copie el archivo
/usr/lib/systemd/system/dhcpd6.service
en el directorio/etc/systemd/system/
:# cp /usr/lib/systemd/system/dhcpd6.service /etc/systemd/system/
No edite el archivo
/usr/lib/systemd/system/dhcpd6.service
. Las futuras actualizaciones del paquetedhcp-server
pueden anular los cambios.Edite el archivo
/etc/systemd/system/dhcpd6.service
, y añada los nombres de la interfaz, quedhcpd
debe escuchar al comando en el parámetroExecStart
:ExecStart=/usr/sbin/dhcpd -f -6 -cf /etc/dhcp/dhcpd6.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS enp0s1 enp7s0
Este ejemplo configura que
dhcpd
escuche sólo en las interfacesenp0s1
yenp7s0
.Recarga la configuración del gestor
systemd
:# systemctl daemon-reload
Reinicie el servicio
dhcpd6
:# systemctl restart dhcpd6.service
43.6. Configuración del servicio DHCP para subredes conectadas directamente al servidor DHCP
Utilice el siguiente procedimiento si el servidor DHCP está conectado directamente a la subred para la que el servidor debe responder a las solicitudes DHCP. Este es el caso si una interfaz de red del servidor tiene asignada una dirección IP de esta subred.
Dependiendo de si desea proporcionar DHCP para IPv4, IPv6, o ambos protocolos, consulte el procedimiento para:
Requisitos previos
-
Ha iniciado la sesión como usuario de
root
. -
El paquete
dhcpd-server
está instalado.
Procedimiento
Para redes IPv4:
Edite el archivo
/etc/dhcp/dhcpd.conf
:Opcionalmente, añada parámetros globales que
dhcpd
utiliza por defecto si no hay otras directivas que contengan estos ajustes:option domain-name "example.com"; default-lease-time 86400;
Este ejemplo establece el nombre de dominio por defecto para la conexión a
example.com
, y el tiempo de arrendamiento por defecto a86400
segundos (1 día).Añada la declaración
authoritative
en una nueva línea:autorizada;
ImportanteSin la sentencia
authoritative
, el serviciodhcpd
no responde a los mensajesDHCPREQUEST
conDHCPNAK
si un cliente pide una dirección que está fuera del pool.Para cada subred IPv4 conectada directamente a una interfaz del servidor, añada una declaración
subnet
:subnet 192.0.2.0 netmask 255.255.255.0 { range 192.0.2.20 192.0.2.100; option domain-name-servers 192.0.2.1; option routers 192.0.2.1; option broadcast-address 192.0.2.255; max-lease-time 172800; }
Este ejemplo añade una declaración de subred para la red 192.0.2.0/24. Con esta configuración, el servidor DHCP asigna la siguiente configuración a un cliente que envía una solicitud DHCP desde esta subred:
-
Una dirección IPv4 libre del rango definido en el parámetro
range
-
IP del servidor DNS para esta subred
192.0.2.1
-
Puerta de enlace por defecto para esta subred
192.0.2.1
-
Dirección de difusión para esta subred
192.0.2.255
-
El tiempo máximo de arrendamiento, después del cual los clientes de esta subred liberan la IP y envían una nueva solicitud al servidor:
172800
segundos (2 días)
-
Una dirección IPv4 libre del rango definido en el parámetro
Opcionalmente, configure que
dhcpd
se inicie automáticamente al arrancar el sistema:# systemctl enable dhcpd
Inicie el servicio
dhcpd
:# systemctl start dhcpd
Para redes IPv6:
Edite el archivo
/etc/dhcp/dhcpd6.conf
:Opcionalmente, añada parámetros globales que
dhcpd
utiliza por defecto si no hay otras directivas que contengan estos ajustes:option dhcp6.domain-search "example.com"; default-lease-time 86400;
Este ejemplo establece el nombre de dominio por defecto para la conexión a
example.com
, y el tiempo de arrendamiento por defecto a86400
segundos (1 día).Añada la declaración
authoritative
en una nueva línea:autorizada;
ImportanteSin la sentencia
authoritative
, el serviciodhcpd
no responde a los mensajesDHCPREQUEST
conDHCPNAK
si un cliente pide una dirección que está fuera del pool.Para cada subred IPv6 conectada directamente a una interfaz del servidor, añada una declaración
subnet
:subnet6 2001:db8:0:1::/64 { range6 2001:db8:0:1::20 2001:db8:0:1::100; option dhcp6.name-servers 2001:db8:0:1::1; max-lease-time 172800; }
Este ejemplo añade una declaración de subred para la red 2001:db8:0:1::/64. Con esta configuración, el servidor DHCP asigna la siguiente configuración a un cliente que envía una solicitud DHCP desde esta subred:
-
Una dirección IPv6 libre del rango definido en el parámetro
range6
. -
La IP del servidor DNS para esta subred es
2001:db8:0:1::1
. El tiempo máximo de arrendamiento, después del cual los clientes de esta subred liberan la IP y envían una nueva solicitud al servidor es
172800
segundos (2 días).Tenga en cuenta que IPv6 requiere el uso de mensajes de anuncio de enrutador para identificar la puerta de enlace predeterminada.
-
Una dirección IPv6 libre del rango definido en el parámetro
Opcionalmente, configure que
dhcpd6
se inicie automáticamente al arrancar el sistema:# systemctl enable dhcpd6
Inicie el servicio
dhcpd6
:# systemctl start dhcpd6
Recursos adicionales
-
Para obtener una lista de todos los parámetros que puede establecer en
/etc/dhcp/dhcpd.conf
y/etc/dhcp/dhcpd6.conf
, consulte la página de manualdhcp-options(5)
. -
Para más detalles sobre la sentencia
authoritative
, consulte la secciónThe authoritative statement
en la página mandhcpd.conf(5)
. -
Para ver ejemplos de configuraciones, consulte los archivos
/usr/share/doc/dhcp-server/dhcpd.conf.example
y/usr/share/doc/dhcp-server/dhcpd6.conf.example
.
43.7. Configuración del servicio DHCP para subredes que no están directamente conectadas al servidor DHCP
Utilice el siguiente procedimiento si el servidor DHCP no está conectado directamente a la subred para la que el servidor debe responder a las solicitudes de DHCP. Este es el caso si un agente de retransmisión de DHCP reenvía las solicitudes al servidor de DHCP, porque ninguna de las interfaces del servidor de DHCP está directamente conectada a la subred a la que el servidor debe dar servicio.
Dependiendo de si desea proporcionar DHCP para IPv4, IPv6, o ambos protocolos, consulte el procedimiento para:
Requisitos previos
-
Ha iniciado la sesión como usuario de
root
. -
El paquete
dhcpd-server
está instalado.
Procedimiento
Para redes IPv4:
Edite el archivo
/etc/dhcp/dhcpd.conf
:Opcionalmente, añada parámetros globales que
dhcpd
utiliza por defecto si no hay otras directivas que contengan estos ajustes:option domain-name "example.com"; default-lease-time 86400;
Este ejemplo establece el nombre de dominio por defecto para la conexión a
example.com
, y el tiempo de arrendamiento por defecto a86400
segundos (1 día).Añada la declaración
authoritative
en una nueva línea:autorizada;
ImportanteSin la sentencia
authoritative
, el serviciodhcpd
no responde a los mensajesDHCPREQUEST
conDHCPNAK
si un cliente pide una dirección que está fuera del pool.Añada una declaración
shared-network
, como la siguiente, para las subredes IPv4 que no están directamente conectadas a una interfaz del servidor:shared-network example { option domain-name-servers 192.0.2.1; ... subnet 192.0.2.0 netmask 255.255.255.0 { range 192.0.2.20 192.0.2.100; option routers 192.0.2.1; } subnet 198.51.100.0 netmask 255.255.255.0 { range 198.51.100.20 198.51.100.100; option routers 198.51.100.1; } ... }
Este ejemplo añade una declaración de red compartida, que contiene una declaración
subnet
para las redes 192.0.2.0/24 y 198.51.100.0/24. Con esta configuración, el servidor DHCP asigna la siguiente configuración a un cliente que envía una solicitud DHCP desde una de estas subredes:-
La IP del servidor DNS para los clientes de ambas subredes es:
192.0.2.1
. -
Una dirección IPv4 libre del rango definido en el parámetro
range
, dependiendo de la subred desde la que el cliente envió la solicitud. -
La puerta de enlace por defecto es
192.0.2.1
o198.51.100.1
dependiendo de la subred desde la que el cliente envió la solicitud.
-
La IP del servidor DNS para los clientes de ambas subredes es:
Añada una declaración
subnet
para la subred a la que el servidor está directamente conectado y que se utiliza para llegar a las subredes remotas especificadas enshared-network
:subnet 203.0.113.0 netmask 255.255.255.0 { }
NotaSi el servidor no proporciona servicio DHCP a esta subred, la declaración
subnet
debe estar vacía como se muestra en el ejemplo. Sin una declaración para la subred directamente conectada,dhcpd
no se inicia.
Opcionalmente, configure que
dhcpd
se inicie automáticamente al arrancar el sistema:# systemctl enable dhcpd
Inicie el servicio
dhcpd
:# systemctl start dhcpd
Para redes IPv6:
Edite el archivo
/etc/dhcp/dhcpd6.conf
:Opcionalmente, añada parámetros globales que
dhcpd
utiliza por defecto si no hay otras directivas que contengan estos ajustes:option dhcp6.domain-search "example.com"; default-lease-time 86400;
Este ejemplo establece el nombre de dominio por defecto para la conexión a
example.com
, y el tiempo de arrendamiento por defecto a86400
segundos (1 día).Añada la declaración
authoritative
en una nueva línea:autorizada;
ImportanteSin la sentencia
authoritative
, el serviciodhcpd
no responde a los mensajesDHCPREQUEST
conDHCPNAK
si un cliente pide una dirección que está fuera del pool.Añada una declaración
shared-network
, como la siguiente, para las subredes IPv6 que no están directamente conectadas a una interfaz del servidor:shared-network example { option domain-name-servers 2001:db8:0:1::1:1 ... subnet6 2001:db8:0:1::1:0/120 { range6 2001:db8:0:1::1:20 2001:db8:0:1::1:100 } subnet6 2001:db8:0:1::2:0/120 { range6 2001:db8:0:1::2:20 2001:db8:0:1::2:100 } ... }
Este ejemplo añade una declaración de red compartida que contiene una declaración
subnet6
para las redes 2001:db8:0:1::1:0/120 y 2001:db8:0:1::2:0/120. Con esta configuración, el servidor DHCP asigna la siguiente configuración a un cliente que envía una solicitud DHCP desde una de estas subredes:-
La IP del servidor DNS para los clientes de ambas subredes es
2001:db8:0:1::1:1
. Una dirección IPv6 libre del rango definido en el parámetro
range6
, dependiendo de la subred desde la que el cliente envió la solicitud.Tenga en cuenta que IPv6 requiere el uso de mensajes de anuncio de enrutador para identificar la puerta de enlace predeterminada.
-
La IP del servidor DNS para los clientes de ambas subredes es
Añada una declaración
subnet6
para la subred a la que el servidor está directamente conectado y que se utiliza para llegar a las subredes remotas especificadas enshared-network
:subnet6 2001:db8:0:1::50:0/120 { }
NotaSi el servidor no proporciona servicio DHCP a esta subred, la declaración
subnet6
debe estar vacía como se muestra en el ejemplo. Sin una declaración para la subred directamente conectada,dhcpd
no se inicia.
Opcionalmente, configure que
dhcpd6
se inicie automáticamente al arrancar el sistema:# systemctl enable dhcpd6
Inicie el servicio
dhcpd6
:# systemctl start dhcpd6
Recursos adicionales
-
Para obtener una lista de todos los parámetros que puede establecer en
/etc/dhcp/dhcpd.conf
y/etc/dhcp/dhcpd6.conf
, consulte la página de manualdhcp-options(5)
. -
Para más detalles sobre la sentencia
authoritative
, consulte la secciónThe authoritative statement
en la página mandhcpd.conf(5)
. -
Para ver ejemplos de configuraciones, consulte los archivos
/usr/share/doc/dhcp-server/dhcpd.conf.example
y/usr/share/doc/dhcp-server/dhcpd6.conf.example
. - Sección 43.11, “Configuración de un agente de retransmisión DHCP”
43.8. Asignación de una dirección estática a un host mediante DHCP
Mediante una declaración de host
, puede configurar el servidor DHCP para que asigne una dirección IP fija a una dirección de control de acceso al medio (MAC) de un host. Por ejemplo, utilice este método para asignar siempre la misma dirección IP a un servidor o dispositivo de red.
Si configura una dirección IP fija para una dirección MAC, la dirección IP debe estar fuera del grupo de direcciones que especificó en los parámetros fixed-address
y fixed-address6
.
Dependiendo de si desea configurar direcciones fijas para IPv4, IPv6 o ambos protocolos, consulte el procedimiento para:
Requisitos previos
-
El servicio
dhcpd
está configurado y funcionando. -
Ha iniciado la sesión como usuario de
root
.
Procedimiento
Para redes IPv4:
Edite el archivo
/etc/dhcp/dhcpd.conf
:Añade una declaración en
host
:host server.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 192.0.2.130; }
Este ejemplo configura el servidor DHCP para que asigne siempre la dirección IP
192.0.2.130
al host con la dirección MAC52:54:00:72:2f:6e
.El servicio
dhcpd
identifica los sistemas por la dirección MAC especificada en el parámetrofixed-address
, y no por el nombre de la declaraciónhost
. En consecuencia, puede establecer este nombre con cualquier cadena que no coincida con otras declaraciones dehost
. Para configurar el mismo sistema para varias redes, utilice un nombre diferente, de lo contrario,dhcpd
no se iniciará.-
Opcionalmente, añada otros ajustes a la declaración
host
que sean específicos para este host.
Reinicie el servicio
dhcpd
:# systemctl start dhcpd
Para redes IPv6:
Edite el archivo
/etc/dhcp/dhcpd6.conf
:Añade una declaración en
host
:host server.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address6 2001:db8:0:1::200; }
Este ejemplo configura el servidor DHCP para asignar siempre la dirección IP
2001:db8:0:1::20
al host con la dirección MAC52:54:00:72:2f:6e
.El servicio
dhcpd
identifica los sistemas por la dirección MAC especificada en el parámetrofixed-address6
, y no por el nombre de la declaraciónhost
. En consecuencia, se puede establecer este nombre con cualquier cadena, siempre que sea única respecto a otras declaraciones dehost
. Para configurar el mismo sistema para varias redes, utilice un nombre diferente porque, de lo contrario,dhcpd
no se inicia.-
Opcionalmente, añada otros ajustes a la declaración
host
que sean específicos para este host.
Reinicie el servicio
dhcpd6
:# systemctl start dhcpd6
Recursos adicionales
-
Para obtener una lista de todos los parámetros que puede establecer en
/etc/dhcp/dhcpd.conf
y/etc/dhcp/dhcpd6.conf
, consulte la página de manualdhcp-options(5)
. -
Para ver ejemplos de configuraciones, consulte los archivos
/usr/share/doc/dhcp-server/dhcpd.conf.example
y/usr/share/doc/dhcp-server/dhcpd6.conf.example
.
43.9. Uso de una declaración de grupo para aplicar parámetros a varios hosts, subredes y redes compartidas al mismo tiempo
Utilizando una declaración de group
, puede aplicar los mismos parámetros a múltiples hosts, subredes y redes compartidas.
Tenga en cuenta que el procedimiento en esta sección describe el uso de una declaración de group
para hosts, pero los pasos son los mismos para subredes y redes compartidas.
Dependiendo de si desea configurar un grupo para IPv4, IPv6 o ambos protocolos, consulte el procedimiento para:
Requisitos previos
-
El servicio
dhcpd
está configurado y funcionando. -
Ha iniciado la sesión como usuario de
root
.
Procedimiento
Para redes IPv4:
Edite el archivo
/etc/dhcp/dhcpd.conf
:Añade una declaración en
group
:group { option domain-name-servers 192.0.2.1; host server1.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 192.0.2.130; } host server2.example.com { hardware ethernet 52:54:00:1b:f3:cf; fixed-address 192.0.2.140; } }
Esta definición de
group
agrupa dos entradas dehost
. El serviciodhcpd
aplica el valor establecido en el parámetrooption domain-name-servers
a los dos hosts del grupo.-
Opcionalmente, añada otros ajustes a la declaración
group
que sean específicos para estos hosts.
Reinicie el servicio
dhcpd
:# systemctl start dhcpd
Para redes IPv6:
Edite el archivo
/etc/dhcp/dhcpd6.conf
:Añade una declaración en
group
:group { option dhcp6.domain-search "example.com"; host server1.example.com { hardware ethernet 52:54:00:72:2f:6e; fixed-address 2001:db8:0:1::200; } host server2.example.com { hardware ethernet 52:54:00:1b:f3:cf; fixed-address 2001:db8:0:1::ba3; } }
Esta definición de
group
agrupa dos entradas dehost
. El serviciodhcpd
aplica el valor establecido en el parámetrooption dhcp6.domain-search
a los dos hosts del grupo.-
Opcionalmente, añada otros ajustes a la declaración
group
que sean específicos para estos hosts.
Reinicie el servicio
dhcpd6
:# systemctl start dhcpd6
Recursos adicionales
-
Para obtener una lista de todos los parámetros que puede establecer en
/etc/dhcp/dhcpd.conf
y/etc/dhcp/dhcpd6.conf
, consulte la página de manualdhcp-options(5)
. -
Para ver ejemplos de configuraciones, consulte los archivos
/usr/share/doc/dhcp-server/dhcpd.conf.example
y/usr/share/doc/dhcp-server/dhcpd6.conf.example
.
43.10. Restauración de una base de datos de arrendamiento corrupta
Si el servidor DHCP registra un error relacionado con la base de datos de contratos de arrendamiento, como Corrupt lease file - possible data loss!
, puede restaurar la base de datos de contratos de arrendamiento a partir de la copia que creó el servicio dhcpd
. Tenga en cuenta que esta copia puede no reflejar el último estado de la base de datos.
Si se elimina la base de datos de arrendamientos en lugar de sustituirla por una copia de seguridad, se pierde toda la información sobre los arrendamientos asignados actualmente. Como consecuencia, el servidor DHCP podría asignar arrendamientos a clientes que han sido previamente asignados a otros hosts y que aún no han expirado. Esto conduce a conflictos de IP.
Dependiendo de si desea restaurar las bases de datos DHCPv4, DHCPv6 o ambas, consulte el procedimiento para:
Requisitos previos
-
Ha iniciado la sesión como usuario de
root
. - La base de datos de arrendamiento está corrupta.
Procedimiento
Restauración de la base de datos de arrendamiento DHCPv4:
Detenga el servicio
dhcpd
:# systemctl stop dhcpd
Cambiar el nombre de la base de datos de arrendamiento corrupta:
# mv /var/lib/dhcpd/dhcpd.leases /var/lib/dhcpd/dhcpd.leases.corrupt
Restaurar la copia de la base de datos de arrendamiento que el servicio
dhcp
creó cuando actualizó la base de datos de arrendamiento:# cp -p /var/lib/dhcpd/dhcpd.leases~ /var/lib/dhcpd/dhcpd.leases
ImportanteSi tiene una copia de seguridad más reciente de la base de datos de arrendamientos, restaure esta copia de seguridad en su lugar.
Inicie el servicio
dhcpd
:# systemctl start dhcpd
Restauración de la base de datos de arrendamiento DHCPv6:
Detenga el servicio
dhcpd6
:# systemctl stop dhcpd6
Cambiar el nombre de la base de datos de arrendamiento corrupta:
# mv /var/lib/dhcpd/dhcpd6.leases /var/lib/dhcpd/dhcpd6.leases.corrupt
Restaurar la copia de la base de datos de arrendamiento que el servicio
dhcp
creó cuando actualizó la base de datos de arrendamiento:# cp -p /var/lib/dhcpd/dhcpd6.leases~ /var/lib/dhcpd/dhcpd6.leases
Importante