GNU/Linux >> Tutoriales Linux >  >> Linux

10 ejemplos de comandos brctl de Linux para puente de red Ethernet

brctl significa Bridge Control.

En Linux, este comando se usa para crear y manipular el puente de ethernet.

Por lo general, esto se usa cuando tiene varias redes Ethernet en sus servidores y desea combinarlas y presentarlas como una sola red lógica.

Por ejemplo, si tiene eth0 y eth1, puede combinarlos y presentarlo simplemente como br0, que a su vez usará tanto eth0 como eth1 para el tráfico de red.

En este tutorial, hemos cubierto lo siguiente:

  1. Crear un nuevo puente Ethernet usando addbr
  2. Mostrar puente Ethernet disponible usando show
  3. Eliminar puente Ethernet existente usando delbr
  4. Agregar una interfaz a un puente existente
  5. Agregue varias interfaces al puente existente
  6. Seguimiento de la dirección MAC de un Bridge
  7. Establecer el tiempo de caducidad de la dirección Mac en un puente
  8. Configurar el árbol de expansión en el puente Ethernet
  9. Mostrar valores de parámetros STP de un puente
  10. Cambiar los valores de los parámetros del puente

1. Crear un nuevo puente Ethernet usando addbr

Usando brctl addbr, podemos crear un nuevo puente ethernet.

En el siguiente ejemplo, hemos creado tres puentes Ethernet en este servidor:dev, stage y prod.

brctl addbr dev

brctl addbr stage

brctl addbr prod

Tenga en cuenta que en esta etapa, este es solo un puente Ethernet vacío que no tiene ninguna otra red Ethernet.

Tenga en cuenta que este brctl es un poco diferente a la vinculación de NIC de Linux EtherChannel que discutimos anteriormente.

2. Muestra el puente Ethernet disponible usando show

Usando brctl show, podemos ver todos los puentes de ethernet disponibles en su servidor.

El siguiente ejemplo mostrará todas las instancias actuales de los tres puentes que acabamos de crear.

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no
stage           8000.000000000000       no

Si nota que la última columna "interfaces" no tiene nada. Esto significa que ninguno de estos puentes tiene ningún dispositivo Ethernet asociado todavía.

En una nota relacionada:9 ejemplos de ethtool de Linux para manipular la tarjeta Ethernet

3. Elimine el puente Ethernet existente usando delbr

Usando brctl delbr, podemos eliminar un puente ethernet existente.

El siguiente ejemplo eliminará la instancia de "escenario" del puente ethernet.

brctl delbr stage

Como puede ver en el comando show, ya no vemos el puente ethernet de "escenario".

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no

Tenga en cuenta que cuando un puente está activo (es decir, activo), puede eliminarlo. Primero debe derribar el puente y luego eliminarlo.

Además, tenga en cuenta que el comando brctl anterior se llamaba brcfg.

4. Agregar una interfaz a un puente existente

Usando brctl addif, podemos agregar una interfaz a un puente ethernet existente.

El siguiente ejemplo agregará la red ethernet eth0 al puente "dev" que acabamos de crear.

Advertencia:no intente esto en ninguna máquina crítica, ya que podría perder la conexión de red a esa máquina cuando algo sale mal. Intente esto solo en una instancia de prueba en la que tenga acceso a la consola.

brctl addif dev eth0

En lo anterior:

  • Esto realmente hará que eth0 sea un puerto del puente "dev".
  • Entonces, todas las tramas que lleguen a eth0 se procesarán como si realmente estuvieran llegando al puente.
  • Además, cuando las tramas se envían en el puente "dev", utilizará eth0. Cuando varias interfaces forman parte del puente "dev", entonces eth0 será un candidato potencial para enviar las tramas salientes desde el puente.

Después de agregar eth0 al puente "dev", el comando brctl show mostrará lo siguiente.

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.0050568954bc       no              eth0
prod            8000.000000000000       no

Como puede ver en el resultado anterior, la última columna "interconecta" cómo tiene eth0 para el puente "dev".

Nota:si algo sale mal al agregar eth0 al puente "dev", ejecute el siguiente comando desde la consola para eliminar el puente dev.

# brctl delbr dev

Además, tenga en cuenta que si intenta agregar la interfaz de bucle invertido al puente, obtendrá el siguiente comando de argumento no válido.

Como puede imaginar, no puede agregar al puente una interfaz que no existe en el sistema.

# brctl addif dev eth2
interface eth2 does not exist!

5. Agregue varias interfaces al puente existente

En el ejemplo anterior, agregamos solo un dispositivo Ethernet (eth0) al puente.

Pero, la idea general de usar un puente es agregar más interfaces al puente.

En el siguiente ejemplo, agregamos eth0 y eth1 al puente "dev".

# brctl addif dev eth0 eth1

Como puede ver en el siguiente resultado, para el puente de desarrollo vemos dos líneas. En la última columna "interfaces", vemos tanto eth0 como eth1 para el puente ethernet "dev".

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.0050568954bc       no              eth0
                                                        eth1
prod            8000.000000000000       no

Nota:si una interfaz de Ethernet en particular ya es parte de un puente, entonces no puede agregarla a otro puente.

Básicamente, una red puede ser parte de un solo puente. De lo contrario, obtendremos el siguiente mensaje de error cuando intentemos agregarlo a otro puente.

# brctl addif prod eth1
device eth1 is already a member of a bridge; can't enslave it to bridge prod

6. Seguimiento de la dirección MAC de un Bridge

Usando brctl showmacs, podemos ver todas las direcciones MAC aprendidas de un puente.

En el siguiente ejemplo, a partir de ahora, las siguientes son las dos direcciones mac que se conectaron al puente ethernet "prod". Estos datos seguirán cambiando dependiendo del estado actual de lo que está conectado al puente.

# brctl showmacs prod
port no mac addr                is local?       ageing timer
1       00:50:56:89:54:bc       yes                0.00
2       00:60:50:46:bc:40       no                 0.00

7. Establecer el tiempo de caducidad de la dirección Mac en un puente

En el siguiente ejemplo, estamos configurando el tiempo de caducidad de la dirección mac en 120 segundos en el puente ethernet "dev".

brctl setaging dev 120

En lo anterior:

  • dev es el nombre del puente donde estamos configurando este valor
  • 120 son segundos
  • Entonces, si no se ve un marco para el puente "dev" en 120 segundos, entonces el puente "dev" eliminará la dirección mac de la base de datos de reenvío.

8. Configurar el árbol de expansión en el puente Ethernet

Usando brctl stp, podemos configurar el árbol de expansión en el puente ethernet.

Pero por defecto, el árbol de expansión no está habilitado cuando creamos un puente.

El árbol de expansión es útil cuando tiene varios puentes en su red y todos pueden colaborar para encontrar la ruta más corta entre dos ethernets.

En el siguiente ejemplo, estamos activando el árbol de expansión en el puente Ethernet "dev".

Podemos usar on o yes para habilitar el árbol de expansión. Entonces, los dos comandos siguientes harán exactamente lo mismo.

brctl stp dev on

brctl stp dev yes

Como puede ver en el siguiente resultado del programa, los valores en la columna "STP habilitado" para el puente "dev" ahora son "sí".

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       yes
prod            8000.000000000000       no

Para desactivar el árbol de expansión en su puente ethernet, haga lo siguiente:

# brctl stp dev off

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no

9. Mostrar valores de parámetros STP de un puente

STP significa Protocolo de árbol de expansión.

Una vez que haya habilitado stp en su puente, puede usar showstp como se muestra a continuación para ver todos los valores de parámetros de stp de su puente.

Lo siguiente mostrará el parámetro stp y su valor actual para el puente "dev".

# brctl showstp dev
dev
 bridge id              000a.000000000000
 designated root        000a.000000000000
 root port                 0       path cost                  0
 max age                  19.99    bridge max age            19.99
 hello time                1.99    bridge hello time          1.99
 forward delay            14.99    bridge forward delay      14.99
 ageing time             299.95
 hello timer               0.00    tcn timer                  0.00
 topology change timer     0.00    gc timer                   0.00
 hash elasticity           4       hash max                 512
 mc last member count      2       mc init query count        2
 mc router                 1       mc snooping                1
 mc last member timer      0.99    mc membership timer      259.96
 mc querier timer        254.96    mc query interval        124.98
 mc response interval      9.99    mc init query interval    31.24
 flags

10. Cambiar los valores de los parámetros del puente

Los valores predeterminados del parámetro del árbol de expansión para un puente específico se pueden cambiar. También puede cambiar otros valores de parámetros del puente que creó.

Todos los siguientes comandos set mencionados en la siguiente tabla comienzan con brctl. Por ejemplo:

brctl setageing dev 100

La siguiente tabla muestra los comandos set disponibles para brctl. El valor del tiempo está en segundos.

comando brctl Descripción
Tiempo de puesta en escena del puente Establecer tiempo de vencimiento
setbridgeprio puente prio Establecer prioridad de puente (entre 0 y 65535)
tiempo de puente setfd Establecer retardo de reenvío de puente
hora del puente sethello Establecer tiempo de saludo
establecer el tiempo de puente máximo Establecer la edad máxima del mensaje
configuración de la hora del puente Establecer el intervalo de recolección de basura en segundos
puente sethashel int Establecer elasticidad hash
puente sethashmax int Establecer hash máximo
setmclmc puente int Establecer recuento de últimos miembros de multidifusión
setmcrouter bridge int Establecer enrutador de multidifusión
setmcsnoop puente int Establecer indagación de multidifusión
setmcsqc puente int Establecer el recuento de consultas de inicio de multidifusión
tiempo de puente setmclmi Establecer el intervalo del último miembro de multidifusión
tiempo de puente setmcmi Establecer intervalo de membresía de multidifusión
establecer tiempo de puente mcqpi Establecer intervalo de consulta de multidifusión
establecer tiempo de puente mcqi Establecer intervalo de consulta de multidifusión
establecer tiempo de puente mcqri Establecer intervalo de respuesta de consulta de multidifusión
establecer tiempo de puente mcqri Establecer intervalo de consulta de inicio de multidifusión
setpathcost costo del puerto puente Establecer costo de ruta
setportprio puente puerto prio Establecer prioridad de puerto (entre 0 y 255)
setportmcrouter puente puerto int Establecer enrutador de multidifusión de puerto
puente sethashel int Establecer valor de elasticidad hash

.


Linux
  1. 12 ejemplos de comandos IP para usuarios de Linux

  2. Comando killall de Linux para principiantes (8 ejemplos)

  3. 7 ejemplos de comandos Linux df

  4. 17 ejemplos de comandos hpacucli para Linux en servidores HP

  5. Ejemplos de comandos dsniff en Linux

Comando de localización de Linux para principiantes (8 ejemplos)

16 ejemplos prácticos del comando Linux LS para principiantes

Comando mv de Linux explicado para principiantes (8 ejemplos)

Más de 15 ejemplos para el comando cURL de Linux

10 ejemplos del comando ss de Linux para monitorear conexiones de red

Ejemplos de comandos ifconfig de Linux