En esta guía, discutiremos dos conceptos esenciales de redes que son puentes y vínculos. Veremos cómo configurar, modificar y eliminar los puentes y enlaces en el sistema Linux. Demostraremos el procedimiento en Sistema Linux Mint 20 Ulyana. Sin embargo, también puede implementar el mismo procedimiento en Ubuntu o Debian.
Prerrequisitos:
- Sistema Linux con al menos dos interfaces de red
- Usuario de sudo
Puentes
Bridging es crear un puente entre dos o más interfaces de red para pasar tráfico entre ellas. Le permite compartir la conexión a Internet de su sistema con otros sistemas. Considere un escenario en el que el sistema A (sin conexión a Internet) quiere conectarse a la conexión a Internet B de otro sistema. Todo lo que necesita es conectar ambos sistemas con un cable Ethernet y crear un puente entre ellos. Sin embargo, para hacerlo, necesitará dos interfaces en su sistema B. Una interfaz se conectará a Internet y la otra se conectará al sistema A.
Configurar Bridge
En nuestro ejemplo, configuraremos un puente br0 entre dos interfaces, ens33 y ens39. La enss33 la interfaz se conecta a Internet mientras que el ens39 se conecta al segundo sistema (que necesita una conexión a Internet). Montaremos el puente a través de DHCP.
Primero, tendrá que instalar el programa bridge-utils requerido para crear un puente. Ejecute el siguiente comando en Terminal para instalar bridge-utils:
$ sudo apt install bridge-utilsCree una interfaz de red puente usando el siguiente comando en la Terminal:
$ brctl addbr br0Este comando creará un puente llamado br0. Puedes nombrarlo como quieras.
Ahora agregue las dos interfaces que desea puentear (una que se conecta a Internet y la otra que se conecta al segundo sistema) usando la siguiente sintaxis:
$ sudo brctl addifPor ejemplo, en nuestro caso sería:
$ sudo brctl addif br0 ens33 ens39El comando anterior agregará enss33 y ens39 al puente br0.
Ahora, abre la interfaz del puente:
$ ip link set devEn nuestro caso sería:
$ ip link set dev br0 upTambién puede ejecutar el siguiente comando para poner la interfaz en funcionamiento (en el caso de DHCP).
$ sudo dhclient br0Ahora, edite el archivo / etc / network / interfaces y agregue las siguientes líneas:
auto br0iface br0 inet dhcp
bridge_ports ens33 ens39
Ahora reinicie los servicios de red usando el siguiente comando:
$ sudo systemctl reiniciar la red. ServicioAhora el puente se ha configurado y, con suerte, podrá acceder a Internet desde su segundo sistema.
Ver puente
Puede usar el siguiente comando para ver todos los puentes configurados en su sistema y las interfaces adjuntas a ellos.
$ Brctl show
Modificar puente
Agregar una interfaz para puente
Puede agregar una interfaz a un puente ya existente de la siguiente manera:
$ sudo brctl addif bridge_name nombre_interfazPor ejemplo, para agregar una interfaz llamada ens38 al puente ya existente llamado br0, el comando sería:
$ sudo brctl addif br0 ens38Eliminar interfaz del puente
También puede eliminar una interfaz de un puente de la siguiente manera:
$ sudo brctl delif nombre_puente nombre_interfazPor ejemplo, para eliminar una interfaz llamada ens38 desde el puente llamado br0, el comando sería:
$ sudo brctl delif br0 ens38Eliminar un puente
Para eliminar un puente de su sistema, primero deberá derribarlo. Utilice el siguiente comando para hacerlo:
$ sudo ip link set dev bridge_name abajoPor ejemplo, para eliminar un puente llamado br0, primero bájalo:
$ sudo ip link set dev br0 downLuego, para eliminar el puente, use el siguiente comando:
$ sudo brctl delbr bridge_nameEn nuestro ejemplo, el comando sería:
$ sudo brctl delbr br0Vinculación de red
La vinculación de red combina varias interfaces de red para presentarlas como una única interfaz, de hecho combinando su ancho de banda en una sola conexión. Las interfaces de red vinculadas aumentan el rendimiento, proporcionan alta disponibilidad y conmutación por error en situaciones en las que falla una de las interfaces.
Hay varios modos de vinculación de red que son los siguientes:
- modo = 0 (Round Robin de equilibrio)
- modo = 1 (respaldo activo)
- modo = 2 (Equilibrio XOR)
- modo = 3 (transmisión)
- modo = 4 (802.3ad)
- modo = 5 (Balance TLB)
- modo = 6 (Balance ALB)
Configurar enlace de red
En esta guía, configuraremos el modo 1 (Modo de respaldo activo). Uniremos dos interfaces, ens33 y ens38. La ens33 será nuestra interfaz activa, mientras que ens38 será la interfaz de respaldo.
Primero, tendrá que instalar el ifenslave herramienta en su sistema. Para hacerlo, emita el siguiente comando en la Terminal:
$ apt instalar ifenslave
Luego cargue el módulo del kernel usando el siguiente comando:
$ sudo modprobe vinculaciónEl comando anterior agregará capacidades adicionales al kernel de Linux.
Ahora, descubra sus interfaces de red. Puede usar el siguiente comando para hacerlo:
$ ip enlaceEl siguiente resultado muestra que hay dos interfaces de red ens33 y ens38 que no sea la interfaz de bucle invertido. Uniremos las dos interfaces, ens33 y ens38, en un vínculo llamado bond0.
Ahora edite los archivos de interfaces de red usando el siguiente comando en la Terminal:
$ sudo nano / etc / network / interfacesModifique el archivo de la siguiente manera:
Asegúrese de reemplazar el nombre de la interfaz con el suyo.
auto ens33iface ens33 inet manual
bond-master bond0
enlace primario ens33 ens38
auto ens38
iface ens38 inet manual
bond-master bond0
enlace primario ens33 ens38
auto bond0
enlace iface0 inet dhcp
esclavos esclavos ninguno
modo de enlace 1
enlace-miimon 100
Ahora guarde y cierre el archivo de configuración de la interfaz.
Ahora reinicie el servicio de red usando el siguiente comando:
$ sudo systemctl reiniciar la red.ServicioEjecute el comando "ifconfig" o "ip a", y esta vez verá el bond0 como una interfaz separada con una dirección IP asignada. También puede ver que no hay una dirección IP asignada al ens33 y ens38 interfaces.
Prueba de unión
Para verificar si la vinculación está funcionando, emita el siguiente comando:
$ cat / proc / net / bonding / bond0El siguiente resultado muestra que el modo de encuadernación es copia de seguridad activa, y tanto el esclavo principal como el esclavo activo actualmente es ens33.
Ahora para probar el modo de respaldo activo, ejecute un ping continuo desde otro sistema en la red a la dirección IP del servidor de enlace (que en nuestro caso es 192.168.72.179). Tu ping debería funcionar correctamente. Luego intente apagar la interfaz activa y vea si el ping continúa o se detiene. Si el ping continúa, esto significa que la vinculación se ha configurado correctamente.
Si ejecuta el siguiente comando, también puede ver que el esclavo primario ens33 está inactivo mientras que el esclavo actualmente activo está ahora ens38.
Modificar la vinculación
Cambiar la interfaz esclava activa
También puede cambiar la interfaz esclava activa en la vinculación utilizando el -C opción de la siguiente manera:
$ sudo ifenslave -c enlace interfaz_activaPor ejemplo, en nuestro escenario, tenemos ens33 como una interfaz activa mientras ens38 como interfaz de respaldo. Para configurar ens38 como interfaz esclava activa, el comando sería:
$ sudo ifenslave -c bond0 ens38Ahora, para confirmar si la interfaz activa ha cambiado con éxito, emita el siguiente comando en la Terminal:
$ cat / proc / net / bonding / bond0En el siguiente resultado, puede ver que la interfaz esclava activa ha cambiado a ens38.
Cambiar el modo de unión
Para cambiar el modo de vinculación, edite el archivo / etc / network / interfaces y cambiar el valor del modo de enlace. Por ejemplo, para cambiar el modo de enlace para round-robin, modifique el valor del modo de enlace a 0.
modo de enlace 0Ahora para confirmar si el modo de vinculación ha cambiado con éxito, emita el siguiente comando en la Terminal:
$ cat / proc / net / bonding / bond0En la siguiente salida, está claro que el modo de enlace ha cambiado a round-robin.
Adjuntando esclavo
Para adjuntar una nueva interfaz esclava a un enlace ya existente, use la siguiente sintaxis:
$ sudo ifenslave -v bond nombre_interfazLa -v se utiliza aquí para una salida detallada.
Por ejemplo, para agregar una nueva interfaz esclava ens33 a un bond0 ya existente, el comando sería:
$ sudo ifenslave -v bond0 ens33
Separando esclavo
Para separar una interfaz esclava de un enlace, use el -D opción de la siguiente manera:
$ sudo ifenslave -v bond nombre_interfazLa -v se usa aquí para una salida detallada.
Por ejemplo, para desconectar una interfaz esclava ens33 de bond0, el comando sería:
$ sudo ifenslave -d -v bond0 ens33
Eliminar vinculación
Para eliminar la vinculación, edite el / etc / network.archivo de interfaces, y eliminar las configuraciones relacionadas con la unión. Deje solo la configuración de interfaces como esta:
auto ens33iface ens33 inet dhcp
auto ens38
iface ens38 inet dhcp
Luego guarde y cierre el archivo de configuración de interfaces.
Ahora elimine la vinculación con el siguiente comando:
$ sudo rmmod bondingLuego reinicie el servicio de red:
$ sudo systemctl reiniciar la red.ServicioEso es todo lo que hay que hacer! En este artículo, primero, mostramos cómo configurar un puente de red para compartir la conexión a Internet con otros sistemas. Luego, hemos mostrado cómo modificar los puentes agregando o eliminando una interfaz del puente. A continuación, mostramos cómo configurar enlaces de red para tener un mayor rendimiento, alta disponibilidad y conmutación por error. Luego, hemos mostrado cómo modificar un enlace cambiando sus esclavos activos, conectando / separando esclavos y cambiando los modos de enlace. También hemos mostrado cómo eliminar los puentes y enlaces en caso de que ya no los necesite.