¿Cómo puedo conectar dos interfaces con ip / iproute2?

Respuestas:

26

Puede usar el bridgeobjeto ip del ipcomando, o el bridgecomando que forma parte del iproute2paquete.

Manipulación básica de enlaces

Para crear un puente llamado br0, que tenga eth0y eth1como miembros:

ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev eth0 master br0
ip link set dev eth1 master br0

Para eliminar una interfaz del puente:

ip link set dev eth0 nomaster

Y finalmente, para destruir un puente después de que no haya una interfaz miembro:

ip link del br0

Manipulación de reenvío

Para manipular otros aspectos del puente como la FDB ( Base de datos de reenvío ), le sugiero que eche un vistazo al bridge(8) comando . Ejemplos:

Mostrar base de datos de reenvío en br0

bridge fdb show dev br0

Inhabilite un puerto ( eth0) del procesamiento de BPDU . Esto hará que la interfaz filtre cualquier bpdu entrante

bridge link set dev eth0 guard on

Establecer el costo STP en un puerto ( eth1por ejemplo):

bridge link set dev eth1 cost 4

Para configurar la protección raíz en eth1:

bridge link set dev eth1 root_block on

El costo se calcula utilizando algunos factores, y la velocidad del enlace es uno de ellos. Usar un costo fijo e inhabilitar el procesamiento de BPDU y habilitar root_block es de alguna manera similar a una guard-rootcaracterística de los conmutadores.

Otras características como el modo vepa, veb y horquilla se pueden encontrar en la bridge linklista de subcomandos.

Manipulación de reglas de VLAN

El vlanobjeto del comando bridge le permitirá crear filtros de entrada / salida en puentes.

Para mostrar si hay filtros de entrada / salida de vlan:

bridge vlan show

Para agregar reglas a una interfaz determinada:

bridge vlan add dev eth1 <vid, pvid, untagged, self, master>

Para eliminar las reglas. Use los mismos parámetros que vlan addal final del comando para eliminar una regla específica.

bridge vlan delete dev eth1

Cosas relacionadas:

Comunidad
fuente
Hay un par de parámetros de puente que no puede establecer con la bridgeutilidad, por ejemplo ip link set br0 type bridge stp_state 1, puede ver más conip link help bridge
Cheetah
2

El equivalente de brctl showes bridge link. Puede mostrar el estado del puente por dispositivo con bridge link show dev eth0pero bridge mira la interfaz de red y le dice a qué puente pertenece, no a qué interfaces de red pertenece un determinado puente.

No parece haber un equivalente a brctl show br0.

Dominik Heidler
fuente