GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi attribuer des adresses MAC et IP sur l'interface Bridge

Comme un pont est un périphérique Ethernet, il a besoin d'une adresse MAC. Un pont Linux peut générer des éléments tels que des trames de protocole Spanning Tree, et ce type de trafic nécessite une adresse MAC d'origine.

Un pont ne nécessite pas une adresse IP. Il existe de nombreuses situations dans lesquelles vous n'en aurez pas. Cependant, dans de nombreux cas, vous pouvez en avoir un, comme :

  • Lorsque le pont agit comme passerelle par défaut pour un groupe de conteneurs ou de machines virtuelles (ou même d'interfaces physiques). Dans ce cas, il a besoin d'une adresse IP (car le routage se fait au niveau de la couche IP).

  • Lorsque votre carte réseau "principale" est membre du pont, de sorte que le pont est votre connectivité au monde extérieur. Dans ce cas, plutôt que d'attribuer une adresse IP à (par exemple) eth0 , vous l'attribuerez plutôt au périphérique de pont.

Si le pont n'est pas requis pour le routage IP, il n'a pas besoin d'adresse IP. Voici des exemples de cette situation :

  • Lorsque le pont est utilisé pour créer un réseau privé d'appareils sans connectivité externe, ou avec une connectivité externe fournie via un appareil autre que le pont.

Oui, l'interface de pont agit comme un port supplémentaire.

Après man 5 systemd.netdev :

Un périphérique pont est un commutateur logiciel, et chacun de ses périphériques esclaves et le pont lui-même sont des ports du commutateur.


Le périphérique de pont répertorié avec vos autres périphériques réseau ne représente pas le pont virtuel, il représente une carte réseau virtuelle connectée au pont. Si vous aviez un pont physique connecté à des périphériques réseau physiques, vous ne verriez pas non plus le pont physique répertorié dans vos périphériques réseau - mais vous verriez votre carte réseau connectée au pont, qui a bien sûr sa propre adresse MAC comme tout autre périphérique réseau.

L'attribution d'une adresse IP au périphérique de pont (qui, encore une fois, est en fait une carte réseau virtuelle connectée au pont virtuel) permet à votre périphérique hôte d'acheminer les paquets vers le sous-réseau créé par le pont et tous les périphériques qui y sont connectés. Parfait !

Lors de la mise en réseau d'outils de périphérique tels que iproute2 (avec le ip link et ip addr commandes) vous permettent de voir la carte réseau virtuelle attachée au pont, il est également possible de voir le pont virtuel lui-même avec le brctl programme. Le brctl show La commande listera tous les ponts et leurs interfaces attachées. Voici un exemple utilisant iproute et brctl avec les ponts Linux et tuntap :

# ip link add br0 type bridge
# ip tuntap add dev tap0 mode tap
# ip tuntap add dev tap1 mode tap
# ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev br0
# ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev tap0
# ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev tap1
# brctl addif br0 tap0
# brctl addif br0 tap1
# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.2e22e593fe8c       no              tap0
                                                        tap1
# ip addr show to 10.0.0.0/24
11: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    inet 10.0.0.1/24 brd 10.0.0.255 scope global br0
       valid_lft forever preferred_lft forever
12: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
    inet 10.0.0.2/24 brd 10.0.0.255 scope global tap0
       valid_lft forever preferred_lft forever
13: tap1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
    inet 10.0.0.3/24 brd 10.0.0.255 scope global tap1
       valid_lft forever preferred_lft forever

Notez que ce qui est répertorié sous "interfaces" dans la sortie de brctl show sont les autres interfaces attachées au pont, en plus du br0 interface ajoutée automatiquement lors de la création du pont. (Je suppose que Linux n'autorise pas la création d'un pont virtuel sans périphérique connecté, et les ponts sans périphérique sont automatiquement détruits.) Pour mémoire, je n'ai pas étudié cela dans le noyau, et je ne suis pas non plus un expert en réseau. J'ai posté ceci parce qu'il semble expliquer de manière convaincante l'implémentation plutôt déroutante des ponts virtuels sous Linux. Je ne crois pas que les ponts virtuels eux-mêmes aient même des adresses MAC.


Linux
  1. Hachage de mot de passe et pourquoi nous en avons besoin

  2. Comment attribuer plusieurs adresses IP à une seule interface réseau sur CentOS 8

  3. Linux - Pourquoi utilisons-nous Su - Et pas seulement Su ?

  4. Pourquoi est-ce Rm -rf et non Rmdir -rf ?

  5. Comment créer une interface de pont à l'aide de nmcli dans CentOS/RHEL 7 et 8

Linux vs Mac :7 raisons pour lesquelles Linux est un meilleur choix que Mac

Qu'est-ce qu'une machine virtuelle et pourquoi l'utiliser ?

Linux vs Mac OS :15 raisons d'utiliser Linux au lieu de Mac OS

Pourquoi Deis et qu'est-ce que c'est ?

Interface ruban pour GTK et Qt

Pourquoi le port 1111 est-il ouvert et est-il sûr de l'être ?