Linux admite la implementación de un puente de red de software para reproducir la función de un puente de red, un dispositivo de red que interconecta dos o más redes de comunicación o segmentos de red para que funcionen como una sola red. Actúa casi como un conmutador de red y, en un sentido de software, se utiliza para implementar el concepto de un virtual network switch.

Un caso de uso típico del puente de red de software es en un entorno de virtualización para conectar máquinas virtuales (VM) directamente a la red del servidor host. De esta forma, las máquinas virtuales se implementan en la misma subred que el host y pueden acceder a servicios como DHCP y mucho más.

En este artículo, aprenderá diferentes formas de configurar un puente de red en Ubuntu y utilícelo dentro de un entorno de virtualización para crear una red virtual en modo puente bajo VirtualBox y KVMpara conectar máquinas virtuales a la misma red que el host.

Instalación de las utilidades de puente de red en Ubuntu

Comience instalando el bridge-utils que contiene utilidades para configurar el puente ethernet de Ubuntu usando el administrador de paquetes apt como se muestra.

$ apt-get install bridge-utils

Luego, identifique el nombre de la interfaz para su dispositivo ethernet usando el comando IP como se muestra.

$ ip ad
OR
$ ip add
Compruebe las interfaces de red en Ubuntu

Crear un puente de red usando NetPlan en Ubuntu

Netplan es una utilidad front-end simple y fácil de usar para configurar redes en Linux usando el YAML. actualmente es compatible NetworkManager y systemd-netword como herramientas de back-end.

Para configurar la red para una interfaz como una bridgeedita tu netplan archivo de configuración encontrado en /etc/netplan/.

El siguiente es un archivo de configuración de ejemplo, donde el renderer es systemd-netword que es el predeterminado (reemplazar enp1s0 el nombre de su interfaz ethernet).

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces:
	     - enp1s0
Archivo de configuración de Netplan
Archivo de configuración de Netplan

Guarde el archivo de configuración y aplique la configuración para habilitar la red puente ejecutando el siguiente comando.

$ sudo netplan apply

Luego usa el brctl para mostrar todos los puentes en el sistema. En este caso, el Ethernet se agrega automáticamente como un puerto al puente.

$ sudo brctl show
Mostrar puentes de red
Mostrar puentes de red

Si desea desactivar o desactivar el puente de red creado, elimínelo con los siguientes comandos.

$ sudo ip link set enp1s0 up
$ sudo ip link set br0 down
$ sudo brctl delbr br0
OR
$ sudo nmcli conn up Wired connection 1
$ sudo nmcli conn down br0
$ sudo nmcli conn del br0
$ sudo nmcli conn del bridge-br0

Crear un puente de red usando Nmcli en Ubuntu

nmcli es una herramienta de línea de comandos de administrador de red ampliamente utilizada para administrar NetworkManager (crear, mostrar, editar, eliminar, activar y desactivar conexiones de red) y mostrar el estado del dispositivo de red.

Para crear un puente de red usando nmcliejecute el siguiente comando.

$ sudo nmcli conn add type bridge con-name br0 ifname br0
Cree un puente de red con la herramienta nmcli
Cree un puente de red con la herramienta nmcli

Luego agrega el Ethernet como un puerto en el puente como se muestra (recuerde reemplazar enp1s0 el nombre de su dispositivo).

$ sudo nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp1s0 master br0
Agregar un puerto de puente de red
Agregar un puerto de puente de red

A continuación, confirme que el bridge se ha creado mostrando todas las conexiones de red.

$ sudo nmcli conn show --active
Verificar puente de red
Verificar puente de red

A continuación, activa la bridge conexión de la siguiente manera (puede usar el nombre de conexión/interfaz o el UUID).

$ sudo nmcli conn up br0
OR
$ sudo nmcli conn up e7385b2d-0e93-4a8e-b9a0-5793e5a1fda3
Activar conexión de red puente
Activar conexión de red puente

Luego desactive la Ethernet o conexión.

$ sudo nmcli conn down Ethernet connection 1
OR
$ sudo nmcli conn down 525284a9-60d9-4396-a1c1-a37914d43eff
Desactivar conexión Ethernet
Desactivar conexión Ethernet

Ahora intente ver las conexiones activas una vez más, el Ethernet ahora debe ser un esclavo en el bridge conexión como se muestra en la siguiente captura de pantalla.

$ sudo nmcli conn show --active
Comprobar conexiones de red activas
Comprobar conexiones de red activas

Creación de un puente de red con la herramienta nm-connection-editor

para abrir el nm-connection-editorejecute el siguiente comando desde la terminal.

$ nm-connection-editor

Desde el network connections ventana del editor, haga clic en el + firme para agregar un nuevo perfil de conexión.

Agregar una nueva conexión de red
Agregar una nueva conexión de red

A continuación, elija el tipo de conexión como Bridge del menú desplegable y haga clic en Create.

Seleccione el tipo de conexión de red
Seleccione el tipo de conexión de red

A continuación, configure el nombre de la conexión del puente y el nombre de la interfaz.

Establecer nombre de conexión de puente
Establecer nombre de conexión de puente

Luego haga clic en el Add para agregar los puertos esclavos del puente, es decir, el Ethernet como se muestra en la siguiente captura de pantalla. Seleccione Ethernet como el tipo de conexión y haga clic en Create.

Agregar una conexión de puente de red
Agregar una conexión de puente de red

A continuación, establezca el nombre de la conexión según sus preferencias y haga clic en Save.

Establecer nuevo nombre de conexión de puente
Establecer nuevo nombre de conexión de puente

Por debajo bridged conexiones, ahora debería aparecer la nueva conexión.

Verificar nueva conexión de puente
Verificar nueva conexión de puente

Ahora, si abre el editor de conexión de red una vez más, la nueva interfaz puente y la interfaz esclava deberían existir como se indica en la siguiente captura de pantalla.

Compruebe la conexión del puente de red
Compruebe la conexión del puente de red

A continuación, active la interfaz de puente y desactive la interfaz de Ethernet mediante el comando nmcli.

$ sudo nmcli conn up br0
$ sudo nmcli conn down Ethernet connection 1

Cómo usar un puente de red en un software de virtualización

Después de configurar un network bridge (conmutador de red virtual), puede usarlo en un entorno de virtualización como Oracle VirtualBox y KVM para conectar máquinas virtuales a la red host.

Uso de un puente de red en Oracle VirtualBox

Abierto VirtualBoxentonces de la lista de VMsseleccione un VM, luego haga clic en su configuración. Desde la ventana de configuración, vaya a la Network y seleccione un adapter (p.ej Adapter 1).

Luego marque la opción Enable Network Adapterestablezca el valor de adjunto al campo en Bridged Adapterluego configure el Name de la interfaz puenteada (p. ej. br0) como se indica en la siguiente captura de pantalla. Luego haga clic en Aceptar.

Configurar VM para usar Bridge Network en VirtualBox
Configurar VM para usar Bridge Network en VirtualBox

Uso de un puente de red en KVM

Puede utilizar el nuevo puente de red en KVM agregando el –network=bridge=br0 mientras se crea una nueva máquina virtual, usando el virt-install.

# virt-install --virt-type=kvm --name Ubuntu18.04 --ram 1536 --vcpus=4 --os-variant=ubuntu18.04 --cdrom=/path/to/install.iso --network=bridge=br0,model=virtio --graphics vnc --disk path=/var/lib/libvirt/images/ubuntu18.04.qcow2,size=20,bus=virtio,format=qcow2

Desde la consola web, se seleccionará automáticamente. Además, también puede configurar un puente de red utilizando el virsh-herramienta de línea y un archivo de configuración XML de VM.

Para más detalles, lea el netplan y nmcli páginas man (ejecutando man netplan y man nmcli) así como redes virtuales en libvirt y redes virtuales en VirtualBox. Puede enviarnos cualquier consulta a través de la sección de comentarios a continuación.