Red Hat Training
A Red Hat training course is available for RHEL 8
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.