¿Por qué asignar direcciones MAC e IP en la interfaz Bridge?

18

Digamos que crear una interfaz de puente en Linux ( br0) y añadir a ella algunas interfaces ( eth0, tap0, etc.). Entiendo que esta interfaz actúa como un conmutador virtual con todas sus interfaces / puertos que agrego.

¿Cuál es el significado de asignar un MAC y una dirección IP a esa interfaz? ¿La interfaz actúa como un puerto adicional en el conmutador / puente que permite que otros puertos accedan a la máquina host?

He visto algunas páginas hablar sobre la asignación de una dirección IP a un puente. ¿La asignación de MAC está implícita (o automática)?

Degradado
fuente
Esta es una pregunta relacionada
chus

Respuestas:

16

Debido a que un puente es un dispositivo ethernet, necesita una dirección MAC. Un puente de Linux puede originar cosas como tramas de protocolo de árbol de expansión, y un tráfico como ese necesita una dirección MAC de origen.

Un puente no requiere una dirección IP. Hay muchas situaciones en las que no tendrás una. Sin embargo, en muchos casos puede tener uno, como:

  • Cuando el puente actúa como la puerta de enlace predeterminada para un grupo de contenedores o máquinas virtuales (o incluso interfaces físicas). En este caso, necesita una dirección IP (porque el enrutamiento ocurre en la capa IP).

  • Cuando su NIC "primaria" es miembro del puente, de modo que el puente es su conectividad con el mundo exterior. En este caso, en lugar de asignar una dirección IP a (por ejemplo) eth0, debería asignarla al dispositivo puente.

Si el puente no es necesario para el enrutamiento IP, entonces no necesita una dirección IP. Ejemplos de esta situación incluyen:

  • Cuando el puente se está utilizando para crear una red privada de dispositivos sin conectividad externa, o con conectividad externa provista a través de un dispositivo que no sea el puente.
larsks
fuente
1
"Debido a que un puente es un dispositivo Ethernet, necesita una dirección MAC". ¿Por qué? Los dispositivos conectados a los puentes tienen direcciones MAC. Pero no creo que el puente en sí lo necesite. En cuanto al resto de la respuesta, ¿eso significa que la interfaz del puente actúa como un "puerto" adicional en el puente que permite que otros puertos accedan a la máquina host?
Gradiente
El puente puede originar tramas Ethernet, por lo que necesita una dirección. Re: la segunda parte de tu pregunta ... seguro.
larsks
2
¿Pero es obligatorio que la interfaz del puente tenga una dirección MAC? Quiero decir, un conmutador físico no tiene que tener una dirección MAC para hacer su trabajo, ¿verdad? Entonces, creo que la interfaz tampoco requiere una.
Gradiente
3
Un puente simple es efectivamente un conmutador de dos puertos, por lo que no necesariamente necesita ninguna dirección. Un puente simple no origina tramas, solo recibe una trama en un puerto y lo reenvía al otro puerto, o lo deja caer.
Johan Myréen
"De modo que el puente sea su conectividad con el mundo exterior". ¿Por qué? ¿Por qué la NIC primaria no puede seguir siendo la conexión con el mundo exterior? Los puentes de hardware reales también mantienen la dirección IP de los socios de enlace reales conectados a ellos. ¿Por qué no el puente virtual de Linux?
Johannes Schaub - litb
6

Sí, la interfaz del puente actúa como un puerto adicional.

Después man 5 systemd.netdev:

Un dispositivo puente es un conmutador de software, y cada uno de sus dispositivos esclavos y el puente en sí son puertos del conmutador.

ciastek
fuente